Como quebrar senhas ou chaves rapidamente usando John the Ripper

John the Ripper é um dos programas de quebra de senhas mais famosos e amplamente usados ​​no Windows, Linux e também sistemas operacionais MacOS. Este programa é open source e é especificamente voltado para crackear senhas por força bruta e também por dicionário, é capaz de crackear hashes de senhas muito rápido (depende da potência do processador do seu computador), e seu uso é muito simples. Hoje neste artigo vamos explicar tudo sobre John the Ripper, um dos programas mais usados ​​para crackear senhas.

O que é John, o Estripador?

Para quem ainda não sabe, John the Ripper é uma ferramenta de quebra de senha escrito em C e amplamente utilizado por analistas de segurança para verificar a robustez de uma chave contra ataques de força bruta. Este programa é capaz de quebrar MD5, SHA-1 e muitos outros hashes amplamente usados ​​no mundo da computação. Este programa é capaz de detectar automaticamente o tipo de hash que estamos quebrando, com o objetivo de tornar mais fácil para o usuário quebrá-lo sem ter que se preocupar com o tipo de hash que está tentando “quebrar”.

Decifre senhas ou chaves muito rápido usando John the Ripper

Algumas características muito importantes deste programa é que ele é otimizado para vários modelos de processadores, funciona em várias arquiteturas de PC e também em diferentes sistemas operacionais, porém, é geralmente usado em sistemas operacionais baseados em Linux, na verdade, nas principais distribuições Linux . orientado para pentesting e segurança do computador já incorporam este programa por padrão.

Este programa é altamente personalizável, nos permite definir o comprimento de uma senha a ser testada, gerar todas as combinações possíveis e atingir o objetivo de quebrar o hash. Também nos permite configurar que gama de letras, números ou símbolos podemos tentar decifrar a senha, além disso, também nos permite incluir regras para decidir como as diferentes variações devem ser feitas.

John the Ripper permite que você pause a quebra da senha e continue em outro momento, isso é ideal caso tenhamos que desligar nosso PC ou servidor, além disso, pode ser automatizado para começar a quebrar uma determinada senha ao iniciar nosso computador, e tudo isso automaticamente, sem a necessidade de intervenção do administrador do sistema.

Ataques de dicionário

Este programa nos permite quebrar senhas por dicionário, se baixarmos um ou mais dicionários de senhas da Internet de várias dezenas de GB, a ferramenta se encarregará de testar cada uma dessas chaves para tentar quebrar o hash da senha. O processo consiste em gerar o hash de cada senha, para depois comparar o hash que queremos quebrar, se o hash for o mesmo então descobrimos a senha, se o hash não corresponder então não é a chave e iremos tem que continuar testando. Seremos capazes de decifrar as senhas que estão contidas nos principais dicionários de uma forma totalmente automatizada.

Um aspecto notável é que não só testa as chaves do dicionário, mas também adiciona números, maiúsculas, minúsculas e símbolos às palavras que colocamos como “entrada”, além disso, também é capaz de combinar palavras para testar ainda mais combinações de senhas e encontre a chave usada.

Ataque de força bruta

O ataque de força bruta consiste em testar todas as combinações de letras, números e símbolos de uma chave com um determinado comprimento. Esse método é o mais lento porque testa todas as combinações e pode levar horas, dias e até anos para quebrar as senhas até um determinado comprimento. Em geral, quebrar uma senha com mais de 12 caracteres nos levará muito tempo para fazê-lo pela força bruta, portanto, você deve levar isso em consideração.

Este programa permite-nos configurar este ataque de força bruta, iremos dizer-lhe para testar apenas letras, letras e números, e até adicionar símbolos. Quanto mais caracteres de “entrada” tivermos, mais tempo levará para testar todas as combinações de senha possíveis, portanto, devemos levar isso em consideração ao configurar a entrada.

Assim que soubermos o que é John the Ripper e seus dois modos de operação, veremos como um administrador de sistema pode usar este programa para verificar a segurança da chave do computador. Dessa forma, verificaremos se somos vulneráveis ​​a um ataque de força bruta ou de dicionário por um hacker que busca obter acesso remoto (ou local) a ele.

Teste de instalação e desempenho

Atualmente este programa está disponível em todos os repositórios das principais distribuições do sistema operacional Linux, portanto, podemos instalá-lo de forma fácil e rápida sem problemas. Caso não esteja disponível para sua distribuição, você sempre poderá adicioná-lo posteriormente editando o arquivo de repositórios. Neste tutorial, vamos usar um Ubuntu sistema operacional para instalar o programa.

sudo apt install john

John The Ripper Crackear Contraseñas tutorial foto 1 Uma vez instalada a ferramenta em nosso sistema operacional, poderemos utilizá-la e começar a crackear senhas, porém, é altamente recomendável antes de começar a crackear chaves, faça um teste rápido de velocidade em nosso computador.

Teste o desempenho em nosso PC

