Explore os Recursos da Versão Jumbo do John the Ripper

MySQLBeginner
Pratique Agora

Introdução

John the Ripper (JtR) é uma popular ferramenta de quebra de senhas de código aberto. Embora a versão padrão seja poderosa, a versão "Jumbo" estende significativamente suas capacidades adicionando suporte para muitos mais tipos de hash, modos de quebra e utilitários. Este laboratório irá guiá-lo através da instalação do John the Ripper Jumbo e da exploração de seus recursos aprimorados. Você aprenderá a identificar novos formatos de hash suportados, utilizar modos de quebra avançados e descobrir ferramentas adicionais que vêm com o pacote Jumbo. Ao final deste laboratório, você terá uma compreensão sólida de como o John the Ripper Jumbo pode ser usado para tarefas mais abrangentes de auditoria e recuperação de senhas.

Instalar John the Ripper Jumbo

Nesta etapa, você instalará o John the Ripper Jumbo a partir de seu repositório oficial no GitHub. Isso envolve clonar o repositório, navegar para o diretório de origem e compilar o software.

Primeiro, abra seu terminal. Certifique-se de que você está no diretório ~/project.

cd ~/project

Agora, clone o repositório John the Ripper Jumbo:

git clone https://github.com/openwall/john-the-ripper.git

Navegue para o diretório john-the-ripper/src:

cd john-the-ripper/src

Compile o John the Ripper Jumbo. Usaremos make clean && make -s para garantir uma compilação limpa e suprimir a saída detalhada para um terminal mais limpo.

make clean && make -s

Após a compilação, o executável john estará localizado no diretório ~/project/john-the-ripper/run. Você pode verificar a instalação verificando sua versão.

~/project/john-the-ripper/run/john --version

Você deverá ver uma saída semelhante a esta, indicando a versão Jumbo:

John the Ripper 1.9.0-jumbo-1 (linux-gnu 64-bit x86_64 AVX2)
Copyright (c) 1996-2023 by Solar Designer and others
...

Identificar Novos Formatos de Hash Suportados pelo Jumbo

Nesta etapa, você explorará a extensa lista de formatos de hash suportados pelo John the Ripper Jumbo. A versão Jumbo expande significativamente o número de tipos de hash que podem ser quebrados em comparação com a versão padrão.

Para listar todos os formatos de hash suportados, use a opção --list=formats com o executável john. Como a saída é muito longa, a redirecionaremos para less para facilitar a visualização.

~/project/john-the-ripper/run/john --list=formats | less

Pressione q para sair do less após revisar a lista.

Você também pode filtrar a lista para encontrar tipos de hash específicos. Por exemplo, para ver formatos relacionados a bcrypt, você pode usar grep:

~/project/john-the-ripper/run/john --list=formats | grep -i bcrypt

Você deverá ver uma saída semelhante a esta, mostrando vários formatos bcrypt:

bcrypt, bcrypt-opencl, bcrypt-cuda

Isso demonstra como o Jumbo suporta uma gama mais ampla de tipos de hash modernos e complexos, tornando-o mais versátil para auditoria de senhas.

Utilizar Novos Modos de Quebra no Jumbo

Nesta etapa, você aprenderá sobre alguns dos novos modos de quebra disponíveis no John the Ripper Jumbo. O Jumbo introduz técnicas avançadas de quebra e otimizações que podem melhorar a eficiência da quebra.

Uma das funcionalidades poderosas é a capacidade de usar listas de palavras (wordlists) com regras. Vamos criar um arquivo de senhas simples e uma lista de palavras para demonstrar uma tentativa básica de quebra.

Primeiro, crie um arquivo chamado passwords.txt com um hash de exemplo. Usaremos um hash MD5 simples para demonstração.

echo "user1:21232f297a57a5a743894a0e4a801fc3" > ~/project/passwords.txt

O hash 21232f297a57a5a743894a0e4a801fc3 corresponde à senha admin.

Em seguida, crie uma lista de palavras simples chamada wordlist.txt:

echo -e "password\nadmin\n123456" > ~/project/wordlist.txt

Agora, tente quebrar o hash usando o modo de lista de palavras.

~/project/john-the-ripper/run/john ~/project/passwords.txt --wordlist=~/project/wordlist.txt

Você deverá ver uma saída indicando que a senha foi quebrada:

Using default input encoding: UTF-8
Loaded 1 password hash (Raw-MD5 [MD5])
Cost 1 (iteration count) is not supported for this hash type.
Will run 4 OpenMP threads
Press 'q' or Ctrl-C to abort, almost any other key for status
admin            (user1)
1g 0:00:00:00 DONE (2023-10-27 08:00) 100.0g/s 100.0p/s 100.0c/s 100.0C/s admin
Session completed.

