John The Ripper - Teste de Quebra de Senhas

Há cerca de dez anos o site da empresa SplashData divulga uma lista das senhas mais usadas (e também as piores) por seus usuários. A partir dos dados de 2015, o que mostrarei aqui é como quebrá-las, utilizando o software livre John The Ripper.

[ Hits: 11.331 ]

Por: Marta Laís em 22/09/2016


Sobre o John The Ripper



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.

    Próxima página

Páginas do artigo
   1. Sobre o John The Ripper
   2. Criação dos usuários
   3. Quebra das senhas
Outros artigos deste autor
Nenhum artigo encontrado.
Leitura recomendada

PacketFence em Debian 6

Bloqueio de usuários com página de aviso

Introdução ao Personal Firewall (PF)

SELinux - Segurança em Servidores GNU/Linux

Engenharia Social - Fios de telefone

  
Comentários
[1] Comentário enviado por Adonist em 22/09/2016 - 11:58h

Aqui nao funcionou simplesmente compilando o arquivo. Tive que ir na pasta 'run' e rodar por la com ./john
Mas no debian de qualquer forma vc pode instalar via: apt-get install john.
Excelente post =)

[2] Comentário enviado por mconrado em 22/09/2016 - 13:17h

Antes de mais nada: Post Sensacional! Parabens Lais.

Uma perguntinha: só funciona na máquina local certo?
é possível usar o John para pegar senhas de uma máquina remota na mesma rede?

[3] Comentário enviado por alvaroantoniosbu em 22/09/2016 - 21:47h

Adorei o artigo, primeiro artigo simplesmente incrível.
Pretendo fazer todo o processo futuramente.

[4] Comentário enviado por LaisMD em 23/09/2016 - 12:07h

.

[5] Comentário enviado por LaisMD em 23/09/2016 - 12:11h


[1] Comentário enviado por Adonist em 22/09/2016 - 11:58h

Aqui nao funcionou simplesmente compilando o arquivo. Tive que ir na pasta 'run' e rodar por la com ./john
Mas no debian de qualquer forma vc pode instalar via: apt-get install john.
Excelente post =)


Isso mesmo, Adonist. Mas o que houve no meu caso foi um erro de repositório, então, para que não tenham nenhum problema com a instalação (o mesmo problema que eu) decidi demonstrar dessa forma, entende? Obrigada!! :D

[6] Comentário enviado por LaisMD em 23/09/2016 - 12:15h


[3] Comentário enviado por alvaroantoniosbu em 22/09/2016 - 21:47h

Adorei o artigo, primeiro artigo simplesmente incrível.
Pretendo fazer todo o processo futuramente.


Que bom que gostou, Alvaro. :)

[7] Comentário enviado por LaisMD em 23/09/2016 - 12:17h


[2] Comentário enviado por mconrado em 22/09/2016 - 13:17h

Antes de mais nada: Post Sensacional! Parabens Lais.

Uma perguntinha: só funciona na máquina local certo?
é possível usar o John para pegar senhas de uma máquina remota na mesma rede?


Para acessar o arquivo shadow, onde ficam os hash das senhas, você precisa ter acesso máquina, você pode tentar um ssh (caso seja linux - linux) ou um teamview. :)

[8] Comentário enviado por WBaluz em 23/09/2016 - 16:39h

Muito Legal o artigo. Como de costume, é super importante dar atenção para a criação de senhas.

[9] Comentário enviado por EuzebioViana em 01/10/2016 - 18:45h

Parabéns pelo artigo! Muito bom.

[10] Comentário enviado por sauloray em 03/10/2016 - 15:37h

Boa tarde galera!
Laís muito legal o post, me ajudou muito esses dias a conseguir resolver algumas broncas na empresa.
NOTA: 10 !!!

[11] Comentário enviado por nao_eh_osimpson em 04/07/2019 - 10:09h

Bem explicado e nem um pouco tedioso, meus parabéns

+------+
| bart |
+------+


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts