Filtrar Hashes com --left e --show

Kali LinuxBeginner
Pratique Agora

Introdução

Hashcat é uma ferramenta poderosa e popular para recuperação de senhas. Ao trabalhar com listas muito grandes de hashes, uma sessão de cracking pode levar muito tempo e ser interrompida. Nessas situações, é crucial saber quais hashes já foram crackeados e quais permanecem.

Neste laboratório, você aprenderá a usar duas flags essenciais do hashcat: --show e --left. A flag --show permite visualizar as senhas que já foram crackeadas com sucesso, enquanto a flag --left mostra apenas os hashes que ainda não foram crackeados. Isso permite gerenciar eficientemente suas tarefas de cracking de senhas.

Iniciar um Ataque em uma Lista Grande de Hashes

Nesta etapa, você iniciará um ataque de dicionário padrão com o hashcat. Preparamos dois arquivos para você no diretório ~/project: hashes.txt, que contém uma lista de hashes MD5, e wordlist.txt, que é um pequeno dicionário de senhas potenciais.

A estrutura básica do comando para um ataque hashcat é hashcat -m <modo> <arquivo_hash> <arquivo_lista_palavras>. Usaremos -m 0 para especificar que nossos hashes são MD5.

Execute o seguinte comando no seu terminal para iniciar o ataque.

hashcat -m 0 hashes.txt wordlist.txt

O hashcat iniciará, inicializará seu backend e começará o processo de cracking. Você verá uma tela de status que se atualiza em tempo real. Deixe-o rodar por alguns segundos.

hashcat (v6.2.6) starting

...

Session..........: hashcat
Status...........: Running
Hash.Name........: MD5
Hash.Target......: hashes.txt
Time.Started.....: ...
Time.Estimated...: ...
Guess.Base.......: File (wordlist.txt)
Guess.Queue......: 1/1 (100.00%)
Speed.#1.........:   ... H/s (0.01ms) @ Accel:128 Loops:1 Thr:1 Vec:8
Recovered........: 3/5 (60.00%) Digests
Progress.........: 5/5 (100.00%)
Rejected.........: 0/5 (0.00%)
Restore.Point....: 5/5 (100.00%)
Restore.Sub.#1...: Salt:0 Amplifier:0-1 Iteration:0-1
Candidates.#1....: password -> admin
Hardware.Mon.#1..: Temp: 46c

[s]tatus [p]ause [b]ypass [c]heckpoint [q]uit =>

Parar o Ataque no Meio

Nesta etapa, simularemos uma interrupção ou uma situação em que você precise parar o processo de cracking antes que ele seja totalmente concluído. O hashcat permite que você saia graciosamente, salvando seu progresso para que possa retomar mais tarde ou inspecionar os resultados.

Enquanto a tela de status do hashcat estiver ativa no seu terminal, simplesmente pressione a tecla q no seu teclado para sair.

q

Após pressionar q, o hashcat interromperá a sessão e retornará ao prompt de comando. Ele salva automaticamente todas as senhas crackeadas em um arquivo chamado hashcat.potfile em seu diretório de trabalho. Este arquivo é crucial para as próximas etapas.

Session hashcat stopping.

Use a Flag --show para Ver Hashes Já Crackeados

Agora que a sessão foi interrompida, você pode querer ver quais senhas foram recuperadas com sucesso até agora. É aqui que a flag --show se torna útil. Ela verifica o arquivo de hash de entrada contra o hashcat.potfile e exibe quaisquer correspondências.

No seu terminal, execute o comando hashcat novamente no mesmo arquivo de hash, mas desta vez adicione a flag --show.

hashcat -m 0 hashes.txt --show

A saída listará cada hash crackeado seguido por sua senha em texto plano correspondente, separada por dois pontos.

5f4dcc3b5aa765d61d8327deb882cf99:password
e10adc3949ba59abbe56e057f20f883e:123456
e9a71b642151421421257419a0a23d89:sunshine

Isso confirma que três dos cinco hashes foram crackeados com sucesso usando nossa lista de palavras.

Use a Flag --left para Ver Hashes Não Crackeados

Assim como é útil ver o que foi crackeado, é igualmente importante ver o que restou. A flag --left faz o oposto de --show. Ela compara o arquivo de hash de entrada com o hashcat.potfile e exibe apenas os hashes que não foram crackeados.

Para ver os hashes restantes, execute o comando hashcat com a flag --left.

hashcat -m 0 hashes.txt --left

A saída será uma lista dos hashes de hashes.txt que ainda não estão no hashcat.potfile.

2c7e3378803a5b054952514139821a79
b8d3c555434b89a01af1654b26d30609

Estes são os dois hashes que nosso wordlist.txt não conseguiu crackear.

Criar um Novo Arquivo Contendo Apenas Hashes Não Crackeados

Um fluxo de trabalho comum é salvar os hashes restantes não crackeados em um novo arquivo. Isso permite que você os direcione especificamente em um ataque futuro, talvez com uma lista de palavras diferente ou um modo de ataque diferente, sem perder tempo com os hashes que você já crackeou.

Você pode fazer isso facilmente redirecionando a saída do comando --left para um novo arquivo. Vamos chamá-lo de uncracked.txt.

hashcat -m 0 hashes.txt --left > uncracked.txt

Este comando não produzirá nenhuma saída no terminal porque a saída foi redirecionada para o arquivo. Para verificar se funcionou, você pode exibir o conteúdo do novo arquivo usando o comando cat.

cat uncracked.txt

Você deverá ver os dois hashes não crackeados, que agora estão prontos para sua próxima tentativa de crackeamento.

2c7e3378803a5b054952514139821a79
b8d3c555434b89a01af1654b26d30609

Resumo

Neste laboratório, você aprendeu a gerenciar e filtrar listas de hashes durante uma sessão de crackeamento de senhas com o hashcat.

Você iniciou um ataque e depois o interrompeu, simulando um cenário comum do mundo real. Em seguida, usou a flag --show para visualizar as senhas crackeadas com sucesso e a flag --left para isolar os hashes que permaneceram não crackeados. Finalmente, você aprendeu uma técnica prática para salvar esses hashes restantes em um novo arquivo para ataques futuros.

Dominar --show e --left é essencial para um fluxo de trabalho eficiente de recuperação de senhas, especialmente ao lidar com tarefas em larga escala.