Hashcat es un descifrador de contraseñas popular y eficaz ampliamente utilizado tanto por probadores de penetración como por administradores de sistemas, así como por delincuentes y espías.
Su funcionamiento básicamente consiste en utilizar diccionarios precalculados, tablas y métodos de fuerza bruta para tratar de encontrar una forma eficaz y eficiente de descifrar contraseñas.
Estas contraseñas son procesadas por un algoritmo para crear los hash. Existen diversas clases de algoritmos, pero lo que tenemos que tener en cuenta es que descifrar un hash es inviable, ya que se necesitaria una gran potencia computacional y mucho tiempo para tratar de descifrarlo.
En cambio, HashCat no trata de descifrar el hash, simplemente comprueba las miles de palabras y hashes que tienen guardados en su base de datos hasta dar con el mismo que le hemos introducido. Este proceso es mucho más rápido ya que la herramienta cuenta con grandes librerias actualizadas.
Para instalar en cualquier distribución debian:
sudo apt install hashcat
En Kali Linux y ParrotOS suele venir instalada de forma predeterminada.
Para ver las distintas optiones y como ejecutar la herramienta:
hashcat --help
Para ejecutar la herramienta, debemos especificar en que algoritmo esta basado el hash, esto podemos verlo meidante la herramientas HashID o Hash-Identifier.
Crearemos un archivo, por ejemplo ‘hash2’ y pegamos el número hash que queremos descifrar.
nano hash2
Guardamos (Cntrl + o) y salimos (Cntrl + x).
Para ejecutar HashCat de forma básica:
hashcat -a 0 -m 0 hash2 /usr/share/rockyou.txt
-a : Attack-mode. El 0 representa el modo ‘Straight’.
-m : Hash-type. El 0 representa MD5. Esto lo podemos ver con el comando hashcat --help
.
hash2 : Nombre del archivo que contiene el hash que queremos descifrar.
rockyou.txt : Es un diccionario con más de 14 millones de contraseñas y hashes.