Instalar John the Ripper no Linux

Kali LinuxBeginner
Pratique Agora

Introdução

John the Ripper (frequentemente abreviado como JtR) é uma ferramenta popular e poderosa de auditoria de segurança de senhas e recuperação de senhas de código aberto, disponível para muitos sistemas operacionais. Embora muitas vezes possa ser instalado a partir de um gerenciador de pacotes, compilá-lo a partir do código-fonte garante que você tenha a versão mais recente e permite configurações personalizadas.

Neste laboratório, você aprenderá como instalar o John the Ripper em um sistema Linux baixando o código-fonte, compilando-o e adicionando-o ao PATH do seu sistema para facilitar o acesso. Todas as operações serão realizadas dentro do diretório ~/project.

Download do Código-Fonte do John the Ripper

Nesta etapa, você baixará o código-fonte do John the Ripper de seu repositório oficial no GitHub. Em seguida, extrairemos o arquivo baixado para prepará-lo para a compilação. Seu diretório de trabalho atual é ~/project.

Primeiro, use o comando wget para baixar uma versão estável específica da versão "Jumbo" aprimorada pela comunidade do John the Ripper.

wget https://github.com/openwall/john/archive/refs/tags/1.9.0-jumbo-1.tar.gz

Você deverá ver uma saída indicando que o arquivo está sendo baixado e salvo.

--2023-10-27 10:30:00--  https://github.com/openwall/john/archive/refs/tags/1.9.0-jumbo-1.tar.gz
Resolving github.com (github.com)... 140.82.121.4
Connecting to github.com (github.com)|140.82.121.4|:443... connected.
HTTP request sent, awaiting response... 302 Found
...
Saving to: ‘1.9.0-jumbo-1.tar.gz’

1.9.0-jumbo-1.tar.gz      100%[===================================>]  22.13M  65.4MB/s    in 0.3s

2023-10-27 10:30:01 (65.4 MB/s) - ‘1.9.0-jumbo-1.tar.gz’ saved [23201448/23201448]

Em seguida, extraia o conteúdo do arquivo .tar.gz baixado usando o comando tar.

tar -xzvf 1.9.0-jumbo-1.tar.gz

Este comando criará um novo diretório contendo o código-fonte. Você pode verificar isso listando o conteúdo do seu diretório atual.

ls -l

Você deverá ver o novo diretório criado john-1.9.0-jumbo-1.

total 22668
-rw-r--r-- 1 labex labex 23201448 Jul 25  2021 1.9.0-jumbo-1.tar.gz
drwxr-xr-x 9 labex labex     4096 Jul 25  2021 john-1.9.0-jumbo-1

Instalar Dependências Necessárias para Compilação

Nesta etapa, você instalará as ferramentas e bibliotecas necessárias para compilar o John the Ripper a partir do código-fonte. A compilação de software geralmente depende de outros pacotes, como um compilador e bibliotecas de desenvolvimento.

Primeiro, é uma boa prática atualizar a lista de pacotes do seu sistema para garantir que você obtenha as versões mais recentes das dependências.

sudo apt-get update

Em seguida, instale os pacotes essenciais para a construção de software em sistemas baseados em Debian, como o Ubuntu. Precisamos de build-essential (que inclui o compilador GCC e make), libssl-dev (para suporte criptográfico) e yasm (um montador).

sudo apt-get install -y build-essential libssl-dev yasm

O sinalizador -y responde automaticamente "sim" a quaisquer solicitações, permitindo que a instalação prossiga sem interação do usuário. Você verá muita saída enquanto os pacotes são baixados e instalados.

Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
...
The following NEW packages will be installed:
  build-essential dpkg-dev g++ g++-11 libssl-dev libstdc++-11-dev make yasm
...
Setting up libssl-dev:amd64 (3.0.2-0ubuntu1.10) ...
Setting up make (4.3-4.1build1) ...
...

Com as dependências instaladas, você está pronto para compilar o código-fonte.

Compilar John the Ripper a Partir do Código-Fonte

Nesta etapa, você compilará o código-fonte do John the Ripper. O processo de compilação geralmente envolve dois comandos principais: ./configure e make.

Primeiro, navegue até o diretório src dentro da pasta do código-fonte extraído.

cd john-1.9.0-jumbo-1/src/

Agora, execute o script configure. Este script verifica seu sistema em busca das dependências necessárias e prepara o ambiente de compilação, criando um Makefile adaptado ao seu sistema.

./configure

A saída mostrará os resultados de suas verificações.

