Uma wordlist é um "componente" básico para que se possa efetuar ataques do tipo "brute force", onde várias combinações de letras, números e caracteres especiais são testados na tentativa de se descobrir a senha de um determinado usuário. Mas, onde conseguir uma wordlist para auditar as senhas dos seus usuários (usando um programa como o
John The Ripper, por exemplo) ou mesmo verificar se o seu roteador Cisco ou seu servidor FTP estão utilizando senhas fortes (usando o
THC-Hydra)?
Existem várias wordlists que você pode encontrar online (como as do projeto
WordList), mas e se você quiser apenas senhas com no mínimo 5 caracteres, no máximo 8 e apenas números? E se você souber que a senha começa com a string "maria" seguida por 4 números? Aqui vou te mostrar como gerar uma wordlist para suprir as suas necessidades utilizando o programa
Crunch.
Instalação
Para tarefas relacionadas à segurança, eu costumo sempre usar o
BackTrack 4 (versão mais recente enquanto escrevo este artigo) rodando em uma máquina virtual no VirtualBox. Nesta distribuição, o
crunch está localizado em
/pentest/password/crunch. Porém, se você não gosta ou não quer utilizar o BackTrack, você pode instalar o crunch em qualquer distribuição
Linux. Para isso, acesse o site
http://sourceforge.net/projects/crunch-wordlist/ e faça o download da versão mais recente.
Aqui não vou cobrir a compilação e instalação do Crunch, vou usar a versão disponibilizada com o BackTrack 4. Você pode obter a ISO (LiveCD instalável) ou a VM (para VMWare, mas que também funciona no VirtualBox) em
http://www.backtrack-linux.org/downloads/. Se você gosta da área de segurança, recomendo fortemente que você separe um tempo para conhecer o BackTrack e todas as ferramentas que ele disponibiliza para você.
Gerando a sua primeira wordlist
Apenas com a finalidade de testar o programa, vamos gerar uma wordlist com strings de no mínimo 4 e no máximo 6 números:
# /pentest/password/crunch/crunch 4 6 1234567890 -o /tmp/wordlist-numerica.txt
Assim, será gerado um arquivo
wordlist-numerica.txt no diretório /tmp com todas as combinações possíveis de acordo com os parâmetros que passamos para o crunch. O arquivo irá conter linhas como essas:
120347
120348
120349
120350
Variando no seu tamanho (entre 4 e 6 caracteres).