Geekflare recibe el apoyo de nuestra audiencia. Podemos ganar comisiones de afiliación de los enlaces de compra en este sitio.
En Seguridad Última actualización: 25 de septiembre de 2023
Compartir en:
Escáner de seguridad de aplicaciones web Invicti - la única solución que ofrece verificación automática de vulnerabilidades con Proof-Based Scanning™.

En el hacking ético y las pruebas de penetración, el descifrado de contraseñas es crucial para obtener acceso a un sistema o un servidor

En los sistemas y bases de datos, las contraseñas rara vez se guardan en forma de texto plano

Las contraseñas siempre se someten a un hash antes de almacenarse en la base de datos, y el hash se compara durante el proceso de verificación.

Dependiendo del cifrado empleado, los distintos sistemas almacenan los hashes de las contraseñas de diferentes maneras. Y si dispone de hashes, podrá descifrar fácilmente cualquier contraseña

Y en este artículo, exploraremos cómo descifrar hashes de contraseñas utilizando una práctica y excelente herramienta de línea de comandos Hashcat

Así que empecemos

Pero antes..

¿Qué es una función Hash?

El hash es el proceso de convertir un texto de entrada normal en una cadena de texto de tamaño fijo utilizando alguna función matemática que se conoce como función hash. Cualquier texto, independientemente de su longitud, puede convertirse en una combinación aleatoria de números enteros y alfabetos mediante un algoritmo

hash

  • La entrada se refiere al mensaje que será convertido en hash.
  • La función hash es el algoritmo de cifrado como MD5 y SHA-256 que convierte una cadena en un valor hash.
  • Y finalmente, el valor hash es el resultado.

¿Qué es Hashcat?

Hashcat es la herramienta de recuperación de contraseñas más rápida. Fue diseñada para romper las contraseñas de alta complejidad en poco tiempo. Y esta herramienta también es capaz tanto de ataques de lista de palabras como de fuerza br uta .

Hashcat tiene dos variantes. La basada en CPU y la basada en GPU (Unidad de Procesamiento Gráfico). La herramienta basada en GPU puede descifrar los hashes en menos tiempo que la CPU. Puede comprobar los requisitos del controlador de la GPU en su página web oficial

Características

  • Gratuito y de código abierto
  • Se pueden implementar más de 200 variaciones de tipos de hash.
  • Soporta múltiples sistemas operativos como Linux, Windows y macOS.
  • Soporta multiplataformas como CPU y GPU.
  • Se pueden crackear múltiples hashes al mismo tiempo.
  • Sal hexagonal y hex-charset archivos hijo compatibles, junto con el ajuste automático de rendimiento.
  • Un sistema de evaluación comparativa incorporado está disponible.
  • Se pueden soportar redes de craqueo distribuidas utilizando superposiciones.

Y puede ver otras características también desde su página web

Instalación de Hashcat

En primer lugar, asegúrese de que su sistema Linux está actualizado con los programas y herramientas más recientes

Para ello, abra un terminal y escriba

$ sudo apt update && sudo apt

actualizar
Hashcat suele estar preinstalado en Kali Linux. Puede encontrar la herramienta en la sección de descifrado de contraseñas. Pero si necesita instalarla manualmente en cualquier distribución de Linux, escriba el siguiente comando en el terminal

$ sudo apt-get install hashcat

Uso de la herramienta

Para empezar a utilizar Hashcat, necesitaremos algunos hashes de contraseñas. Si no tiene ningún hash para descifrar, crearemos primero algunos hashes

Para crear hashes utilizando la línea de comandos, sólo tiene que seguir el siguiente formato

echo -n "input" | algoritmo | tr -d "-">>outputfiename

Por ejemplo, puede ver que convertí algunas palabras en hashes utilizando el algoritmo md5 a continuación

┌──(root💀kali)-[/home/escritorio/Desktop]
└─# echo -n "geekflare" | md5sum | tr -d "-">>crackhash.txt
echo -n "password123" | md5sum | tr -d "-">>crackhash.txt
echo -n "Webtechnology" | md5sum | tr -d "-">>crackhash.txt
echo -n "microsoftteams" | md5sum | tr -d "-">>crackhash.txt
echo -n "recyclebin" | md5sum | tr -d "-">>crackhash.txt

Y la salida se guardará en el archivo crackhash.txt

Ahora comprobaremos los hashes que se guardaron en el archivo dado

┌──(root💀kali)-[/home/escritorio/Desktop]
└─# cat crackhash.txt

066d45208667198296e0688629e28b14
482c811da5d5b4bcd497ffeaa98491e3
72a2bc267579aae943326d17e14a8048
2192d208d304b75bcd00b29bc8de5024
caae8dd682acb088ed63e2d492fe1e13

Como puede ver, ahora tenemos algunos hashes que descifrar. Este es el procedimiento para crear un hash utilizando el algoritmo de su elección

El siguiente paso es poner en marcha la herramienta Hashcat en su máquina Linux. Sólo tiene que utilizar el siguiente comando para utilizar Hashcat

$ hashcat --help