...
checking for yasm... yasm
checking for OpenSSL... yes
...
configure: creating ./config.status
config.status: creating Makefile
config.status: creating common.h
...
Configuration finished. You can now run "make".

Assim que a configuração for concluída, você poderá iniciar a compilação usando o comando make. Usaremos make -s clean para remover quaisquer arquivos de compilação anteriores e make -sj4 para executar a compilação usando 4 jobs paralelos, o que acelera o processo.

make -s clean && make -sj4

Este processo pode levar alguns minutos para ser concluído. Quando terminar, o executável john compilado será colocado no diretório ../run/. O prompt de comando retornará sem erros se a compilação for bem-sucedida.

Verificar a Instalação do John the Ripper

Nesta etapa, você verificará se o John the Ripper foi compilado com sucesso executando o executável e sua suíte de testes integrada.

O binário compilado não está no diretório src, mas no diretório run. Vamos navegar até ele.

cd ../run

Agora, execute o executável john sem nenhum argumento para exibir suas informações de uso. Esta é uma maneira rápida de confirmar que ele está em execução.

./john

Você deverá ver as informações de versão e uso, o que confirma que o programa é executável.

John the Ripper 1.9.0-jumbo-1 [linux-gnu 64-bit x86_64 AVX2 AC]
Copyright (c) 1996-2019 by Solar Designer and others
Homepage: https://www.openwall.com/john/

Usage: john [OPTIONS] [PASSWORD-FILES]
...

Para realizar uma verificação mais completa, execute o benchmark e o autoteste integrados. Isso testará vários algoritmos de hash e garantirá que eles estejam funcionando corretamente em seu sistema.

./john --test

O teste será executado por um minuto ou dois e exibirá os resultados do benchmark para muitos tipos de hash diferentes.

Benchmarking: descrypt, traditional crypt(3) [DES 128/128 SSE2-16]... DONE
Many salts:	12032K c/s real, 12032K c/s virtual
Only one salt:	11141K c/s real, 11141K c/s virtual

...

Benchmarking: LM [DES 128/128 SSE2-16]... DONE
Raw-MD5 [MD5 128/128 SSE2-16]... DONE
...
All tests passed

Ver "All tests passed" (Todos os testes passaram) no final confirma que sua compilação está funcionando corretamente.

Adicionar John the Ripper ao PATH do Sistema

Nesta etapa, você adicionará o diretório que contém o executável john à variável de ambiente PATH do seu sistema. Isso permitirá que você execute john de qualquer local no terminal sem ter que digitar o caminho completo.

O executável john está atualmente localizado em ~/project/john-1.9.0-jumbo-1/run. Para torná-lo globalmente acessível para seu usuário, você precisa adicionar este caminho ao arquivo de configuração do seu shell. Como o ambiente de laboratório usa Zsh, o arquivo é ~/.zshrc.

Use o comando echo para anexar o comando export ao seu arquivo ~/.zshrc.

echo 'export PATH="$HOME/project/john-1.9.0-jumbo-1/run:$PATH"' >> ~/.zshrc

Este comando adiciona o diretório run ao início do seu PATH. A alteração só terá efeito em novas sessões de terminal. Para aplicá-la à sua sessão atual, você precisa "source" o arquivo de configuração.

source ~/.zshrc

Agora, vamos verificar se funciona. Primeiro, saia do diretório run para o seu diretório home.

cd ~

Do seu diretório home, tente executar john sem especificar o caminho.

john

Se o PATH foi configurado corretamente, você verá as mesmas informações de uso de antes. Isso confirma que você agora pode executar o John the Ripper de qualquer lugar.

John the Ripper 1.9.0-jumbo-1 [linux-gnu 64-bit x86_64 AVX2 AC]
Copyright (c) 1996-2019 by Solar Designer and others
Homepage: https://www.openwall.com/john/

Usage: john [OPTIONS] [PASSWORD-FILES]
...

Resumo

Parabéns! Você instalou com sucesso o John the Ripper a partir do seu código-fonte em um sistema Linux.

Neste laboratório, você aprendeu a:

  • Baixar o código-fonte de um pacote de software usando wget.
  • Instalar as dependências de compilação necessárias usando apt-get.
  • Configurar e compilar o código-fonte com ./configure e make.
  • Verificar uma compilação bem-sucedida executando o programa e seus testes integrados.
  • Adicionar a localização do programa ao PATH do seu sistema para acesso conveniente de qualquer diretório.

Este processo de compilação a partir do código-fonte é uma habilidade fundamental para usuários Linux e lhe dá mais controle sobre suas instalações de software. Agora você está pronto para explorar os poderosos recursos do John the Ripper para auditoria de segurança de senhas.