Identificar Hashes con Hashid en Kali
Identificar Hashes con Hashid en Kali
Hablemos de hashid, una herramienta esencial si estás metido en el mundo del hacking ético o la seguridad informática.
¿Qué es hashid?
hashid es una herramienta escrita en Python que se utiliza para identificar los diferentes tipos de hashes utilizados para cifrar datos (como contraseñas). En Kali Linux, es el primer paso antes de intentar romper una contraseña con herramientas como John the Ripper o Hashcat.
Imagina que tienes una cadena de texto como 5e884898da28047151d0e56f8dc6292773603d0d6aabbdd62a11ef721d1542d8. A simple vista, es difícil saber qué algoritmo la creó. hashid analiza la longitud y el formato para decirte: "Oye, esto probablemente sea SHA-256".
Cómo usar hashid en Kali Linux
La sintaxis es bastante directa. Aquí tienes los comandos más comunes:
Identificación básica:
hashid [tu_hash_aquí]Identificar y mostrar el modo de Hashcat:
hashid -m [tu_hash_aquí](Esto es súper útil porque te da el número de código exacto que necesitas para usar en Hashcat).
Identificar y mostrar el formato de John the Ripper:
hashid -j [tu_hash_aquí]
Ejemplo práctico
Si ejecutas el siguiente comando en tu terminal:
hashid -m b10a8db164e0754105b7a99be72e3fe5
La salida será algo así:
Analyzing 'b10a8db164e0754105b7a99be72e3fe5'
[+] MD5 [Hashcat Mode: 0]
[+] Domain Cached Credentials - MD4 [Hashcat Mode: 1100]
Por qué es importante
Identificar el hash correctamente te ahorra horas de trabajo. Si intentas "crackear" un hash pensando que es MD5 cuando en realidad es SHA-1, tus herramientas nunca encontrarán la solución.
Nota importante: hashid te da probabilidades. Algunos hashes tienen la misma longitud y estructura, por lo que la herramienta puede listarte varias opciones posibles.
¡Claro! Vamos a jugar con un ejemplo real. Aquí tienes un hash que suele aparecer mucho en ejercicios de CTF (Capture The Flag) o auditorías de bases de datos antiguas:
21232f297a57a5a743894a0e4a801fc3
Si quieres probarlo ahora mismo en tu terminal de Kali, escribe esto:
hashid -m 21232f297a57a5a743894a0e4a801fc3
Análisis del resultado
Cuando ejecutes ese comando, verás que hashid te da varias opciones, pero la más probable es MD5.
Aquí te explico qué significa la información que te arroja:
MD5: Es el algoritmo. Es un hash de 128 bits, representado por 32 caracteres hexadecimales. Hoy en día se considera inseguro porque es muy rápido de procesar (se pueden probar billones de combinaciones por segundo).
Hashcat Mode: 0: Este número es oro puro. Si decides usar Hashcat para descifrarlo, no tienes que adivinar el comando; simplemente usas
-m 0.
¿Qué hay dentro de ese hash?
Como es un ejemplo clásico, te puedo decir que el texto plano de ese hash es simplemente la palabra: admin.
Otro ejemplo más complejo (SHA-256)
Prueba este otro, que es mucho más largo y seguro (usado en Bitcoin y contraseñas modernas):
8c6976e5b5410415bde908bd4dee15dfb167a9c873fc4bb8a81f6f2ab448a918
Si lo pasas por hashid, verás que el Hashcat Mode cambia a 1400.
En el mundo de la ciberseguridad, la eficiencia es clave. No queremos copiar y pegar hashes a mano; queremos automatizar el flujo desde la identificación hasta el ataque.
Para pasar de hashid a un ataque real con Hashcat usando un diccionario (como el famoso rockyou.txt), el proceso se ve así:
1. Guardar el hash en un archivo
Primero, guarda el hash que quieres romper en un archivo de texto simple.
echo "21232f297a57a5a743894a0e4a801fc3" > mi_hash.txt
2. Identificar el modo (El paso de hashid)
Usas hashid para confirmar qué número de modo usarás en Hashcat.
hashid -m $(cat mi_hash.txt)
Resultado: Te dirá que es MD5 y que el Hashcat Mode es 0.
3. Ejecutar el ataque con Hashcat
Ahora que sabes que el modo es 0, lanzas el ataque. Aquí tienes la estructura del comando:
hashcat -m 0 -a 0 mi_hash.txt /usr/share/wordlists/rockyou.txt
Desglose del comando:
-m 0: El modo que nos diohashid(MD5).-a 0: Tipo de ataque "Straight" (usa un diccionario palabra por palabra).mi_hash.txt: El archivo con tu hash./usr/share/wordlists/rockyou.txt: La ruta al diccionario más famoso de Kali Linux.
Tip Pro: Automatización rápida
Si tienes mucha prisa y confías en la primera opción de hashid, podrías intentar extraer el modo dinámicamente, aunque lo más seguro es hacerlo manualmente para no equivocarte de algoritmo.
¿Qué pasa si el hash tiene "Salt"?
A veces hashid te dirá que el hash puede tener un Salt (un añadido extra para hacerlo más seguro). En esos casos, el formato del archivo mi_hash.txt debe cambiar a algo como hash:salt.