Depurar el error "Invalid hash type"
En este paso, abordaremos los problemas relacionados con los tipos de hash. A veces, John no puede detectar automáticamente el tipo de hash, o un usuario podría especificar el incorrecto usando la bandera --format, lo que lleva a errores o intentos de cracking fallidos.
Primero, veamos qué sucede cuando John encuentra un archivo con una cadena de hash malformada. Tenemos un archivo llamado invalid_hashes.txt para este propósito.
john invalid_hashes.txt
John analizará el archivo e informará que no pudo cargar ningún hash válido, similar al error del paso anterior.
Using default input encoding: UTF-8
No password hashes loaded (see FAQ)
Ahora, usemos un archivo con un hash válido pero especifiquemos el formato incorrecto. Nuestro archivo hashes_md5.txt contiene un hash raw-MD5 estándar, pero le diremos a John que es un hash NT.
john --wordlist=pass.list --format=nt hashes_md5.txt
John producirá una advertencia o un error porque los datos del hash no coinciden con el formato especificado.
Warning: invalid ciphertext ignored: user1:5d41402abc4b2a76b9719d911017c592
No password hashes loaded (see FAQ)
Para solucionar esto, debe proporcionar el formato de hash correcto. Si conoce el formato como raw-MD5, puede especificarlo directamente. Esto suele ser más rápido que dejar que John lo detecte automáticamente.
Ejecutemos el comando con el formato correcto.
john --wordlist=pass.list --format=raw-md5 hashes_md5.txt
Esta vez, el comando tiene éxito y descifra la contraseña.
Using default input encoding: UTF-8
Loaded 1 password hash (raw-MD5 [MD5 128/128 SSE2-16])
Cost 1 (iteration count) is 1 for all loaded hashes
Press 'q' or Ctrl-C to abort, almost any other key for status
labex (user1)
1g 0:00:00:00 DONE (2023-10-27 10:35) 100.0g/s 1234Kp/s 1234Kc/s 1234KC/s 123..labex
Use the "--show" option to display all of the cracked passwords reliably
Session completed
Si no está seguro del tipo de hash, puede omitir la bandera --format y dejar que John intente detectarlo automáticamente. Sin embargo, para hashes ambiguos o no estándar, especificar el formato es la mejor manera de garantizar el éxito.