Saltearse al contenido

hashcat & John

hashcat y John the Ripper son las herramientas de cracking de contraseñas de referencia. hashcat usa la GPU (rapidísimo); John destaca en CPU y formatos exóticos. Se usan para auditar contraseñas y en pentest/CTF para romper hashes capturados (ver Hashing & cracking, Volcado de credenciales).

# estructura: hashcat -m <modo> -a <ataque> hashes.txt <diccionario/máscara>
hashcat -m 0 hashes.txt rockyou.txt # MD5 + diccionario
hashcat -m 1000 ntlm.txt rockyou.txt -r rules/best64.rule # NTLM + reglas
hashcat -m 22000 hs.hc22000 rockyou.txt # WPA/WPA2 (ver wireless)
hashcat -m 1000 ntlm.txt -a 3 '?u?l?l?l?l?d?d' # máscara (fuerza bruta estructurada)
hashcat --identify hashes.txt # ayuda a detectar el modo
0 MD5 100 SHA1 1400 SHA256
1000 NTLM 1800 sha512crypt 3200 bcrypt
5600 NetNTLMv2 (responder, ver ad-llmnr) 13100 Kerberoast TGS (ver ad-kerberos)
18200 AS-REP (ver ad-kerberos) 22000 WPA-PBKDF2 (ver wireless)
0 diccionario (wordlist) + reglas (-r) para mutaciones
3 máscara / fuerza bruta ?l min, ?u may, ?d dígito, ?s símbolo, ?a todo
6 híbrido wordlist+máscara 7 híbrido máscara+wordlist
# estrategia: diccionario+reglas primero (rentable), máscaras después
john --wordlist=rockyou.txt --format=nt hashes.txt # crackear
john --show hashes.txt # ver crackeadas
# "jumbo" trae cientos de formatos y utilidades *2john (zip2john, ssh2john, etc.)
zip2john fichero.zip > hash ; john hash # romper un zip con contraseña
- rockyou.txt como base; SecLists para más opciones
- reglas (best64, dive, OneRuleToRuleThemAll) -> multiplican el diccionario con mutaciones
- máscaras para patrones conocidos (p. ej. Empresa2024!) cuando el diccionario falla
  • hashcat (GPU) para volumen; John (jumbo) para formatos exóticos y utilidades *2john.
  • Estrategia: diccionario + reglas primero (rentable), luego máscaras por patrones.
  • Para hashes de AD (NetNTLMv2, Kerberoast, AS-REP) ver ad-llmnr/ad-kerberos; para WPA, wireless.
  • Defensa: contraseñas Argon2/bcrypt y largas (Hashing & cracking) hacen inviable el cracking.
  • Identifica bien el modo (-m) del hash antes de nada; un modo equivocado no crackea aunque la pass sea trivial.
  • Empieza por diccionario + reglas (best64, OneRuleToRuleThemAll) antes de la fuerza bruta pura.
  • Error típico: lanzarlo en una VM sin GPU; hashcat rinde en GPU real. Usa --status y --restore en sesiones largas.
  • Para Kerberoasting/NTLM usa los modos correctos (13100 TGS-REP, 1000 NTLM) y máscaras según la política de contraseñas.
  • Identificar el tipo de hash (—identify / hashid)
  • Elegir el modo -m correcto
  • Diccionario (rockyou) + reglas (best64) primero
  • Máscaras por patrones si el diccionario falla
  • Formatos AD/WPA con el modo adecuado (ad-*/wireless)
  • John jumbo + *2john para zip/ssh/office
  • Verificar defensa: hashing lento + salt (Hashing & cracking)