John the Ripper vs Hashcat: quebrando hashes na prática

A principal diferença entre John the Ripper e Hashcat está no foco do hardware e na velocidade: enquanto o John the Ripper é altamente versátil, focado em processamento via CPU e ideal para descobrir formatos de hashes desconhecidos ou extrair hashes de arquivos locais, o Hashcat é o líder absoluto em velocidade bruta, utilizando o poder das placas de vídeo (GPUs) para realizar ataques massivos contra hashes modernos como NTLM e SHA-256.

Principais Aprendizados

  • John the Ripper: Melhor para uso em CPUs, extração de hashes de arquivos complexos (ZIP, PDF, SSH) e detecção automática de algoritmos.
  • Hashcat: Imbatível em velocidade por utilizar aceleração de hardware (Placas de Vídeo) via tecnologias CUDA e OpenCL.
  • A Prática Ideal: Pentesters profissionais usam o John para preparar e extrair os hashes, e o Hashcat para executar o ataque pesado de dicionário ou força bruta.

Quando falamos de testes de invasão e auditoria de senhas, a escolha da ferramenta certa pode significar a diferença entre quebrar uma credencial em minutos ou esperar anos. Ambos os softwares são pilares da segurança ofensiva, mas possuem arquiteturas fundamentalmente diferentes.

Terminal de quebra de hashes

Entendendo a Batalha: CPU vs GPU

Antes de mergulhar nos comandos, é crucial entender por que as senhas são transformadas em hashes. Um hash é uma função matemática de via única. Não é possível "descriptografar" um hash; você precisa adivinhar a senha original, transformá-la em hash e comparar os resultados. Segundo as diretrizes de identidade digital do NIST (National Institute of Standards and Technology), a complexidade e o comprimento das senhas são vitais justamente para resistir a essas tentativas de adivinhação em massa.

John the Ripper: O Canivete Suíço da CPU

O John the Ripper (frequentemente chamado apenas de "John") é uma ferramenta lendária que vem pré-instalada no sistema dos pentesters. Seu maior trunfo é a versatilidade. A versão "Jumbo" suporta centenas de formatos de hashes e cifras diferentes.

  • Detecção Automática: Se você não sabe qual algoritmo gerou o hash, o John tenta adivinhar para você.
  • Ferramentas de Extração: Ele possui utilitários como zip2john, pdf2john e ssh2john, que extraem o hash de arquivos protegidos para que possam ser quebrados offline.
  • Foco em CPU: Diferente de ataques online de força bruta, o John é otimizado para rodar localmente usando os processadores principais (CPUs), o que o torna excelente para notebooks e sistemas sem placas de vídeo dedicadas.

Hashcat: A Máquina de Destruição via GPU

Se o John é um canivete suíço, o Hashcat é uma marreta de demolição. Ele foi desenhado do zero para explorar o processamento paralelo extremo das placas de vídeo (GPUs) da NVIDIA e AMD.

A quebra de senhas é essencial para demonstrar o impacto de credenciais fracas, um problema constante nas falhas web mais críticas. De acordo com a documentação oficial da OWASP Foundation, falhas de identificação e autenticação continuam sendo uma das maiores portas de entrada para cibercriminosos.

  • Velocidade Incomparável: Uma GPU moderna pode calcular bilhões de hashes por segundo, superando a CPU em milhares de vezes.
  • Ataques Baseados em Regras: O Hashcat possui um motor de regras (Rule Engine) extremamente avançado, permitindo mutações complexas em wordlists (ex: adicionar "123" no final de cada palavra, trocar "a" por "@").
  • Uso em Red Teaming: É a ferramenta padrão na fase de pós-exploração, quando o invasor captura o banco de dados do Active Directory (NTDS.dit) e precisa quebrar os hashes NTLM rapidamente.

Exemplos de Comandos na Prática

Quebrando com John the Ripper

Para um ataque simples de dicionário usando o John, a sintaxe é direta e muitas vezes não exige especificar o formato:

john --wordlist=rockyou.txt hashes.txt

Quebrando com Hashcat

O Hashcat exige que você especifique o tipo de hash (usando a flag -m) e o tipo de ataque (flag -a). Para um hash MD5 (código 0) usando dicionário (ataque 0):

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

Perguntas Frequentes

Qual é mais rápido, John the Ripper ou Hashcat?

O Hashcat é significativamente mais rápido na maioria dos cenários porque utiliza a aceleração de hardware das GPUs (Placas de Vídeo), permitindo o cálculo de bilhões de hashes por segundo, enquanto o John the Ripper foca primariamente no processamento via CPU.

Posso usar o Hashcat sem uma placa de vídeo dedicada?

Sim, é possível utilizar o Hashcat apenas com a CPU usando drivers OpenCL apropriados, mas a performance será drasticamente inferior à de uma GPU. Nesses casos de uso exclusivo de CPU, o John the Ripper pode ser mais eficiente dependendo do algoritmo.

Como extraio o hash de um arquivo ZIP protegido por senha?

A melhor abordagem é usar o utilitário 'zip2john' (que faz parte da suíte do John the Ripper) para extrair o hash do arquivo. Uma vez extraído, você pode alimentar esse hash no próprio John ou convertê-lo para o formato aceito pelo Hashcat para realizar a quebra.

Postar um comentário

0 Comentários

Contact form