John The Ripper consiste em um software desenvolvido pela empresa de software
OpenWall, que tem como objetivo a quebra *teste* de senhas de usuários de servidores.
John, chamado assim pela comunidade que o utiliza, tem sua distribuição feita de modo gratuito, tendo também uma versão Pro, essa sendo paga.
Inicialmente John era desenvolvido unicamente para sistemas unix-like, ou seja, sistemas semelhantes ao UNIX, por exemplo as distribuições Solares e
Linux/Ubuntu. Atualmente, o John pode ser também utilizado em ambientes DOS, Windows, BSD e MacOS, o que ajudou ainda mais a sua propagação no meio da segurança de rede e forense.
O que o John faz é, basicamente, identificar automaticamente qual é o algoritmo de criptografia que foi utilizado para cifrar as senhas presentes no arquivo que lhe foi indicado e, assim, conseguir quebrá-la.
Obs.: O que me fez escrever esse artigo foi a pesquisa para o meu tcc, onde eu precisei misturar os conhecimentos adquiridos em cerca de dez sites diferentes para conseguir, finalmente, obter os resultados. Aproveitei os meus erros e, caso vocês tenham os mesmos problemas que eu tive, aproveitem para resolve-los. :D
Instalação e Compilação
Antes da instalação do John The Ripper, a plataforma (sistema operacional) utilizada foi a distribuição Linux: Debian 8.2, instalada por meio de uma máquina virtual, no software Oracle VM VirtualBox. O software em questão, simula o uso de um determinado sistema operacional, contando que tenha um arquivo .iso, uma imagem do mesmo. Ser uma VM, não influencia muito no processo de quebra da senha, contanto que você a tenha configurado direitinho.
O comando wget serve para puxar o download, o link utilizado foi o do site OpenWall, que desenvolve o John The Ripper,:
Já com a escolha correta do download para Linux 64x. Lembrando que o John The Ripper aqui usado é o gratuito. :)
Também é possível fazer o download através do comando apt-get install john, porém eu tive alguns problemas com o repositório, o configurei de acordo com o padrão do Debian 8.2 (jessie) e depois funcionou direitinho.
O comando tar, seguido dos parâmetros xzvf, foi utilizado para extrair os arquivos, uma vez que o John foi baixado ainda compactado (.gz):
# tar xzvf john-1.8.0.tar.gz
Depois de extrair, é preciso compilar o John. A compilação é feita baseada no processador da máquina em uso, com o intuito de otimizar e ter um desempenho melhor enquanto tenta quebrar as senhas.
O comando utilizado é o
make, caso ele não esteja instalado na máquina, que foi o meu caso, pode ser facilmente obtido através do "apt-get install make".
Após o comando make ser dado dentro do diretório src/ (
cd john-1.8.0/src), uma lista com diversas opções de processadores serão dadas, a que mais se aproximar do processador em uso será a escolhida, no meu caso, Linux-x86-64-avx. Comando:
# make clean Linux-x86-64-avx
Outro pequeno problema que eu tive nesse passo de compilação, que acho válido citar aqui, para caso vocês também tenham, foi no "make clean". Eu tive que baixar um outro pacote de utilitários separadamente, apt-get install gcc, só depois disso eu consegui compilar o John.
Para testar se o John the Ripper está pronto para o uso, e se sua instalação e configuração foram feitas de maneira correta, o comando a se usar é:
# john --test
Nesse mesmo comando, é possível ter uma noção maior do software, lendo com atenção a resposta ao comando.
Como é possível notar, o John consegue quebrar criptografias BSDI, MD5, BCrypt (Blowfish), DES, DES AFS Kerberos, DES trip code e Dummy.