Antes de começarmos a quebrar as senhas, podemos lançar um teste de desempenho simples, onde nosso hardware será testado. Desta forma, poderemos saber a velocidade com que a ferramenta testará chaves com diferentes tipos de criptografia utilizando 100% de nosso CPU. Para fazer isso, basta abrir um terminal Linux e digitar:

john --test

John The Ripper Crackear Contraseñas tutorial foto 2 Como podemos ver, uma série de testes são realizados onde será medido o desempenho, o que pode nos dar uma idéia geral do poder de processamento do nosso computador, com o objetivo de testar todas as combinações de letras, números e símbolos no menor tempo possível. Tempo.

Quebrar senhas com força bruta

Assim que a ferramenta estiver instalada e o teste de desempenho realizado, podemos começar com um caso real. Podemos escolher carregar diretamente o arquivo “/ etc / shadow” que contém as senhas do Linux e quebrá-las, entretanto, neste exemplo, vamos criar um documento manualmente com um nome de usuário e senha e diremos ao John para quebrá-lo. Faremos isso por três motivos:

  • Para não comprometer realmente o nosso sistema.
  • Para obter os resultados o mais rápido possível (usaremos uma chave muito simples como exemplo).
  • Ter um primeiro contato com a ferramenta e familiarizar-se com ela.

Para fazer isso, criamos um novo arquivo de texto chamado “senha.txt”, por exemplo, em nossa pasta pessoal do Ubuntu com o seguinte conteúdo:

user:AZl.zWwxIh15Q

A seguir, instruiremos John a começar a quebrar a senha do arquivo antigo. Para fazer isso, digitamos:

john password.txt

A ferramenta começará a funcionar.

John The Ripper Crackear Contraseñas tutorial foto 3 Devemos esperar que esta ferramenta decifre a senha do arquivo anterior. Este processo pode demorar horas e até dias dependendo da dificuldade. Quando o processo terminar, veremos um resultado semelhante ao seguinte.

John The Ripper Crackear Contraseñas tutorial foto 4 Nossa senha foi quebrada. Para vê-lo, simplesmente temos que usar o comando –show da seguinte maneira:

john --show password.txt

John The Ripper Crackear Contraseñas tutorial foto 5 Nossa senha era “exemplo”. Podemos agora tentar entrar no sistema com o usuário “usuário” e a senha “exemplo”, ou pelo menos, poderíamos fazer isso se tivéssemos trabalhado diretamente com o arquivo / etc / shadow, embora o tempo de cracking demorasse muito mais do que vários minutos.

Mais tarde veremos como usar essa mesma ferramenta, mas como quebrar senhas usando um dicionário como fonte de chaves. Por fim, deixaremos um pequeno desafio para praticar com este programa, copiando exatamente um caso prático de um arquivo / etc / shadow:

redeszone:$6$85X6KHD9$10GCEYlO7fVYKh4kIIaiEN37zCB/ROaG1hYmLYane90m1teephQHEhWVx/grdlB/cgg/1cfEuMIt2UUIllQkI.

Assim que tivermos aprendido a decifrar senhas por força bruta, vamos tentar decifrá-las por dicionário.

Decifre senhas usando um dicionário de chaves

Como no tutorial anterior, neste caso vamos começar com um exemplo de senha que salvamos manualmente em um documento chamado « senha.txt ":

user:AZl.zWwxIh15Q

Em seguida, o que precisamos fazer é ter ou criar um dicionário de chave personalizado. Podemos baixar estes dicionários da Internet, mas para fazer os primeiros testes do programa vamos criar um dicionário simples, que chamaremos « senhas.lst »E no qual inseriremos vários valores, cada um em uma linha, mas um deles sendo a palavra“ exemplo ”(já que corresponde à nossa senha).

João, o Estripador contraseñas diccionario foto 1 Em seguida, simplesmente temos que executar John the Ripper com o –Wordlist = parâmetro seguido pelo caminho do nosso arquivo . Damos um exemplo com os dois arquivos que geramos (a senha criptografada e o dicionário):

john --wordlist=passwords.lst password.txt

João, o Estripador contraseñas diccionario foto 2 Por ter uma senha simples e poucas entradas no dicionário, o processo será praticamente instantâneo. Já quebramos ou descriptografamos a senha. Tudo o que precisamos fazer é usar o parâmetro –show para nos mostrar o resultado.

john --show password.txt

João, o Estripador contraseñas diccionario foto 3 Como você viu, crackear senhas com John the Ripper é realmente simples, a velocidade de crack depende de nosso processador, do método usado para tentar crackear as senhas e também da complexidade e comprimento da senha que queremos quebrar. Outro programa que recomendamos para quebrar senhas é o Hashcat, um programa muito mais avançado que este programa, mas muito mais complexo de usar se você não ler a documentação oficial, além disso, este programa Hashcat nos permite usar o poder do cartão processadores gráficos (GPU) para testar milhões de senhas por segundo.