Como gerar sua wordlist de senhas de usuários ou redes com WPA

diversas palavras agrupadas em balão

diversas palavras agrupadas em balãoUma wordlist é algo básico para que possamos efetuar ataques de força bruta, onde várias combinações de letras, números e caracteres especiais são testados na tentativa de descobrir a senha de um usuário, roteador, rede sem fios, etc.

Existem várias wordlists que podem ser encontradas online, como no projeto http://wordlist.sourceforge.net mas, muitas vezes, queremos wordlists com senhas que somente possuem números e com uma quantidade específica de caracteres. Ex: no mínimo de 5  e  máximo 8 caracteres formadas somente por números, ou muitas vezes que comecem com uma determinada string e que seja seguida por quatro números. Todas essas combinações de wordlists podem ser geradas utilizando o programa Crunch, que já era encontrado nos repositórios do Backtrack e que vem instalado nas versões atuais da distribuição e fica localizado em /pentest/passwords/crunch  ou caso queira fazer o download e instalar manualmente basta baixar aqui.

Como gerar sua primeira wordlist:

Vamos assumir que você acessou o console e está no seguinte diretório:  /pentest/passwords/crunch

Para melhor entender o uso básico do comando é o seguinte

./crunch [tam_minimo] [tam_maximo] [caracteres]  wordlist.txt
Apenas para efeito de teste gere uma gere uma lista de palavras com strings de no mínimo 4 e no máximo 8 números (tipo um número de celular):

# ./crunch 4 8 0123456789 -o /tmp/numerica.txt
Crunch will now generate the following amount of data: 7650000 bytes
941 MB
0 GB
0 TB
0 PB
Crunch will now generate the following number of lines: 111110000
100% 

Se você especificar a opção -o a geração da lista nã0 será ecoada na sua tela,  e será gerado o arquivo, geralmente enquanto está se aprendendo a utilizar o comando é bom deixar sem a opção -o para que possa ver se o que está sendo gerado é o que realmente deseja e quando estiver satisfeito usa a opção -0


Wordlist com uma string fixa

Muitas vezes você pode saber que as senhas começam com uma string fixa, por exemplo as iniciais do nome do usuário ou até mesmo o nome da empresa, etc. Nesse caso basta utilizar a opção -t

Como exemplo, vamos gerar uma wordlist com uma lista de palavras começando com “admin” mais 4 números no fim:

# ./crunch 9 9 0123456789 -t admin@@@@ /tmp/wordlist.admin.txt

O resultado da sua wordlist será assim:

admin0000
admin1049
admin1976
admin9999

O “@” serve para marcar os lugares que serão substituídos pelos caracteres indicados na linha de comando. Você pode colocá-los em qualquer lugar da string por exemplo @@admin@@ geraria:
00admin00
10admin49
19admin76
99admin99

O arquivo charset.lst

Se você listou o conteúdo da pasta onde está instalado o crunch você deve ter percebido que existe um arquivo com o nome  charset.lst , arquivo este que tem o objetivo de facilitar a sua vida oferecendo listas de caracteres pré-definidas,  para que você não precise especificar manualmente todos os caracteres que deseja utilizar na criação da sua wordlist.

o charset.lst oferece os seguintes conjuntos de caracteres:

  • 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.

Se analisar o charset.lst irá notar que existem mais alguns conjuntos pré-definidos, mas os mais utilizados são os acima listados.

Para utilizar algum conjunto pré-definido pelo charset.lst, a linha de comando ficaria assim:

# ./crunch 6 8 -f charset.lst mixalpha /tmp/wordlist.charset.txt

Com este comando você irá gerar uma wordlist de no mínimo 6 caracteres, no máximo 8 e irá utilizar o conjunto de caracteres mixalpha ( letras maíusculas e letras minúsculas ) e o resultado será gerado no arquivo /tmp/wordlist.charset.txt, lembrando que você também pode utilizar os “@” com o charset.lst.

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 da wordlist.

