Analisar Estatísticas de Quebra em Tempo Real

Kali LinuxBeginner
Pratique Agora

Introdução

Hashcat é uma ferramenta poderosa e popular para recuperação de senhas. Ao executar uma sessão de cracking, especialmente uma que pode demorar muito, é crucial monitorar seu progresso e desempenho. O Hashcat fornece uma tela de status detalhada em tempo real que oferece insights sobre a velocidade do ataque, o tempo estimado para conclusão, o desempenho do hardware e muito mais.

Neste laboratório, você aprenderá como iniciar uma sessão básica do Hashcat e interpretar suas estatísticas em tempo real. Ao final, você será capaz de monitorar efetivamente suas tarefas de cracking de senhas para garantir que elas estejam sendo executadas de forma otimizada.

Iniciar uma Sessão Hashcat

Nesta etapa, você iniciará uma sessão de cracking de senhas usando o Hashcat. Utilizaremos um arquivo de hash pré-configurado e uma wordlist localizados no seu diretório ~/project.

Primeiro, vamos examinar os arquivos que usaremos. O arquivo hashes.txt contém um único hash MD5, e wordlist.txt contém uma pequena lista de senhas potenciais.

O comando básico para iniciar um ataque de dicionário com o Hashcat é hashcat -m <hash_type> -a <attack_mode> <hash_file> <wordlist_file>.

  • -m 0 especifica que o tipo de hash é MD5.
  • -a 0 especifica que o modo de ataque é um ataque "Straight" ou de dicionário.

Agora, abra um terminal e execute o seguinte comando para iniciar a sessão. O Hashcat será inicializado e começará a tentar quebrar o hash.

hashcat -m 0 -a 0 hashes.txt wordlist.txt

Você verá uma saída semelhante à seguinte enquanto o Hashcat inicia. Não se preocupe com todos os detalhes por enquanto; apenas deixe-o rodar.

hashcat (v6.2.x) starting...

...

OpenCL Platform #1: The pocl project
====================================
* Device #1: pthread-skylake-avx512, 2047/4095 MB (1023 MB allocatable), 2MCU

...

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.........:   XX.X kH/s (X.XXms) @ Accel:X Loops:X Thr:X Vec:X
Recovered........: 0/1 (0.00%) Digests
Progress.........: 0/5 (0.00%)
Rejected.........: 0/0 (0.00%)
Restore.Point....: 0/1 (0.00%)
Restore.Sub.#1...: Salt:0 Amplifier:0-1 Iteration:0-1
Candidates.#1....: password -> hashcat
Hardware.Mon.#1..: Temp: N/A Util: N/A Core: N/A Mem: N/A Bus: N/A

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

Deixe a sessão em execução e prossiga para a próxima etapa.

Pressione 's' para Ver a Tela de Status

Nesta etapa, você aprenderá como solicitar manualmente uma atualização de status da sua sessão Hashcat em execução.

Enquanto o Hashcat está rodando, ele escuta por entrada de teclado para controlar a sessão. Na parte inferior da saída, você verá um prompt como [s]tatus [p]ause [b]ypass [c]heckpoint [q]uit =>. Isso indica os comandos disponíveis.

Para obter as estatísticas mais recentes, basta pressionar a tecla s no seu teclado e, em seguida, pressionar Enter. O Hashcat imprimirá imediatamente uma tela de status atualizada no terminal.

Vá em frente e pressione s agora.

s

Você verá um novo bloco de texto que se parece muito com o relatório de status inicial. Esta é a tela de estatísticas em tempo real, que dissecaremos nas próximas etapas.

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.........:   XX.X kH/s (X.XXms) @ Accel:X Loops:X Thr:X Vec:X
Recovered........: 1/1 (100.00%) Digests, 1/1 (100.00%) Salts
Progress.........: 4/5 (80.00%)
Rejected.........: 0/4 (0.00%)
Restore.Point....: 4/5 (80.00%)
Restore.Sub.#1...: Salt:0 Amplifier:0-1 Iteration:0-1
Candidates.#1....: labex -> labex
Hardware.Mon.#1..: Temp: N/A Util: N/A Core: N/A Mem: N/A Bus: N/A

Observe que alguns valores, como Recovered e Progress, mudaram.

Interpretar os Campos de Velocidade, Progresso e ETA

Nesta etapa, focaremos em três das métricas mais importantes na tela de status: Velocidade (Speed), Progresso (Progress) e Tempo Estimado de Chegada (ETA). Compreender esses campos ajuda você a avaliar o desempenho e a duração da sua sessão de cracking.

