A instalação do
JtR é extremamente fácil. Primeiro acesse o site
www.openwall.com/john/ e faça o download da versão mais nova (1.7.0.2 no momento em que escrevo o texto). Após o download, descompacte o arquivo e acesse o diretório recém criado:
$ tar xzvf john-1.7.0.2.tar.gz
$ cd john-1.7.0.2
Neste diretório você irá encontrar o sub-diretório "src", é nele que estão os fontes do software e é lá que você precisa ir para compilar o programa:
$ cd src/
A compilação do JtR é feita baseada no processador que você usa na sua máquina para que ele seja mais bem otimizado e tenha um desempenho melhor enquanto tenta quebrar as senhas. Digite make e uma lista com todas as possibilidades será exibida para você. Escolha a mais adequada e:
$ make clean linux-x86-mmx
Lembre-se de substituir o "linux-x86-mmx" pelo valor que mais se adequar ao seu hardware. Após digitar este comando terá início o processo de compilação, que deve levar menos de 5 minutos. :)
Todos os binários resultantes da compilação serão colocados no diretório run, vá para lá:
$ cd ../run
Para testar o binário que foi gerado e verificar se está tudo correto com ele, digite o comando:
$ ./john --test
Isso irá efetuar um teste de benchmarking com todos os algoritmos de criptografia que o JtR suporta. Se você quiser executar o benchmarking com um algoritmo em específico, faça o seguinte:
$ ./john --test --format=[formato que você quer testar]
O parâmetro format pode ser utilizado também quando você estiver tentando quebrar uma senha e souber qual é o formato dela. As opções são DES, BSDI, MD5, BF, AFS e LM.
Uma característica interessante do software é que você não precisa instalá-lo em outros diretórios do sistema: pode utilizar todas as opções e funcionalidades dele diretamente do diretório "run" que é criado quando você compila o programa.
Isso não quer dizer que você não possa instalar o software no diretório que quiser: não há restrição nenhuma quanto a isso. Porém, de acordo com a documentação oficial do software instalar ele system-wide (instalar ele em diretórios como /usr/local/bin, por exemplo) é apenas para pessoas que desenvolvem pacotes do John para o ports de sistemas *BSD ou distribuições do
Linux. Fica à seu critério instalar system-wide ou simplesmente executar a partir do diretório "run".
Se você observou direitinho o diretório run do pacote, você irá ver que vários arquivos além do binário do JtR estão presentes lá. São eles:
- Mailer: é um shellscript desenvolvido para enviar emails para os usuários cujas senhas são fracas e foram quebradas. Seu uso é opcional;
- john.conf: é o arquivo de configuração do JtR. Será explicado mais adiante;
- john: é o executável do software;
- password.lst: um arquivo com algumas senhas para serem utilizadas quando se está quebrando uma senha;
- *.chr: são arquivos binários utilizados diretamente pelo JtR para quebrar as senhas;
- unshadow: quando você já tem acesso aos arquivos shadow e passwd, este script irá combinar ambos para o uso com o John. Recomenda-se utilizar esta opção com --show (explicado mais adiante);
- unafs: pega hashes binários com banco de dados AFS e o coloca em um arquivo no estilo do arquivo /etc/passwd de sistemas Unix-like. Sua saída deve ser redirecionada para um arquivo;
- unique: remove entradas duplicadas de uma wordlist sem modificar a ordem.
É isso, agora que o John já está instalado, vamos configurá-lo!