O blog da segurança de dentro para fora Blog   /  

Como usar o John the Ripper: Dicas e tutoriais

Como usar o John the Ripper: Dicas e tutoriais

John the Ripper (JtR) é uma das ferramentas de hacking que a equipe de RI da Varonis usou em sua primeira demonstração de ataque cibernético ao vivo e um dos programas de quebra de senhas mais populares que existem. Neste artigo, vamos dar uma olhada em John the Ripper, mostrar como ele funciona e explicar por que é importante.

Notas sobre hacking: hacking é uma busca por informações sobre sistemas, projetos e humanos. Neste caso, estamos fazendo referência a softwares e sistemas operacionais.

Receba gratuitamente o e-book Pentesting Active Directory Environments

Hackear não é necessariamente um ato criminoso, embora possa ser uma ferramenta usada com intenções perigosas. Defendemos o hacking ético. Permaneça no lado luminoso da Força.

Como o John the Ripper funciona?

definição gráfica do john the ripper

O JtR é compatível com várias tecnologias de criptografia comuns e prontas para uso para sistemas baseados em UNIX e Windows (por exemplo, os computadores Mac são baseados em UNIX). O JtR detecta automaticamente a criptografia nos dados com hash e a compara com um grande arquivo de texto simples que contém senhas populares, criptografando cada senha e interrompendo quando encontra uma correspondência. Simples.

Em nossa incrível demonstração de ataque cibernético ao vivo, a equipe de RI da Varonis demonstra como roubar uma senha com hash, usar o JtR para encontrar a senha verdadeira e usá-la para fazer login em uma conta administrativa. Esse é um caso de uso muito comum para o JtR.

Além disso, o JtR inclui listas de senhas comuns em mais de 20 idiomas. Essas listas fornecem ao JtR milhares de senhas possíveis para gerar valores de hash correspondentes para adivinhar com precisão a senha de destino. Como a maioria das pessoas escolhe senhas fáceis de lembrar, o JtR é costuma ser muito eficaz, mesmo com suas listas de senhas prontas para uso.

O JtR está incluído nas versões de pentesting do Kali Linux.

Para que serve o John the Ripper?

O JtR é principalmente um cracker de senhas usado durante exercícios de pentesting que pode ajudar as equipes de TI a identificar senhas fracas e políticas de senha ruins.

Aqui está uma lista de tecnologias de criptografia disponíveis no JtR:

  • UNIX crypt(3)
  • DES tradicional
  • “bigcrypt”
  • DES com extensão de BSDI
  • MD5 do FreeBSD (Linux e Cisco IOS)
  • Blowfish do OpenBSD
  • Kerberos/AFS
  • DES do Windows LM
  • Tripcodes de DES
  • Hashes SHA-crypt (versões mais recentes do Fedora e Ubuntu)
  • Hashes SHA-crypt e SUNMD5 (Solaris)

Essa é a lista “oficial”. O JtR é open source, portanto, se a criptografia escolhida não estiver na lista, continue procurando. Alguém pode já ter escrito uma extensão para ele.

lista de motivos para usar o john the ripper com uma ilustração de cartola

Como baixar o John the Ripper

O JtR é um projeto de código aberto, então você pode decidir se quer baixar e compilar o código-fonte por conta própria, baixar os binários executáveis ou encontrá-lo como parte de um pacote de pentesting.

O site oficial do John the Ripper está no Openwall, onde você pode encontrar o código-fonte e os binários e entrar no GitHub para contribuir com o projeto.

O JtR está disponível no Kali Linux como parte de seus metapacotes de quebra de senha.

Tutoriais para usar o John the Ripper

Vamos examinar vários comandos básicos que você precisa saber para começar a usar o John the Ripper. Para começar, tudo o que você precisa é de um arquivo que contenha um valor de hash para descriptografar.

Para ver uma lista de comandos no JtR, execute este comando:

.\john.exe

Quebra de senhas

ilustração dos modos do john the ripper

Os principais modos de quebra de senhas do John the Ripper são o modo Quebra simples, o modo Dicionário e o modo Incremental. O modo Quebra simples é a maneira mais rápida e eficiente se você tiver um arquivo de senha completo para quebrar. O modo Dicionário compara hashes a uma lista conhecida de possíveis correspondências de senha. O modo Incremental é o mais poderoso e possivelmente não será concluído. É a abordagem clássica de força bruta que tenta todas as combinações de caracteres até que um resultado possível seja encontrado.

A melhor maneira de tentar quebrar uma senha é permitir que o JtR tente vários modos comuns de quebra. O comando abaixo diz ao JtR para tentar o modo “simples”, depois mudar para as listas de palavras-padrão contendo senhas prováveis e, em seguida, tentar o modo “incremental”.

.\john.exe passwordfile

Você também pode baixar diferentes listas de palavras da internet e criar suas próprias para executar o JtR com o parâmetro –wordlist.

.\john.exe passwordfile –wordlist=”wordlist.txt”

Para especificar um modo de cracking, use o parâmetro exato para o modo.

.\john.exe --single passwordfile 
.\john.exe --incremental passwordfile

Regras de manipulação de palavras (mangling)

Mangling é um pré-processador no JtR que otimiza a lista de palavras para acelerar o processo de cracking. Use o parâmetro –rules para definir as regras de mangling.

.\john.exe --wordlist=”wordlist.txt” --rules --passwordfile

Visualizar o output

Para ver a lista de senhas quebradas, use o parâmetro –show.

.\john.exe –show passwordfile

Se a lista de senhas quebradas for longa, você poderá filtrá-la com parâmetros adicionais. Você também pode redirecionar o output usando o redirecionamento básico no shell. Por exemplo, para ver se você quebrou algum usuário root (UID=0), use o parâmetro –users.

.\john.exe --show --users=0 passwordfile

Como alternativa, para mostrar usuários de grupos privilegiados, use –groups.

.\john.exe –-show –-groups=0,1 passwordfile

Abaixo está o comando do JtR do nosso webinar de ataque cibernético ao vivo. Nesse cenário, nosso hacker usou o kerberoast para roubar um Tíquete de concessão de tíquete (TGT) Kerberos, contendo o hash a ser quebrado, que foi salvo em um arquivo chamado ticket.txt. No nosso caso, a lista de palavras usada é o clássico arquivo de senha rockyou do Kali Linux, e o comando foi definido para destacar o progresso a cada três segundos.

.\john.exe "--format=krb5tgs" "ticket.txt" "--wordlist=”rockyou.txt" "--progress-every=3"

Para ver algumas táticas de defesa e pentesting com a Varonis, confira os webinars de ataque cibernético ao vivo. Escolha o horário de sua preferência!

We're Varonis.

We've been keeping the world's most valuable data out of enemy hands since 2005 with our market-leading data security platform.

How it works