terça-feira, 10 de setembro de 2013

Gerando sua própria wordlist com Crunch

terça-feira, 10 de setembro de 2013 - by Igor Tech

/pagead/show_ads.js" type="text/javascript">
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 http://wordlist.sourceforge.net), 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) emhttp://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).

Gerando uma wordlist com uma string fixa

Se você sabe que as senhas começam com uma string fixa, como “maria”, você pode fazer com que o crunch gere senhas que comecem com “maria” e variem quantos caracteres você desejar utilizando a opção -t.
Por exemplo, para gerar uma wordlist de palavras começando com “maria” seguidas de 4 números:
# /pentest/password/crunch/crunch 9 9 1234567890 -t maria@@@@ -o /tmp/wordlist-maria.txt
Assim, você terá resultados como os seguintes:
maria0070
maria0000
maria9091
maria0113
Como você já deve ter percebido, 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.

Utilizando o arquivo charset.lst

O arquivo charset.lst (fornecido junto com o 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:
# /pentest/password/crunch/crunch 4 8 -f charset.lst mixalpha -o /tmp/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 /tmp/lista-com-charset.txt. Você também pode utilizar os “@” com o charset.lst. Ficaria assim:
# /pentest/password/crunch/crunch 8 8 -f charset.lst mixalpha-numeric-all-space -t @@abc@@@ -o /tmp/wordlist-gigante.txt



About the Author

Write admin description here..

© 2013 Igor Tech . WP Theme-junkie converted by BloggerTheme9