Para mostrar a senha quebrada, use a opção --show:

~/project/john-the-ripper/run/john ~/project/passwords.txt --show

Saída:

user1:admin

1 password hash cracked, 0 left

Este exemplo básico demonstra o modo de lista de palavras. O Jumbo também suporta modos mais complexos, como modo incremental com conjuntos de caracteres, modos externos e muito mais, que você pode explorar mais a fundo usando a documentação.

Explorar Utilitários Adicionais no Jumbo

Nesta etapa, você explorará alguns dos utilitários adicionais que vêm incluídos com o John the Ripper Jumbo. Esses utilitários são projetados para auxiliar em vários aspectos da auditoria de senhas, como preparar arquivos de senhas ou gerar listas de palavras.

Um utilitário útil é o unshadow, que combina os arquivos /etc/passwd e /etc/shadow em um formato que o John the Ripper pode processar. Embora não modifiquemos arquivos do sistema, podemos simular seu uso.

Outro utilitário importante é o unique, que pode filtrar entradas duplicadas de uma lista de palavras. Vamos criar uma lista de palavras com duplicatas e, em seguida, usar o unique para limpá-la.

Crie um arquivo chamado duplicate_wordlist.txt:

echo -e "apple\nbanana\napple\norange\nbanana" > ~/project/duplicate_wordlist.txt

Agora, use o utilitário unique, que está localizado no diretório run, para remover duplicatas:

~/project/john-the-ripper/run/unique ~/project/duplicate_wordlist.txt

A saída deve mostrar apenas palavras únicas:

apple
banana
orange

Isso demonstra como o unique pode ser usado para refinar listas de palavras, o que é crucial para uma quebra eficiente. Você pode encontrar outros utilitários no diretório ~/project/john-the-ripper/run.

Comparar o Jumbo com o John the Ripper Padrão

Nesta etapa, você entenderá as principais diferenças e vantagens do John the Ripper Jumbo em comparação com a versão padrão. Embora a versão padrão seja uma ferramenta sólida, o Jumbo oferece aprimoramentos significativos.

As principais vantagens do Jumbo incluem:

  • Suporte Estendido a Hashes: O Jumbo suporta uma gama muito maior de tipos de hash, incluindo muitos hashes modernos e específicos de aplicativos que a versão padrão não suporta. Isso foi demonstrado na Etapa 2.
  • Desempenho Otimizado: O Jumbo geralmente inclui algoritmos de quebra otimizados e melhor utilização de hardware (como GPUs via OpenCL/CUDA, embora não abordado neste laboratório) para uma quebra mais rápida.
  • Utilitários Adicionais: Como visto na Etapa 4, o Jumbo inclui vários utilitários auxiliares que agilizam o processo de auditoria de senhas.
  • Desenvolvimento Ativo: A versão Jumbo geralmente recebe atualizações mais frequentes e novos recursos da comunidade.

Em resumo, se você leva a sério a auditoria ou recuperação de senhas, a versão Jumbo do John the Ripper é quase sempre a escolha preferida devido às suas capacidades expandidas e desenvolvimento ativo. A versão padrão pode ser suficiente para tarefas básicas, mas o Jumbo fornece um conjunto de ferramentas mais abrangente e atualizado.

Você instalou com sucesso o John the Ripper Jumbo, explorou seu novo suporte a formatos de hash, utilizou um modo de quebra básico e descobriu um de seus utilitários adicionais. Este laboratório forneceu uma compreensão fundamental dos recursos aprimorados oferecidos pela versão Jumbo.

Resumo

Neste laboratório, você instalou com sucesso o John the Ripper Jumbo a partir de seu código-fonte, demonstrando o processo de compilação de uma poderosa ferramenta de segurança. Em seguida, você explorou seu extenso suporte a vários formatos de hash, destacando a versatilidade do Jumbo no manuseio de diferentes tipos de hashes de senha. Você também ganhou experiência prática usando um de seus modos de quebra ao quebrar um hash MD5 de amostra com uma lista de palavras. Além disso, você descobriu e utilizou um utilitário adicional, unique, que ajuda na preparação de listas de palavras para uma quebra mais eficiente. Finalmente, você compreendeu as principais vantagens da versão Jumbo em relação ao John the Ripper padrão, enfatizando seu suporte mais amplo a hashes, otimizações de desempenho e utilitários incluídos. Este laboratório o equipou com habilidades práticas e conhecimento para alavancar o John the Ripper Jumbo para tarefas avançadas de auditoria e recuperação de senhas.