Recuperação de senhas no Kali com John

CibersegurançaBeginner
Pratique Agora

Introdução

A recuperação de senhas offline compara candidatos com hashes fornecidos em vez de tentar logins. Entender o formato, o conjunto de candidatos e o estado salvo da recuperação é essencial para interpretar sucesso ou falha.

Este laboratório fornece um hash de treinamento intencionalmente fraco e um pequeno dicionário. Você executará uma recuperação limitada por dicionário com John, com seus próprios pot e sessão, e depois exibirá e salvará o resultado vinculado à conta.

Recupere uma senha fraca fornecida offline

Nesta etapa, você usará uma pequena lista de candidatos contra um formato conhecido de hash de treinamento, mantendo o estado da recuperação separado de outros exercícios.

Entre no Kali e selecione o diretório de prática fornecido:

kali
cd /home/labex/project/password-practice

Um hash de senha é uma representação derivada usada para verificar uma senha sem armazená-la em texto simples. Um salt ajuda a fazer com que a mesma senha produza hashes armazenados diferentes. Este exercício fornece uma senha de treinamento intencionalmente fraca representada no formato com salt SHA512-crypt; esse não é o mesmo formato de um resumo SHA-512 bruto.

Leia o arquivo de conta e hash fornecido:

cat hashes.txt

A linha começa com o nome da conta de treinamento, dois-pontos e um hash que começa com $6$. O salt e o valor derivado fazem parte da representação armazenada. Você não precisa gerar nem editar o hash.

Inspecione a pequena lista de candidatos:

cat candidates.txt

Cada linha é uma senha possível. Uma recuperação por dicionário testa esses candidatos offline contra o hash fornecido. Ela não envia tentativas de login a um serviço de rede.

John é uma ferramenta de recuperação de senhas. --format=sha512crypt seleciona explicitamente o formato fornecido, --wordlist=candidates.txt seleciona o arquivo de candidatos e --pot=guided.pot mantém os resultados recuperados em um arquivo pot dedicado. --session=guided-session nomeia a sessão de recuperação desta execução em vez de misturá-la com uma sessão não relacionada:

john --format=sha512crypt --wordlist=candidates.txt --pot=guided.pot --session=guided-session hashes.txt

Aguarde a execução terminar. A saída deve informar uma senha recuperada. Números exatos de desempenho e mensagens de threads variam. Um arquivo pot armazena correspondências entre hashes e senhas recuperados, portanto repetir uma execução com o mesmo pot pode ignorar hashes já recuperados; isso não prova que uma nova tentativa os recuperou novamente.

Uma execução por dicionário pode falhar porque o candidato está ausente, o formato selecionado está errado ou a entrada está malformada. Uma execução malsucedida não prova que uma senha seja impossível de recuperar.

Exiba e preserve o resultado verificado da recuperação

Nesta etapa, você lerá o estado da recuperação com John e salvará um resultado vinculado à conta para revisão.

Permaneça no mesmo diretório de prática. O modo --show do John verifica o arquivo de hashes fornecido em relação ao pot selecionado e exibe resultados de conta/senha recuperados:

john --show --format=sha512crypt --pot=guided.pot hashes.txt

A linha da conta deve incluir training-user:cedar42, seguida por um resumo indicando um hash recuperado e nenhum restante. A senha é deliberadamente fraca e aparece na lista de candidatos fornecida.

Salve essa visão verificada em vez de escrever manualmente uma alegação de que a recuperação teve sucesso:

john --show --format=sha512crypt --pot=guided.pot hashes.txt > recovered.txt
cat recovered.txt

O arquivo salvo deve manter o resultado vinculado à conta e o resumo da recuperação. Mantenha os hashes fornecidos, a lista de candidatos e o pot dedicado juntos para que o resultado possa ser verificado contra os dados exatos de treinamento.

Esses resultados contêm credenciais de treinamento em texto simples. No trabalho real, senhas recuperadas são evidências sensíveis e devem permanecer somente no fluxo autorizado. Este exercício não pede que você teste uma conta real nem reutilize sua senha de demonstração.

Resumo

Você distinguiu hashes, salts e texto simples; executou uma recuperação offline por dicionário com formato explícito; isolou seu pot e sessão; e salvou o resultado produzido pelo modo show. Interpretou a recuperação como evidência sobre um hash fornecido e um conjunto de candidatos específicos.