Se quiser entender melhor o comando e suas opções a dica é dar uma lida no manual do programa, basta digitar no console:
# man crunch 

21 comentários para Como gerar sua wordlist de senhas de usuários ou redes com WPA

  • Antonio Silva  disse:

    Amigos Obrigada pelos textos explicativos, são optimos.
    instalei o kali , gosto tenho tentado seguir as vossas explicaçoes sobre a formação de wordlist , consigo que o crunch realize com exito as listas , mas as nao ficam guardadas.
    fiz tudo como explicam aqui excessão a este comando nao consigo..
    /pentest/passwords/crunch .. ja esta , sem exito quanto a guardar..
    crunch 4 4 1234567abdcf -0 /root/desktop/files.txt… crunch faz a lista mas nao fica guardada.
    Agradecia caso me possam ajudar
    Obrigada

    • @mago_on  disse:

      verifique se está digitando o comando e caminho completo a opção é o (minúsculo) e não O (maiúsculo)
      geralmente o caminho correto é /root/Desktop/files.txt e não com d(minúsculo) faça um teste e me informe.
      []s

    • Gibson  disse:

      O meu também não estava salvando, mas quando quando usei a opção -o salvou.

      • @mago_on  disse:

        desculpem me, o correto é com a opção -o para salvar, fiz alguns ajustes no texto para explicar melhor.

  • Gibson  disse:

    Realmente não está salvando o arquivo gerado

    • Gibson  disse:

      Já deu certo, só funcionol com a opção -o

  • Alfredo  disse:

    Caro Mago,
    Como ficaria o comando para gerar um word list alfanumérica, sendo que os 6 primeiros caracteres seriam as letras e os 2 últimos os números?
    Te agradeço

    • @mago_on  disse:

      uma solução seria isso:

      crunch 8 8 -t @@@@@@%%

  • kratos  disse:

    no meu fica assim bash: /crunsh:no such file or directory

    • @mago_on  disse:

      o comando correto é : crunch e não crunsh ! 😉

  • kratos  disse:

    como faço para criar faz uma video aula poh.

    • @mago_on  disse:

      é só seguir o passo a passo prestando atenção a sintaxe dos comandos.

  • Linux  disse:

    Teria no caso com fazer uma wordlist de cada forma/// so numero// letras//simbolos// etc e juntas todas elas em uma so wordlist para tenta uma brute force de 15 digitos?

    • @mago_on  disse:

      você pode fazer a união de todos os caracteres na geração da wordlist.

  • Linux  disse:

    digamos assim que a suposta senha e de 10 digitos faço com 15 digito minha wordlist// sera fornecido as 15 ou so as 10?

    • @mago_on  disse:

      não entendi muito bem sua pergunta, vou responder pelo que entendi:
      Será sempre enviada a sequencia que foi gerada, se for com 15 caracteres serão enviados os 15 caracteres.

  • Felipe  disse:

    olha eu gostaria de saber se existe algum programa ou comando do crunch msm que gere a wordlist de numeros, mas ja começando de um determinado numero. tipo gerar uma que comece do 200000 e va ate o 1000000

    • @mago_on  disse:

      pelo que entendi o comando seria esse:

      # crunch 6 6 0123456789 -s 200000

      Abracos e boa sorte!!

  • anonimo  disse:

    …apenas para constar, ele também aceita >> no lugar de -o

  • Daniel  disse:

    Excelente….mas existe alguma sintaxe que faça o crunch fazer uma wordlist com por exemplo 10 caracteres? O comando crunch 10 10 por exemplo cria uma wordlist de 1 até 10.

    • @mago_on  disse:

      olá Daniel, não sei se entendi corretamente, mas seria isso ?

      ./crunch 10 10 1234567890 -o numeros.txt

Deixe uma resposta

VocÊ pode usar tags e atributos : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">