hashcracker es una herramienta escrita en Python para desencriptar Hashes: SHA512, SHA256, SHA384, SHA1, MD5 ya sea por fuerza bruta o lista de contraseñas (diccionario)
Anteriormente, revisamos Comprender el Hashing en la Criptografía (Enfoque práctico). Puedes revisarlo para que tengas una idea en caso conozcas poco sobre hash. Para el ejemplo práctico descifraremos un hash en MD5. Puedes usar el programa usado en el artículo anterior, usar la terminal o un servicio online de hash.
De hashcracker:
- Algoritmos hashing soportados: SHA512, SHA256, SHA384, SHA1, MD5
- Características: detección automática del algoritmo hash basado en la longitud (no recomendado), fuerza bruta, lista de contraseñas
Instalación y uso de hashcracker
Ejecuta los siguientes comandos para traer el script de hashcracker a tu PC y ejecutarlo:}
git clone https://github.com/Bot3939/hashcracker.git
cd source/
- Para ver los comandos disponibles, ejecuta el parámetro
-h
:
python3 hashcracker.py -h
Argumentos:
type
: algoritmo hash (debe ser uno de los algoritmos hash soportados mencionados anteriormente o AUTO si se desea utilizar la detección automática de algoritmos)hash
: puede ser la contraseña hash, o un archivo de texto que contenga una lista de hashes a descifrar (la lista hash debe ser activada si el hash es un archivo de texto que contiene múltiples hashes)mode
: lista o fuerza brutapwlist
: lista de contraseñas para comparar con un solo hash o una lista de hashesrange
: rango de longitud del string de fuerza bruta (por defecto: 8-11)hashlist
: no se requieren parámetros para este argumento, si se usahashlist
, entonces el hash debe ser un archivo de texto con más de 1 hashchars
: cadena de caracteres a elegir para generar cadenas aleatorias para la fuerza bruta (el valor por defecto es:abcdefghijklmnopqrstuvwxyzABCDEFGHJIKLMNOPQRSTUVWXYZ0123456789)
Entonces, aquí algunos ejemplos:
Puedes ejecutar los siguientes comandos para probar y/o crear un hash a partir de texto desde la terminal Linux:
echo -n "texto a cifrar" | [algorimo_Hash]
- Romper un MD5 de contraseña ‘
root
‘:
python3 hashcracker.py -mode bruteforce -range 4 5 -chars root1528 MD5 63a9f0ea7bb98050796b649e85481845
- Romper un SHA256 de contraseña ‘
root
‘:
python3 hashcracker.py -mode bruteforce -range 4 5 -chars root1528 SHA256 4813494d137e1631bba301d5acab6e7bb7aa74ce1185d456565ef51d737677b2
- Descifrar cualquier hash SHA256 con fuerza bruta: (Para el ejemplo, la contraseña es
esgeeks
y he limitado los caracteres)
python3 hashcracker.py -mode bruteforce -range 7 8 -chars egks SHA256 61ebcf2e5aff40ab6df13e43d83d0d27f54ec309b11204560e90a26cee270070
- Descifrar un solo hash con una lista de contraseñas:
python3 hashcracker.py SHA256 11a1162b984fef626ecc27c659a8b0eead5248ca867a6a87bea72f8a8706109d -mode list -pwlist passwordlist.txt
- Descifrar una lista de hashes con una lista de contraseñas:
python3 hashcracker.py MD5 lista_hashes.txt -mode list -pwlist passwords.txt -hashlist
Artículos recomendados:
- Comprender el Hashing en la Criptografía (Enfoque práctico)
- 5 Formas de Crear Diccionario para Fuerza Bruta
- Cómo descifrar contraseñas ZIP en Windows y Linux