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

Conteúdos

    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!

    What you should do now

    Below are three ways we can help you begin your journey to reducing data risk at your company:

    1. Schedule a demo session with us, where we can show you around, answer your questions, and help you see if Varonis is right for you.
    2. Download our free report and learn the risks associated with SaaS data exposure.
    3. Share this blog post with someone you know who'd enjoy reading it. Share it with them via email, LinkedIn, Twitter, Reddit, or Facebook.

    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.

    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