Descifrado de Contraseñas y Técnicas (Hashes, Rainbow Tables, Salting)

Las contraseñas suelen almacenarse en forma de hashes para protegerlas en caso de fuga de datos.

👉 Un hash es una función matemática que convierte datos de longitud arbitraria en un valor de tamaño fijo (ej: MD5, SHA-256).

Ejemplo con la contraseña Soccer06!:

echo -n 'unai' | sha1sum

echo -n 'unai' | md5sum

{34EEE6F6-7494-4815-A572-67DDFEE61BB2}.png

🌈 Tablas Arcoíris (Rainbow Tables)

Ejemplo (MD5):

Contraseña Hash
123456 e10adc3949ba59abbe56e057f20f883e
password 5f4dcc3b5aa765d61d8327deb882cf99
rockyou f806fc5a2a0d5ba2471600758452799c

🔑 Mitigación: Salting

Ejemplo:

echo -n Th1sIsTh3S@unai | md5sum

El resultado ya no coincide con ninguna tabla arcoíris normal, porque estas tablas solo tienen el hash de la contraseña sin sal.

⚡ El punto clave:

📚 Ataque de Diccionario (Wordlist Attack)

Ejemplo: wordlist rockyou.txt (14M contraseñas reales filtradas en 2009):

head --lines=20 /usr/share/wordlists/rockyou.txt

{691424B9-7A22-4AF0-A086-20F1E6392106}.png