FindMyHash

Hola a todos. En el post de hoy vamos a hablar del script findmyhash.py. Este script escrito en Python nos puede ayudar a crackear diferentes tipos de hashes utilizando únicamente servicios online gratuitos, sin tener que realizar el coste comunicacional de tener que romperlos, es decir, actúa a modo de buscador, dado un hash nos devuelve la contraseña correspondiente a dicho hash sin tener que calcularlo, la búsqueda la realiza sobre diferentes fuentes y si no tiene éxito puedes indicarle que lo busque en Google directamente.

En versiones antiguas del sistema operativo Kali Linux venía como herramienta ya instalada por defecto. En el momento en el que estoy escribiendo estas líneas la versión más reciente de Kali Linux es la del año 2020, en esta versión ya no viene preinstalada por defecto, esto es debido a que lleva varios años sin actualizar y está en desuso.

Otro inciso antes de continuar es el hecho de que script al haber sido desarrollado hace ya algunos años funciona bajo Python 2, por lo que no funcionará con Python 3, esta es otra de las razones por la que ya no se usa tanto la herramienta. Pero como veremos a continuación, aunque el script tiene ya algunos años y tiene sus inconvenientes, también tiene sus cosas buenas que nos pueden ayudar a ir más rápido en nuestras tareas de pentesting.

Al ser un script escrito en Python, puede ser ejecutado en el sistema operativo que queramos, incluido Windows. Para poder descargar el script podemos clonar su repositorio de GitHub o descargarlo desde su repositorio oficial en Google Code. No requiere de instalación, pero si debemos de tener Python 2 instalado para poder ejecutar el script.

Una vez lo tengamos descargado podremos utilizarlo con la siguiente sintaxis en la línea de comandos:

python findmyhash.py algorithm OPTIONS

Los algoritmos aceptados por este script son los siguientes:

  • MD4 – RFC 1320
  • MD5 – RFC 1321
  • SHA1 – RFC 3174 (FIPS 180-3)
  • SHA224 – RFC 3874 (FIPS 180-3)
  • SHA256 – FIPS 180-3
  • SHA384 – FIPS 180-3
  • SHA512 – FIPS 180-3
  • RMD160 – RFC 2857
  • GOST – RFC 583
  • WHIRLPOOL – ISO/IEC 10118-3:2004
  • LM – Microsoft Windows hash NTLM – Microsoft Windows hash
  • MYSQL – MySQL 3, 4, 5 hash
  • CISCO7 – Cisco IOS type 7 encrypted passwords
  • JUNIPER – Juniper Networks $9$ encrypted passwords
  • LDAP_MD5 – MD5 Base64 encoded
  • LDAP_SHA1 – SHA1 Base64 encoded

Dentro de las opciones encontramos las siguiente:

  -h <hash_value> Para crackear solamente un único hash

 

  -f <file>        Nos permite crackear varios hashes contenidos en un fichero. Cada hash en una fila.

                   NOTA: Todos los hashes tienen que ser el mismo tipo.

 

  -g               Si no se puede crackear, buscar en Google y mostrar los resultados encontrados.

                   NOTA: Esta opción solo se puede usar junto con la opción -h y no con la opción -f

Nota: cuando en la documentación se indica que intenta crackear a lo que de verdad de refiere es a buscar en diferentes fuentes.

Si durante la ejecución os muestra este error:

Solo deberéis de instalar la librería que falta con el siguiente comando:

Probando a crackear un hash de tipo SHA512 como el siguiente no obtenemos resultados:


Ahora vamos a probar con una hash mucho más fácil y sencillo, el cual es un MD5 para la contraseña 12345678, el resultado es el siguiente:

Como veis es una herramienta muy útil para probar a crackear hashes de manera rápida, siempre y cuando sean comunes y sencillos, lo que por desgracia suele ocurrir con más frecuencia de la que debería. Además, este script no necesita de grandes capacidades computacionales, por lo que se puede utilizar desde cualquier dispositivo.

A continuación, os dejo con el contacto de los desarrolladores del script:

[Web]           http://laxmarcaellugar.blogspot.com/
[Mail/Google+]  bloglaxmarcaellugar@gmail.com
[twitter]       @laXmarcaellugar

Gracias por leer hasta aquí, un saludo & happy cracking :)

Comentarios

Entradas populares de este blog

Realizando hash con PowerShell

Cracking hashes con Hashcat - 4

Cracking hashes con Hashcat - 2