🔐 Introducción a Hashcat

Hashcat es una herramienta popular para descifrar contraseñas en Linux, Windows y macOS. Desde 2009 hasta 2015 fue propietario, y ahora es código abierto. Tiene un gran soporte para GPU y múltiples modos de ataque.


🖥️ Sintaxis básica

hashcat -a <modo_de_ataque> -m <tipo_hash> <hashes> [wordlist, rule, mask, ...]

🔢 Tipos de hash

Primero debemos saber a que tipo de hash nos enfretamos
Hashcat soporta cientos de tipos de hash, cada uno con un ID único.

Ejemplo:

hachcat --help

Algunos IDs comunes:

💡 Consejo: Usa hashID para identificar hashes automáticamente:

hashid -m '$1$FNr44XZC$wQxY6HHLrgrGX0e1195k.1'

🏹 Modos de ataque

1️⃣ Ataque de diccionario (-a 0)

👉 Usa listas de palabras conocidas (ej. rockyou.txt):

hashcat -a 0 -m 0 hash.txt /usr/share/wordlists/rockyou.txt

⚙️ Con reglas (rules) que modifican palabras automáticamente:

hashcat -a 0 -m 0  hash2.txt /usr/share/wordlists/rockyou.txt -r /usr/share/hashcat/rules/best64.rule

📌 best64.rule → 64 modificaciones típicas (agregar números, reemplazar letras por "leet", etc.)


2️⃣ Ataque con máscara (-a 3)

👉 Se define un patrón de caracteres para probar combinaciones más específicas.

Symbol Charset
?l abcdefghijklmnopqrstuvwxyz
?u ABCDEFGHIJKLMNOPQRSTUVWXYZ
?d 0123456789
?h 0123456789abcdef
?H 0123456789ABCDEF
?s «space»!"#$%&'()*+,-./:;<=>?@[]^_`{
?a ?l?u?d?s
?b 0x00 - 0xff
Ejemplo: contraseña con mayúscula, 4 minúsculas, un número y un símbolo:
hashcat -a 3 -m 0  hash3.txt '?u?l?l?l?l?d?s'

{087EC8D8-12B2-4B41-B809-A24D09C32BB1}.png