O que é e como funciona o John the Ripper?

A proteção de senhas é um dos pilares mais importantes para garantir a integridade de sistemas e dados.

No entanto, avaliar a robustez das senhas de um sistema é um desafio constante. Para os profissionais de segurança, ferramentas como John the Ripper são fundamentais nesse processo.

Neste artigo, vamos explorar o que é John the Ripper, para que serve, seu papel no pentest, como baixá-lo, suas vantagens e desvantagens.

O que é?

É uma ferramenta de cracking de senhas altamente eficiente e de código aberto. Originalmente desenvolvida para sistemas Unix, expandiu-se para suportar várias plataformas e formatos de senha, incluindo Windows, Linux, macOS e até mesmo dispositivos móveis.

Seu principal objetivo é testar a força das senhas, identificando as que são fracas ou facilmente quebráveis.

Para que serve?

É usado principalmente para o cracking de senhas, ou seja, a quebra de senhas para acessar sistemas e dados protegidos. A ferramenta é amplamente utilizada por:

  1. Pentesters: Para identificar senhas fracas em sistemas e ajudar a fortalecer as práticas de segurança.
  2. Administradores de Sistemas: Para auditar senhas de usuários e garantir que políticas de senha robustas estejam em vigor.
  3. Hackers Éticos: Para simular ataques e descobrir vulnerabilidades em senhas de forma ética.
  4. Pesquisadores de Segurança: Para estudar técnicas de criptografia e segurança de senhas.

Papel no Pentest

Nos testes de penetração, John the Ripper desempenha um papel crucial ao ajudar os profissionais de segurança a simular ataques de força bruta e dicionário contra hashes de senhas.

Essas técnicas de cracking são fundamentais para avaliar a segurança de senhas em um ambiente controlado. Aqui estão alguns cenários comuns onde é utilizado em pentests:

  1. Auditoria de Senhas: Verificar se os usuários estão usando senhas fracas ou comuns que possam ser facilmente quebradas.
  2. Avaliação de Políticas de Senha: Testar a efetividade das políticas de senha implementadas em uma organização.
  3. Exposição de Hashes: Testar a exposição de hashes de senhas em sistemas e como eles podem ser quebrados por atacantes.

Como Baixar e Instalar

Pode ser baixado gratuitamente e está disponível em várias versões, incluindo a Community Edition e a Pro Edition (paga, com recursos avançados).

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.

Também está disponível no Kali Linux como parte de seus pacotes de quebra de senha.

Certifique-se de que seu sistema tenha as dependências necessárias, como gcc, make e outras bibliotecas de desenvolvimento.

  1. Compilar e Instalar:

Extraia os arquivos baixados:

tar -xvf john-VERSAO.tar.gz

Navegue até o diretório extraído:

cd john-VERSAO/src

Compile o código:

./configure && make

Opcionalmente, instale-o no seu sistema:

sudo make install
  1. Executar John the Ripper:

Você pode iniciar o John the Ripper com um comando simples:

./john --test

Para iniciar um ataque de dicionário, use:

./john --wordlist=/path/to/wordlist.txt /path/to/password/file

Algumas dicas de comandos

Vamos explorar alguns comandos essenciais que você deve conhecer para começar a utilizar o John the Ripper. Antes de mais nada, você precisará de um arquivo contendo um valor de hash que deseja decifrar.

Para visualizar uma lista de comandos disponíveis no JtR, execute o seguinte comando:

.\john.exe

Os principais modos de quebra de senhas no John the Ripper são: Quebra Simples, Dicionário e Incremental. Cada um tem suas características específicas:

  • Quebra Simples: É o método mais rápido e eficiente, especialmente se você tiver acesso a um arquivo de senha completo. Este modo utiliza padrões comuns e transformações simples para decifrar senhas rapidamente.
  • Dicionário: Compara os hashes a uma lista conhecida de possíveis senhas. É eficaz quando as senhas são baseadas em palavras comuns ou variações previsíveis.
  • Incremental: Este é o método mais poderoso e, muitas vezes, o mais demorado. Conhecido como ataque de força bruta, ele tenta todas as combinações possíveis de caracteres até encontrar uma correspondência.

Para maximizar as chances de sucesso na quebra de uma senha, o ideal é permitir que o John the Ripper utilize uma combinação desses modos. O comando abaixo instrui o JtR a iniciar com a Quebra Simples, seguida pela comparação com listas de palavras padrão (modo Dicionário) e, finalmente, aplicar o modo Incremental para cobrir todas as possibilidades:

.\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

Visualizar o output

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

.\john.exe –show passwordfile

Vantagens e Desvantagens

Vantagens

  1. Multi-Plataforma: Suporta diversos sistemas operacionais e formatos de hash de senha.
  2. Desempenho Eficiente: Otimizado para performance, tornando-o rápido na quebra de senhas.
  3. Flexibilidade: Oferece suporte a uma ampla gama de ataques, incluindo força bruta, dicionário e ataques híbridos.
  4. Gratuito e de Código Aberto: A versão comunitária é gratuita e continuamente atualizada pela comunidade de segurança.

Desvantagens

  1. Curva de Aprendizado: Pode ser complexo para iniciantes devido à necessidade de familiaridade com a linha de comando e técnicas de cracking de senhas.
  2. Limitações da Versão Gratuita: A Community Edition não possui alguns dos recursos avançados disponíveis na Pro Edition.
  3. Consumo de Recursos: Processos de cracking intensivos podem consumir muitos recursos do sistema, especialmente em ataques de força bruta prolongados.

John the Ripper continua a ser uma ferramenta essencial para qualquer profissional de segurança da informação que busca testar a robustez das senhas.

Seja para auditoria interna ou testes de penetração, sua eficiência e flexibilidade a tornam uma escolha indispensável.

No entanto, como qualquer ferramenta poderosa, é essencial usá-la de maneira ética e responsável. Com o entendimento adequado de seus recursos e limitações, John the Ripper pode ajudar a fortalecer significativamente a segurança de sistemas contra ameaças relacionadas a senhas.

Quer aprender a dominar o John the Ripper e várias outras ferramentas usadas no pentest?

Então não perca a oportunidade de se tornar um especialista com o curso Pentest do Zero ao Profissional da Solyd Offensive Security.

Aprenda as melhores técnicas através de aulas práticas e dinâmicas para se tornar um Pentester profissional e se destacar no mercado.