Gerar dicionário de senhas com Crunch [Kali Linux]

Share
banner

 

As técnicas cracker são bem difundidas entre os profissionais de segurança, além de ser uma das primeiras coisas que os script kidies querem a todo custo fazer rs. Porém o sucesso desta técnica está diretamente ligado a duas coisas: uma engenharia social bem feita e um dicionário de senhas bem elaborado.

Os softwares comumente usados pra efetuar um brute force funcionam perfeitamente bem se você tiver um dicionário de senhas completo, porém as possibilidades de sucesso são bem escassas se você não fizer seu “trabalho de casa” com engenharia social para inserir em seu dicionário de senhas palavras que estejam no cotidiano da vítima, as quais muito provavelmente se referirão as senhas utilizadas pela mesma.

Neste caso, feita a engenharia social, podemos utilizar as ideias levantadas para criar combinações possíveis de palavras para nosso dicionário com o Crunch, um excelente software para gerar wordlists através de possibilidades de combinação de palavras.

O Crunch já vem pré-instalado no Kali Linux porém também pode ser instalado no seu sistema operacional. Segue o link para download: XXX

O objetivo deste artigo é mostrar que senhas fracas são mais fáceis de serem descobertas e o uso das técnicas aqui apresentadas são de responsabilidade do leitor.

Método 1 – Gerando sua wordlist simples

Vamos gerar uma wordlist com strings de no mínimo 4 e no máximo 6 números:

# crunch 4 6 1234567890 -o /root/numerica6-8.txt

Será gerado um arquivo numerica6-8.txt no diretório /root com todas as combinações possíveis dos números de 0 à 9. O arquivo fica assim;

120347
120348
120349
120350…

Gerar uma wordlist de palavras começando com “maria” seguidas de 4 números:

# crunch 9 9 1234567890 -t maria@@@@ -o /tmp/wordlist-maria.txt

Assim, você terá resultados como os seguintes:

maria0070
maria0000
maria9091
maria0113…

O “@” marca os lugares que serão substituídos pelos caracteres indicados na linha de comando. Portanto, você pode colocá-los em qualquer lugar da string. Por exemplo, @@maria modificaria apenas os dois primeiros caracteres e adicionaria “maria” ao final, gerando senhas como:

12maria
AAmaria
A3maria
u9maria…

Dependendo dos caracteres que você passou para o crunch como parâmetro.

 

Método 2 – Gerando senhas complexas com o charset.lst

 

Arquivo charset.lst

O arquivo charset.lst (que já vem compilado no Kali em /usr/share/crunch) tem o objetivo de facilitar a sua vida oferecendo listas de caracteres pré-definidas, assim você não precisa especificar todos os caracteres que deseja utilizar na sua wordlist na mão. Basta especificar o nome no arquivo charset.lst.

Alguns dos conjuntos de caracteres oferecidos pelo charset.lst são:

lalpha: apenas letras minúsculas;
ualpha: apenas letras maiúsculas;
lalpha-numeric: letras minúsculas e números;
ualpha-numeric: letras maiúsculas e números;
lalpha-numeric-all-space: letras minúsculas, números e caracteres especiais como ?, ;, :, espaço, etc.;
ualpha-numeric-all-space: letras maiúsculas, números e caracteres especiais como ?, ;, :, espaço, etc.;
mixalpha: letras minúsculas e maiúsculas;
mixalpha-numeric-all-space: letras maiúsculas, minúsculas, números, caracteres especiais e espaço.

Existem mais alguns conjuntos pré-definidos, basta dar um “cat charset.lst” que todas as listas e os caracteres que elas englobam serão exibidos para você. Para utilizar algum conjunto pré-definido pelo charset.lst, a linha de comando ficaria assim:

# crunch 4 8 -f charset.lst mixalpha -o /root/lista-com-charset.txt

Este comando gerará uma wordlist de no mínimo 4 caracteres, no máximo 8, e irá utilizar o conjunto de caracteres mixalpha (letras maiúsculas e minúsculas), escrevendo todo o resultado no arquivo /root/lista-com-charset.txt.

Você também pode utilizar o “@” com o charset.lst. Ficaria assim:

# crunch 8 8 -f charset.lst mixalpha-numeric-all-space -t @@abc@@@ -o /root/wordlist-gigante.txt

O comando acima irá gerar palavras de 8 caracteres, combinando abc com qualquer outro caractere possível e irá escrever o resultado no arquivo /root/wordlist-gigante.txt. Gerar uma lista dessa poderá demorar bastante, dependendo da máquina que você está usando (também irá ocupar um espaço considerável no disco).

Outras opções do crunch

Além das opções que já foram citadas nos parágrafos anteriores, você ainda pode utilizar as seguintes:

-s: permite definir em qual string o crunch irá começar a gerar senhas;
-c : define quantos resultados serão escritos no arquivo de saída (só funciona se você utilizar a opção -o START)

Além disso, definir os caracteres na mão (diretamente na linha de comando) não é obrigatório. Se você não definir quais caracteres deverão ser utilizados para gerar as strings, o crunch irá assumir “abcdefghijklmnopqrstuvwxyz” como os caracteres que participação da combinação para geração de senhas.

Criando um dicionário de todas as combinações de 4 digítos possíveis que contém letras maiúsculas, minúsculas, números, caracteres especiais e espaço. 

# crunch 4 4 -f charset.lst mixalpha-numeric-all-space -o /root/thekingwordlist4-4.txt

Isto gerará em alguns minutos uma wordlist de mais ou menos 350 megas em txt de todas as combinações possíveis que contém letras maiúsculas, minúsculas, números, caracteres especiais e espaço. Senhas altamente complexas! Agora para gerar uma wordlist de senhas complexas de 10 dígitos, no lugar de 4 4 coloque 10 10. CUIDADO: o arquivo ficará muito grande e irá demorar bastante para gerar.
Para usar esta wordlist para testar senhas de emails e arquivos, use o Hydra ou John the Ripper.

Fonte

PUBLICIDADE


Quer continuar por dentro das novidades do Blog Seja Livre? Siga o nosso perfil no TWITTER, curta a nossa página no FACEBOOK ou adicione o Blog Seja Livre nos seus círculos do GOOGLE+.

Sobre o Autor

Blogueiro, fundador do Blog Seja Livre, Nerd inveterado, louco por Linux e músico nas horas vagas. Atualmente é o Editor Chefe, Consultor de SEO e Webdesign do Seja Livre, e possui algumas certificações em Linux e Administração de Redes.