Crackear Hashes MD5 con Modo Incremental
En este paso, utilizará el modo incremental de John the Ripper para crackear hashes MD5. El modo incremental es un potente ataque de fuerza bruta que prueba combinaciones de caracteres basándose en un conjunto de caracteres (por ejemplo, letras minúsculas, números, símbolos). Es útil cuando un ataque de wordlist falla, ya que no depende de palabras preexistentes.
Primero, vamos a limpiar el archivo pot de John para asegurarnos de que empezamos de cero para este intento de cracking. Esto es importante porque John almacena las contraseñas crackeadas, y queremos ver el proceso de cracking de nuevo.
john --session=my_session --restore=NONE
Ahora, intentemos crackear los hashes usando el modo incremental. Para fines de demostración, utilizaremos un conjunto de caracteres muy pequeño y una longitud máxima corta para mantener el tiempo de cracking manejable. En un escenario real, el modo incremental puede llevar mucho tiempo dependiendo de la complejidad y longitud de la contraseña.
john --format=raw-md5 --incremental=alnum --max-len=8 ~/project/hashes.txt
Aquí:
--incremental=alnum: Indica a John que use caracteres alfanuméricos (a-z, A-Z, 0-9). John tiene modos incrementales predefinidos como alnum, alpha, digits, etc.
--max-len=8: Limita la longitud máxima de la contraseña a 8 caracteres. Esto es crucial para mantener el tiempo de cracking corto para este laboratorio.
John the Ripper comenzará a generar y probar combinaciones. Dado que nuestras contraseñas (password123, labex, secret) están dentro del conjunto de caracteres alnum y max-len=8 (para labex y secret), John eventualmente debería crackearlas. password123 tiene 11 caracteres de longitud, por lo que no será crackeada con max-len=8.
La salida mostrará las contraseñas crackeadas a medida que John las encuentre:
Using default input encoding: UTF-8
Loaded 3 password hashes with no different salts (raw-md5 [MD5])
Will run 4 OpenMP threads
Press 'q' or Ctrl-C to abort, almost any other key for status
labex (a0b923820dcc509a86619210ed1572e4)
secret (5ebe2294ecd0e0f08eab7690d2a6ee69)
2g 0:00:00:00 DONE (2023-10-27 10:35) 100.0% (ETA: 00:00:00) 2.000g/s 10.00p/s 10.00c/s 10.00C/s labex secret
Session completed.
Puede usar nuevamente john --show para mostrar las contraseñas crackeadas:
john --show ~/project/hashes.txt
Salida:
a0b923820dcc509a86619210ed1572e4:labex
5ebe2294ecd0e0f08eab7690d2a6ee69:secret
2 password hashes cracked, 1 left
Observe que password123 no fue crackeada esta vez porque su longitud (11 caracteres) excedió el límite --max-len=8. Esto resalta la importancia de establecer parámetros apropiados para los ataques incrementales.