Vamos analisar uma linha de status de exemplo para cada um:

  • Speed.Dev.#1.........: XX.X kH/s (X.XXms)

    • Velocidade (Speed): Esta linha mostra a velocidade de cracking de cada dispositivo de processamento (CPU, GPU, etc.), identificado por #1, #2, e assim por diante. A velocidade é medida em hashes por segundo (H/s, kH/s, MH/s). Um número maior é melhor. No nosso caso, a VM está usando a CPU.
  • Progress.........: 4/5 (80.00%)

    • Progresso (Progress): Isso mostra quantas senhas candidatas foram testadas em relação ao número total no keyspace. Neste exemplo, 4/5 significa que foram testadas 4 das 5 palavras do nosso wordlist.txt.
  • Time.Estimated...: 0 secs

    • ETA (Tempo Estimado de Chegada - Estimated Time of Arrival): Este campo, rotulado como Time.Estimated, fornece uma estimativa de quando o ataque atual será concluído. Isso é calculado com base na velocidade atual e no trabalho restante no campo Progress. Para tarefas muito curtas como a nossa, ele rapidamente se tornará 0 segundos.

Essas três métricas fornecem uma visão geral rápida e de alto nível de como sua sessão de cracking está se saindo.

Compreender as Contagens de Rejeitados e Restaurados

Nesta etapa, examinaremos alguns outros campos úteis na tela de status: Recovered, Rejected e Restore.Point.

Vamos olhar novamente para a saída de exemplo:

  • Recovered........: 1/1 (100.00%) Digests

    • Recuperados (Recovered): Este é o campo mais crítico para os resultados. Ele informa quantos hashes foram descriptografados com sucesso. Aqui, 1/1 significa que o hash em nosso arquivo de destino foi encontrado. Assim que isso acontece, o Hashcat imprimirá a senha descriptografada no terminal.
  • Rejected.........: 0/4 (0.00%)

    • Rejeitados (Rejected): Este contador rastreia quantos candidatos a senha da sua wordlist ou ruleset foram ignorados. Uma senha pode ser rejeitada se não atender aos requisitos de comprimento ou caracteres para um tipo de hash específico. Para um ataque simples de MD5 e dicionário, isso geralmente é zero.
  • Restore.Point....: 4/5 (80.00%)

    • Ponto de Restauração (Restore Point): Isso indica a posição exata na wordlist (ou keyspace) onde o Hashcat está trabalhando atualmente. Se você parar e depois retomar a sessão, o Hashcat usará este ponto de restauração para continuar de onde parou, evitando que você comece tudo de novo.

Ao monitorar esses campos, você pode acompanhar os descriptografados bem-sucedidos e diagnosticar possíveis problemas com suas wordlists.

Monitorar Temperatura e Utilização do Hardware

Nesta etapa final, você aprenderá sobre a seção de monitoramento de hardware da tela de status do Hashcat e como sair corretamente da sessão.

A descriptografia de senhas é uma tarefa muito intensiva que pode levar seu hardware aos seus limites. O Hashcat inclui monitoramento integrado para ajudar você a ficar de olho na saúde do seu sistema.

Observe a linha Hardware.Mon na saída de status:

  • Hardware.Mon.#1..: Temp: N/A Util: N/A Core: N/A Mem: N/A Bus: N/A
    • Temp (Temperatura): Mostra a temperatura do dispositivo em Celsius.
    • Util (Utilização): Mostra a porcentagem de utilização do dispositivo (o quão ocupado ele está).
    • Core/Mem (Núcleo/Memória): Mostra as velocidades de clock do núcleo e da memória do dispositivo.

Observação: Em nosso ambiente de laboratório virtualizado, esses valores aparecem como N/A (Não Aplicável) porque o Hashcat não consegue acessar diretamente os sensores de hardware do host. Em uma máquina física com uma GPU dedicada, esses campos mostrariam dados em tempo real, o que é crucial para prevenir o superaquecimento e garantir um desempenho estável.

Agora que nossa curta sessão está completa e analisamos a tela de status, é hora de sair do Hashcat. Para fazer isso, pressione q e depois Enter.

q

O Hashcat interromperá a sessão e o retornará ao prompt de comando.

Resumo

Parabéns por completar este laboratório!

Você aprendeu a monitorar efetivamente uma sessão ativa do Hashcat. Agora você sabe como:

  • Iniciar um ataque de dicionário básico com o Hashcat.
  • Usar o comando s para visualizar a tela de status em tempo real.
  • Interpretar métricas de desempenho chave como Velocidade (Speed), Progresso (Progress) e Tempo Estimado de Conclusão (ETA).
  • Compreender o significado das contagens de Recuperados (Recovered), Rejeitados (Rejected) e Ponto de Restauração (Restore Point).
  • Reconhecer os campos de monitoramento de hardware e sua importância.

Essas habilidades são fundamentais para gerenciar qualquer tarefa de descriptografia de senhas, permitindo que você acompanhe o progresso, diagnostique problemas e garanta que seu hardware esteja funcionando de forma segura e eficiente.