Filtrar Hashes con --left y --show

Kali LinuxBeginner
Practicar Ahora

Introducción

Hashcat es una herramienta potente y popular para la recuperación de contraseñas. Cuando se trabaja con listas muy grandes de hashes, una sesión de cracking puede llevar mucho tiempo y podría interrumpirse. En estas situaciones, es crucial saber qué hashes ya se han descifrado y cuáles quedan por descifrar.

En este laboratorio, aprenderá a utilizar dos indicadores (flags) esenciales de hashcat: --show y --left. El indicador --show le permite ver las contraseñas que ya se han descifrado con éxito, mientras que el indicador --left le muestra solo los hashes que aún no se han descifrado. Esto le permite gestionar eficazmente sus tareas de cracking de contraseñas.

Iniciar un Ataque a una Lista Grande de Hashes

En este paso, iniciará un ataque de diccionario estándar con hashcat. Hemos preparado dos archivos para usted en el directorio ~/project: hashes.txt, que contiene una lista de hashes MD5, y wordlist.txt, que es un pequeño diccionario de posibles contraseñas.

La estructura básica del comando para un ataque de hashcat es hashcat -m <modo> <archivo_hash> <archivo_lista_palabras>. Usaremos -m 0 para especificar que nuestros hashes son MD5.

Ejecute el siguiente comando en su terminal para iniciar el ataque.

hashcat -m 0 hashes.txt wordlist.txt

Hashcat se iniciará, inicializará su backend y comenzará el proceso de cracking. Verá una pantalla de estado que se actualiza en tiempo real. Déjelo ejecutarse durante unos segundos.

hashcat (v6.2.6) starting

...

Session..........: hashcat
Status...........: Running
Hash.Name........: MD5
Hash.Target......: hashes.txt
Time.Started.....: ...
Time.Estimated...: ...
Guess.Base.......: File (wordlist.txt)
Guess.Queue......: 1/1 (100.00%)
Speed.#1.........:   ... H/s (0.01ms) @ Accel:128 Loops:1 Thr:1 Vec:8
Recovered........: 3/5 (60.00%) Digests
Progress.........: 5/5 (100.00%)
Rejected.........: 0/5 (0.00%)
Restore.Point....: 5/5 (100.00%)
Restore.Sub.#1...: Salt:0 Amplifier:0-1 Iteration:0-1
Candidates.#1....: password -> admin
Hardware.Mon.#1..: Temp: 46c

[s]tatus [p]ause [b]ypass [c]heckpoint [q]uit =>

Detener el Ataque a Mitad de Camino

En este paso, simularemos una interrupción o una situación en la que necesite detener el proceso de cracking antes de que esté completamente completo. Hashcat le permite salir de forma controlada, guardando su progreso para que pueda reanudarlo más tarde o inspeccionar los resultados.

Mientras la pantalla de estado de hashcat esté activa en su terminal, simplemente presione la tecla q en su teclado para salir.

q

Después de presionar q, hashcat detendrá la sesión y le devolverá al prompt de comandos. Guarda automáticamente todas las contraseñas descifradas en un archivo llamado hashcat.potfile en su directorio de trabajo. Este archivo es crucial para los siguientes pasos.

Session hashcat stopping.

Usar la Bandera --show para Ver Hashes Ya Descifrados

Ahora que la sesión se ha detenido, es posible que desee ver qué contraseñas se han recuperado con éxito hasta ahora. Aquí es donde la bandera --show resulta útil. Comprueba el archivo de hash de entrada con hashcat.potfile y muestra cualquier coincidencia.

En su terminal, ejecute el comando hashcat nuevamente en el mismo archivo de hash, pero esta vez agregue la bandera --show.

hashcat -m 0 hashes.txt --show

La salida listará cada hash descifrado seguido de su contraseña de texto plano correspondiente, separadas por dos puntos.

5f4dcc3b5aa765d61d8327deb882cf99:password
e10adc3949ba59abbe56e057f20f883e:123456
e9a71b642151421421257419a0a23d89:sunshine

Esto confirma que tres de los cinco hashes fueron descifrados con éxito utilizando nuestra lista de palabras.

Usar la Bandera --left para Ver Hashes No Descifrados

Así como es útil ver lo que se ha descifrado, es igualmente importante ver lo que queda. La bandera --left hace lo contrario de --show. Compara el archivo de hash de entrada con hashcat.potfile y muestra solo los hashes que no han sido descifrados.

Para ver los hashes restantes, ejecute el comando hashcat con la bandera --left.

hashcat -m 0 hashes.txt --left

La salida será una lista de los hashes de hashes.txt que aún no están en hashcat.potfile.

2c7e3378803a5b054952514139821a79
b8d3c555434b89a01af1654b26d30609

Estos son los dos hashes que nuestra wordlist.txt no pudo descifrar.

Crear un Nuevo Archivo que Contenga Solo Hashes No Descifrados

Un flujo de trabajo común es guardar los hashes restantes no descifrados en un nuevo archivo. Esto le permite dirigirlos específicamente en un ataque futuro, quizás con una lista de palabras diferente o un modo de ataque diferente, sin perder tiempo en los hashes que ya ha descifrado.

Puede hacer esto fácilmente redirigiendo la salida del comando --left a un nuevo archivo. Llamémoslo uncracked.txt.

hashcat -m 0 hashes.txt --left > uncracked.txt

Este comando no producirá ninguna salida en la terminal porque la salida ha sido redirigida al archivo. Para verificar que funcionó, puede mostrar el contenido del nuevo archivo usando el comando cat.

cat uncracked.txt

Debería ver los dos hashes no descifrados, que ahora están listos para su próximo intento de descifrado.

2c7e3378803a5b054952514139821a79
b8d3c555434b89a01af1654b26d30609

Resumen

En este laboratorio, aprendió a gestionar y filtrar listas de hashes durante una sesión de descifrado de contraseñas con hashcat.

Inició un ataque y luego lo detuvo, simulando un escenario común en el mundo real. Luego utilizó la bandera --show para ver las contraseñas descifradas con éxito y la bandera --left para aislar los hashes que quedaron sin descifrar. Finalmente, aprendió una técnica práctica para guardar estos hashes restantes en un nuevo archivo para ataques futuros.

Dominar --show y --left es esencial para un flujo de trabajo de recuperación de contraseñas eficiente, especialmente cuando se trata de tareas a gran escala.