Descifrar Hashes NTLM con Modo Incremental
En este paso, explorará el modo incremental de John the Ripper, que realiza un ataque de fuerza bruta. A diferencia de los ataques con listas de palabras, el modo incremental prueba combinaciones de caracteres sistemáticamente, comenzando con combinaciones cortas y simples y aumentando gradualmente la complejidad. Este método es eficaz para descifrar contraseñas que no están en una lista de palabras, pero puede consumir mucho tiempo para contraseñas largas o complejas.
El modo incremental de John the Ripper utiliza conjuntos de caracteres y reglas para generar contraseñas. Para los hashes NTLM, podemos especificar el formato NT y usar la opción --incremental. John the Ripper tiene modos incrementales incorporados (por ejemplo, alnum, digits, all). Utilizaremos el modo incremental predeterminado, que prueba varios conjuntos de caracteres.
Antes de ejecutar el modo incremental, es una buena práctica restablecer la sesión de John the Ripper para evitar conflictos con hashes descifrados previamente.
john --session=reset
Ahora, ejecute John the Ripper en modo incremental contra el archivo ntlm_hashes.txt. Este proceso puede tardar unos momentos, dependiendo de la complejidad de los hashes restantes sin descifrar.
john --format=NT --incremental ~/project/ntlm_hashes.txt
Es posible que vea una salida similar a esta mientras John the Ripper intenta descifrar los hashes restantes:
Using default input encoding: UTF-8
Loaded 5 password hashes with no different salts (NT [MD4 HASHES])
Remaining 2 password hashes to crack
Will run 4 OpenMP threads
Press 'q' or Ctrl-C to abort, almost any other key for status
(user5)
(user3)
2g 0:00:00:00 DONE (2023-10-27 08:05) 100.0% (ETA: 08:05) 2.500g/s 7.500p/s 7.500c/s 7.500C/s
Session completed.
Una vez que el proceso se complete, verifique las contraseñas descifradas nuevamente usando john --show.
john --show ~/project/ntlm_hashes.txt
Ahora debería ver todos los hashes descifrados, incluidos user3 y user5. La contraseña de user3 es admin y la de user5 es una cadena vacía (que se representa como "" o nada después de los dos puntos).
user1:password
user2:test
user4:123456
user3:admin
user5:
5 password hashes cracked, 0 left
Esto demuestra la efectividad del modo incremental para descifrar contraseñas que podrían no estar en una lista de palabras, especialmente las cortas o simples.