Guia Rápido do John the Ripper

Referência completa de quebra de senhas

Ataques por dicionário • Regras • Formatos de hash • Multiplataforma

📅 Atualizado: Dezembro 2024⏱️ 20 min de leitura🔧 John 1.9.0+

O que é o John the Ripper?

John the Ripper é uma ferramenta gratuita e de código aberto para quebra de senhas. Originalmente desenvolvido para Unix, agora funciona em muitas plataformas e suporta centenas de tipos de hash. A versão "Jumbo" adiciona ainda mais formatos e recursos.

John vem pré-instalado no Kali Linux. Site oficial: openwall.com/john.

📦 Instalação

Kali Linux

sudo apt install john

Versão Jumbo (recomendada)

git clone https://github.com/openwall/john
cd john/src && ./configure && make

macOS (Homebrew)

brew install john-jumbo

🎯 Uso básico

# Quebrar com configurações padrão (detecção automática de formato)
john hashes.txt

# Usar wordlist
john --wordlist=/usr/share/wordlists/rockyou.txt hashes.txt

# Especificar formato de hash
john --format=raw-md5 hashes.txt

# Mostrar senhas quebradas
john --show hashes.txt

# Listar formatos suportados
john --list=formats

# Verificar status da sessão
john --status

# Restaurar sessão interrompida
john --restore

⚔️ Modos de ataque

Modo Flag Descrição
Single --single Usa nomes de login, GECOS, nomes de diretório
Wordlist --wordlist=FILE Ataque por dicionário
Incremental --incremental Força bruta de todas as combinações
Mask --mask=MASK Força bruta baseada em padrão
External --external=MODE Funções personalizadas tipo C
# Modo single (mais rápido, usa nomes de usuário)
john --single hashes.txt

# Wordlist com regras
john --wordlist=rockyou.txt --rules hashes.txt

# Incremental (minúsculas, até 8 caracteres)
john --incremental=Lower hashes.txt

# Modo mask
john --mask='?u?l?l?l?d?d?d?d' hashes.txt

🎭 Caracteres do modo mask

Placeholder Conjunto de caracteres
?l Minúsculas (a-z)
?u Maiúsculas (A-Z)
?d Dígitos (0-9)
?s Caracteres especiais
?a Todos os caracteres ASCII imprimíveis
?h Hexadecimal minúsculo (0-9, a-f)
?H Hexadecimal maiúsculo (0-9, A-F)
# Padrão Password1
john --mask='?u?l?l?l?l?l?l?l?d' hashes.txt

# PIN de 8 dígitos
john --mask='?d?d?d?d?d?d?d?d' hashes.txt

# Prefixo estático com sufixo variável
john --mask='Company?d?d?d?d' hashes.txt

📋 Formatos de hash comuns

Formato Descrição
raw-md5 MD5 puro
raw-sha1 SHA1 puro
raw-sha256 SHA256 puro
raw-sha512 SHA512 puro
sha512crypt Arquivo shadow Linux ($6$)
sha256crypt Arquivo shadow Linux ($5$)
md5crypt MD5 crypt Linux/BSD ($1$)
bcrypt Blowfish crypt ($2a$, $2b$, $2y$)
nt Windows NTLM
lm Windows LM
mscash2 MS Cache 2 (Domain Cached)
krb5tgs Kerberos TGS
# Listar todos os formatos
john --list=formats

# Procurar formato
john --list=formats | grep -i mysql

🔧 Ferramentas de extração de hash (*2john)

John inclui muitas ferramentas para extrair hashes de vários tipos de arquivos:

# Arquivo shadow Linux
unshadow /etc/passwd /etc/shadow > unshadowed.txt

# Arquivo ZIP
zip2john protected.zip > zip.hash

# Arquivo RAR
rar2john protected.rar > rar.hash

# Arquivo 7z
7z2john protected.7z > 7z.hash

# Arquivo PDF
pdf2john protected.pdf > pdf.hash

# Documentos Office
office2john document.docx > office.hash

# Chave privada SSH
ssh2john id_rsa > ssh.hash

# Banco de dados KeePass
keepass2john database.kdbx > keepass.hash

# Chave privada GPG/PGP
gpg2john private.key > gpg.hash

# Tickets Kerberos
kirbi2john ticket.kirbi > kirbi.hash

📜 Regras de transformação de palavras

# Usar regras padrão
john --wordlist=rockyou.txt --rules hashes.txt

# Usar conjunto de regras específico
john --wordlist=rockyou.txt --rules=best64 hashes.txt

# Regras Jumbo (mais abrangentes)
john --wordlist=rockyou.txt --rules=jumbo hashes.txt

# Listar regras disponíveis
john --list=rules

Conjuntos de regras comuns

Single Regras padrão do modo single
Wordlist Regras padrão de wordlist
best64 Top 64 regras mais eficazes
jumbo Conjunto de regras abrangente
KoreLogic Regras muito detalhadas

⚡ Opções de performance

Flag Descrição
--fork=N Criar N processos para quebra paralela
--node=X/Y Dividir trabalho para quebra distribuída
--devices=N Seleção de dispositivo OpenCL
--min-length=N Comprimento mínimo da senha
--max-length=N Comprimento máximo da senha
# Usar todos os núcleos da CPU
john --fork=8 --wordlist=rockyou.txt hashes.txt

💾 Gerenciamento de sessões

# Nomear uma sessão
john --session=mycrack --wordlist=rockyou.txt hashes.txt

# Restaurar sessão
john --restore=mycrack

# Verificar status (durante execução)
john --status=mycrack

# Mostrar senhas quebradas
john --show hashes.txt

# Mostrar no formato usuário:senha
john --show --format=raw-md5 hashes.txt

🔥 Cenários comuns de quebra

# Quebrar arquivo shadow Linux
unshadow /etc/passwd /etc/shadow > hashes.txt
john hashes.txt

# Quebrar hashes NTLM
john --format=nt --wordlist=rockyou.txt ntlm_hashes.txt

# Quebrar MD5 com regras
john --format=raw-md5 --wordlist=rockyou.txt --rules hashes.txt

# Quebrar ZIP criptografado
zip2john file.zip > zip.hash
john zip.hash

# Quebrar chave privada SSH
ssh2john id_rsa > ssh.hash
john ssh.hash

# Quebrar tickets Kerberoast
john --format=krb5tgs --wordlist=rockyou.txt kerberos.hash

🔐 Guia rápido do John the Ripper completo!

Você agora tem uma referência completa para uma das ferramentas de quebra de senhas mais lendárias. De arquivos shadow a arquivos criptografados, esses comandos são essenciais para qualquer profissional de segurança.

Wordlist Regras Mask Extração Formatos

Pronto para quebrar seu próximo hash!

Validação de Conhecimento

Demonstre sua compreensão para ganhar pontos e progredir

1
Pergunta do Capítulo

Qual flag do John the Ripper especifica um arquivo de wordlist personalizado?

1
Ler
2
Validar
3
Concluir

Pronto para acompanhar seu progresso?

Crie uma conta gratuita para salvar seu progresso, ganhar pontos e acessar mais de 170 labs práticos de cibersegurança.

Comece a Aprender Grátis
Junte-se a 5.000+ hackers aprendendo cibersegurança com labs práticos. Criar Conta