Um bom profissional de segurança da informação precisa urgente desenvolver seus próprios dicionários. Por que não pegar dicionários online? Através de esteganografia podem ter colocado trojan nelas e ainda elas podem não ser do jeito que você quer. Já ouviram aquele ditado, se quer fazer bem, fala você mesmo? Então, faça você mesmo uma wordlist poderosa que pode quebrar qualquer tipo de senha. O software que é programado para gerar wordlists poderosas é chamado chunch. Ele já vem no backtrack Este é um dos melhores software para gerar wordlists complexas! A pergunta que você me faz é a seguinte! É possível fazer wordlists de senhas com 10 caracteres, com letras maíúsculas, minúsculas, números, caracteres especiais e espaço e todas as combinações possíveis para quebrar senhas com ataque de dicionário?
Sim, mas não tão fácil assim. O problema está no tamanho e do tempo para gerar a wordlist. Eu vou ensinar aqui você a construir uma wordlist de todas as 4 combinações possível em arquivo txt de senhas com letras maíúsculas, minúsculas, números, caracteres especiais e espaço. Sabe quanto de espaço este txt tem? 350 megas!!! Isso mesmo 350 megas. Agora imagine quanto seria de Megas para construir uma wordlist de 10 caracteres complexas? Simplesmente vai ser milhares de gigas e ainda vai demorar meses para você finalizar. Esta de 4 dígitos que vou ensinar é rapidinho! Então não é tão fácil assim ter o poderoso dicionário de todas as senhas possíveis com 20 dígitos!O problema está no espaço e tempo para desenvolver a wordlist! E senhas de 4 dígitos sabemos que quase ninguém usa. Precisariamos de senhas de 10 dígitos no mínimo, mas para isso é preciso de muito espaço em HD! Se você quiser pagar o preço, vá em frente, vai sair bem caro! E você vai ficar com seu computador construindo as wordlists por meses!!!

Do que você precisa.
Usar o Backtrack 4 -instalação - atualização - instala-lo em HD fixo com bom espaço, de 10 a 20 GB por que os dicionários são pesados!

Ter noção de linux

Não vou falar sobre a instalação por que o backtrack já vem com o software Crunch incluso.

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:
Abra o Shell do backtrack
cd /pentest/passwords/crunch/
./crunch 4 6 1234567890 -o /root/numerica6-8.txt

Será gerado um arquivo numerica6-8.txt no diretório /root (na área de trabalho do backtrack4) com todas as combinações possíveis de acordo com os parâmetros que passamos para o crunch. O arquivo fica assim;
120347
120348
120349
120350

Gerar uma wordlist de palavras começando com “maria” seguidas de 4 números:
# /pentest/passwords/crunch/crunch 9 9 1234567890 -t maria@@@@ -o /tmp/wordlist-maria.txtAssim, 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 (fornecido junto com o crunch no backtrack4) 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:

# /pentest/passwords/crunch/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, irá utilizar o conjunto de caracteres mixalpha (letras maiúsculas e minúsculas) e escreverá todo o resultado no arquivo /root/lista-com-charset.txt. Você também pode utilizar os “@” com o charset.lst. Ficaria assim:


# /pentest/passwords/crunch/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 que você defina 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 geração de senhas.


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

cd /pentest/passwords/crunch/

./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, mas vai demorar muito para você fazer e o espaço para isso é absurdo. São muitos gigas, faça o teste, coloque o código acima com 10 10 e verá que não caberã no seu HD!
Para usar esta wordlist para testar senhas de emails e arquivos, use o Hydra ou John the Ripper. Temos o Brutus para windows mas sugiro para testar no linux devido a velocidade.

Conclusão

Se tivermos senhas de 15 a 25 dígitos complexas ou seja que contém letras maiúsculas, minúsculas, números, caracteres especiais e espaço. é quase impossível de quebrar por que para alguém quebrar uma senha de 25 dígitos teria que ter um dicionário com todas as combinações de 25 dígitos, isso ocuparia um espaço de milhares de gigas ou muito mais. É inviável alguém ter um dispositivo de armazenamento tão grande! E ainda demoraria meses quem sabe mais de um ano para finalizar!

Por isso, devemos usar sempre senhas complexas com 10 dígitos para cima. Minhas senhas geralmente tem 14 a 25 dígitos e são complexas. Agora eis a questão!

Tem alguém aqui no fórum que sabe alguma maneira de fazer senhas complexas de 10 dígitos de todas as combinações que é gerada em pouco tempo e que ocupa pouco espaço?

Por exemplo um dicionário de todas as senhas de 10 dígito que pode ser finalizado em 2 dias e que tenha 10 GB apenas?