Depurar o Erro "Invalid hash type"
Nesta etapa, abordaremos problemas relacionados a tipos de hash. Às vezes, o John não consegue detectar automaticamente o tipo de hash, ou um usuário pode especificar o incorreto usando o flag --format, levando a erros ou tentativas de quebra falhas.
Primeiro, vamos ver o que acontece quando o John encontra um arquivo com uma string de hash malformada. Temos um arquivo chamado invalid_hashes.txt para este propósito.
john invalid_hashes.txt
O John analisará o arquivo e relatará que não conseguiu carregar nenhum hash válido, semelhante ao erro da etapa anterior.
Using default input encoding: UTF-8
No password hashes loaded (see FAQ)
Agora, vamos usar um arquivo com um hash válido, mas especificar o formato incorreto. Nosso arquivo hashes_md5.txt contém um hash padrão raw-MD5, mas diremos ao John que é um hash NT.
john --wordlist=pass.list --format=nt hashes_md5.txt
O John produzirá um aviso ou erro porque os dados do hash não correspondem ao formato especificado.
Warning: invalid ciphertext ignored: user1:5d41402abc4b2a76b9719d911017c592
No password hashes loaded (see FAQ)
Para corrigir isso, você deve fornecer o formato de hash correto. Se você souber que o formato é raw-MD5, pode especificá-lo diretamente. Isso geralmente é mais rápido do que deixar o John detectá-lo automaticamente.
Vamos executar o comando com o formato correto.
john --wordlist=pass.list --format=raw-md5 hashes_md5.txt
Desta vez, o comando é bem-sucedido e quebra a senha.
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
Se você não tiver certeza do tipo de hash, pode omitir o flag --format e deixar o John tentar detectá-lo automaticamente. No entanto, para hashes ambíguos ou não padrão, especificar o formato é a melhor maneira de garantir o sucesso.