Aparecerán todas las opciones que necesitará conocer para ejecutar la herramienta. En el terminal encontrará todos los modos de ataque y de hash

La forma general del comando es

$ hashcat -a num -m num archivo hash archivo wordlist

Aquí el 'num' representa un ataque específico y el modo hash a utilizar. Si se desplaza por el terminal, puede encontrar los números exactos para cada ataque y modo hash, como para md4 - el número es 0, y para el algoritmo sha256 - el número es 1740

La lista de palabras que voy a utilizar es rockyou wordlist. Puede encontrar fácilmente esa lista de palabras en la ruta /usr/share/wordlists

Incluso puede utilizar el comando locate para encontrar esa ruta wordlist

┌──(root💀kali)-[/home/writer]
└─# locate rockyou.txt

Y por último, para descifrar los hashes utilizando el archivo wordlist, utilice el siguiente comando

$ hashcat -a 0 -m 0 ./crackhash.txt rockyou.txt

Tras ejecutar este comando, es posible que obtenga un error de ejecución ( Token length exception error ) que puede resolver fácilmente

hashcat3

Para resolverlo, guarde cada hash por separado en un archivo diferente. Este error se produce si tiene una CPU o GPU de baja velocidad. Si su ordenador tiene un procesador de alta velocidad, puede crackear fácilmente todos los hashes al mismo tiempo como un único archivo en sí

Así que después de arreglar el error y todo, el resultado será así

┌──(root💀kali)-[/home/escritorio/Desktop]
└─# hashcat -a 0 -m 0 hashcrack.txt rockyou.txt
hashcat (v6.1.1) starting...

API OpenCL (OpenCL 1.2 pocl 1.6, None Asserts, LLVM 9.0.1, RELOC, SLEEF, DISTRO, POCL_DEBUG) - Plataforma #1 [El proyecto pocl]
=============================================================================================================================
* Dispositivo #1: pthread-Intel(R) Core(TM) i5-8265U CPU @ 1.60GHz, 2403/2467 MB (1024 MB asignables), 4MCU

Longitud mínima de contraseña soportada por el kernel: 0
Longitud máxima de contraseña admitida por el núcleo: 256

Hashes: 1 digests; 1 unique digests, 1 unique salts
Bitmaps: 16 bits, 65536 entradas, máscara 0x0000ffff, 262144 bytes, 5/13 rotaciones
Reglas: 1

Caché de diccionario construida:
* Nombre de archivo..: rockyou.txt
* Contraseñas.: 14344405
* Bytes.....: 139921671
* Espacio de claves..: 14344398
* Tiempo de ejecución..: 1 seg

8276b0e763d7c9044d255e025fe0c212: geekflare@987654
                                                 
Session..........: hashcat
Status...........: Crackeado
Hash.Name........: MD5
Hash.Target......: 8276b0e763d7c9044d255e025fe0c212
Time.Started.....: Sun Dec 12 08:06:15 2021 (0 secs)
Tiempo.Estimado...: Dom 12 dic 08:06:15 2021 (0 segs)
Adiv.Base.......: Archivo (rockyou.txt)
Adivinar.Cola......: 1/1 (100.00%)
Velocidad.#1.........:  1059.6 kH/s (0.52ms) @ Accel:1024 Loops:1 Thr:1 Vec:8
Recuperado........: 1/1 (100,00%) Digiere
Progreso.........: 4096/14344398 (0,03%)
Rechazados.........: 0/4096 (0.00%)
Restaurar.Punto....: 0/14344398 (0.00%)
Restaurar.Sub.#1...: Sal:0 Amplificador:0-1 Iteración:0-1
Candidatos.#1....: 123456 -> pampam

Iniciado: Dom Dic 12 08:06:13 2021
Detenido:

Dom 12 dic 08

:

06:16 2021
En el resultado anterior, después de los detalles de la caché del diccionario, puede notar, que el hash fue descifrado, y la contraseña fue revelada

Conclusión

Espero que haya comprendido mejor el uso de Hashcat para descifrar contraseñas

Puede que también le interese conocer las distintas herramientas de fuerza bruta para pruebas de penetración y algunas de las mejores herramientas de pentesting.

  • Ashlin Jenifa
    Autor
Gracias a nuestros patrocinadores
Más lecturas sobre seguridad
Potencia tu negocio
Algunas de las herramientas y servicios que le ayudarán a hacer crecer su negocio.
  • Invicti utiliza el Proof-Based Scanning™ para verificar automáticamente las vulnerabilidades identificadas y generar resultados procesables en tan solo unas horas.
    Pruebe Invicti
  • Web scraping, proxy residencial, gestor de proxy, desbloqueador web, rastreador de motores de búsqueda, y todo lo que necesita para recopilar datos web.
    Pruebe Brightdata
  • Monday.com es un sistema operativo de trabajo todo en uno que te ayuda a gestionar proyectos, tareas, trabajo, ventas, CRM, operaciones, flujos de trabajo y mucho más.
    Prueba Monday
  • Intruder es un escáner de vulnerabilidades en línea que encuentra puntos débiles de ciberseguridad en su infraestructura, para evitar costosas violaciones de datos.
    Prueba Intruder