Como criar uma lista de passwords (dicionário) com o Crunch -Passo a passo com exemplos de comandos

cria_lista_passwords
cria_lista_passwords

Para efectuar ataques a passwords, sejam eles a redes wireless, ataques a paginas webs, servidores, contas administrador, entre outros, muitas vezes são necessários um ficheiro com uma lista de possíveis passwords, sejam elas baseadas em passwords mais comuns (ver aqui o artigo) ou relacionadas já com um alvo especifico.

Para além de tudo mais temos que ter em conta a possível  força da password. recomendo começar com um um dicionário pequeno,  com poucos caracteres e só depois de não se conseguir descobrir a password, começar a inserir números e sinais, e aumentar o numero de caracteres. esse assunto já foi descrito aqui.

 

Vamos então começar.

A sintaxe do programa é bastante simples para começar:

crunch <mínimo> <máximo>  [opções]

 

 

Crunch Exemplos

Crunch Exemplos

 

 

A nossa primeira lista.

crunch 0 2

Isto irá criar uma lista com todas as possibilidades , neste caso 703 hipóteses, com letras do Alfabeto com um ou dois caracteres.

Crunch Exemplos

Crunch Exemplos

Como podem ver é vos apresentada no monitor todas as hipóteses com as opções introduzidas.

Vamos agora especificar os caracteres que queremos na nossa lista, adicionando a seguir ao numero máximo de caracteres por palavra os caracteres pretendidos, sendo aqui o abcd

crunch 0 2 abcd

3

 

Aqui, como podem ver, é nos dado um total de 21 hipóteses.

 

Vamos tentar adicionar outros parâmetros agora.

Será adicionada a opção     -o   ,sendo este parâmetro a letra  o  minúscula e faz com que em vez de serem apresentado no monitor os resultados dos nossos comandos, estes são escritos num ficheiro adicionados pelo parâmetro.

Exemplo:

crunch 4 6 abcdefghijklmnopqrstuvwxyz -o /root/Desktop/dicionario.txt

5

 

Como podem ver a nossa lista aumentou substancialmente visto termos aumentado o numero de caracteres ,  entre 4  a  6 por palavra, e termos escolhido todo o alfabeto minúsculo

Assim a nossa lista está na pasta do nosso Desktop, foi para lá que indicamos com o  /root/Desktop/dicionario.txt

Mais opções :

Para indicar se o ficheiro será dividido por tamanho o parâmetro é o -b  e só funciona se for passado com juntamente com o parâmetro    -o e se o nome do ficheiro for START

O ficheiro ficará com o nome da primeira e última palavra de cada um. Atenção que 1mb como no exemplo é valido mas 1 mb (com um espaço no meio) já não o é.

É possivel passar o tamanho desejado através de :  kb, mb, gb, kib, mib e gib en que os três primeiros regulação a 1000 de diferença entre cada um e os três últimos nos 1024.

o exemplo dado vai criar muitos, mas muitos ficheiros, já que era esse o objectivo neste exemplo, aconselho a mudar o tamanho.

crunch 4 6 abcdefghijklmnopqrstuvwxyz -o /root/Desktop/START -b 1mb

 

 

Crunch, parâmetro para dividir ficheiro

 

Outra opção para dividir os ficheiros é o parâmetro -c  que permite especificar com quantas linhas dividimos por ficheiro. Mais uma vez só funciona se for passado com juntamente com o parâmetro    -o  e se o nome do ficheiro for START.

Neste exemplo a nossa lista será dividida por vários ficheiros com 5000 combinações cada ficheiro.

 crunch 4 6 abcdefghijklmnopqrstuvwxyz -o /root/Desktop/START -c 5000

 

A opção -d  limita numero de caracteres duplicados.

A sua forma é ‘-d <numero de repetições><Tipo de repetições>  . Os tipos de repetições que é aceite são. @,%^

Este exemplo irá fazer com que seja evitado a repetição de mais de duas letras por palavra, dai se utilizar o 2 a seguir ao -d e o @ pois este significa letras.

crunch  2 4 abcdef -d 2@

Veja na imagem seguinte a redução do tamanho na execução de duas listas, uma com o parametro -d 2@ e outro sem.

crunch exemplo

 

 

O parâmetro -e  especifica se a execução deve parar antes do seu final.

O exemplo seguinte irá fazer com que a lista pare ao encontrar na lista bbbb.

Mais uma vez a lista é bastante mais reduzida do que a senão tivéssemos dado o parâmetro -e .

crunch 2 4 abcdef -e bbbb
crunch parametros

crunch parametros

O parametro -f é dos que mais nos poupa trabalho. É possível criar ou indicar um dos já inseridos  conjuntos de caracteres para que seja mais fácil e rápido a criação de listas.

A seguir ao comando -f deve ser introduzido o caminho para a lista   charset.lst e consequentemente o nome do nome do charset.

Pode parecer confuso mas torna-se simples assim que verem o ficheiro charset.lst, este por defeito encontra-se no kali em

/usr/share/crunch/charset.lst

Mas senão o encontrarem ou tiverem outro sistema façam uma procura:

locate  charset.lst

Abram agora esse ficheiro, e o que vos parece é um conjunto de caracteres pré concebidos que irá ser de grande ajuda. Com base nesse ficheiro podem edita-lo, criar novos conjuntos ou utilizar os que ai estão.

A sua execução é dada através da seguinte sintaxe:

-f /caminho/para/o/ficheiro/charset.lst nome_do_conjunto

Vamos então usar o conjunto lalpha-space  que é o abcedario de A-Z em letra minúscula mais o espaço ( ).

crunch 0 2 -f /usr/share/crunch/charset.lst lalpha-space

E aproveitamos e salvamos logo através do parâmetro -o num ficheiro no nosso computador.

crunch 0 2 -f /usr/share/crunch/charset.lst lalpha-space -o /root/Desktop/dicionario_a_z_.txt
crunch charset

crunch charset

 

O parâmetro -i inverte a ordem de saída da palavra e não da lista..

crunch 0 4 ABCD -i

Vamos então ver a diferença.

Foram criados dois ficheiros com o crunch, com os mesmo numero de caracters e lista mas um invertido:

crunch 0 4 ABCD -o /root/Desktop/normal.txt
crunch 0 4 ABCD -i -o /root/Desktop/invertido.txt

Veja a diferença entre os ficheiros, a partir da linha 7:

crunch invertido

 

O parâmetro -p  permite misturar, sem repetir caracteres ou conjunto de caracteres . Util quando sabemos que a password é composta por algumas palavras mas não sabemos a ordem.  Usando este parâmetro embora seja obrigatório a introdução de o máximo e mínimo de caracteres estes deixam de ter importância.

crunch 0 0 -p cao gato passaro

Vai nos dar 6 hipóteses,

caogatopassaro

caopassarogato

gatocaopassaro

gatopassarocao

passarocaogato

passarogatocao

Se quiséssemos com um espaço entre elas, teríamos que acrescentar uma barra invertida e outro espaço para dizer ao programa que aquele espaço faz parte da palavra:

crunch 0 0 -p cao\  gato\  passaro\

Diferença:

crunch lista de palavras

crunch lista de palavras

 

O comando –q é igual ao parâmetro –p, a diferença é com o -q a lista de palavras vem de um ficheiro de texto.

crunch 0 0 -q /caminho/do/ficheiro

 

O comando -r  diz ao programa para continuar a criar a lista de onde ficou se esta tiver sido interrompida. Deverá ser utilizado  a expressão original mais o parâmetro -r. Se tiver sido utilizado o parametro –s, este tem que ser removido.

 

O comando -s indica de onde deve começar a lista.

Assim a nossa lista começa do ABCDE e tudo o que fosse anterior a isso não é criado

crunch 2 4  ABCDEF -s ABCDE

crunch começo da lista

crunch começo da lista

 

Um dos melhores comandos é o -t pois é possível inserir uma patente e modifica-la como entendermos. Sabemos que uma password é composta de um nome, neste caso Patricia mas de seguida é inserido 6 dígitos que não sabemos.

A patente é

Patricia%%%%%%

Complicado? Passo a explicar, cada % representa um lugar que será tomado por um número. Assim sabendo que são seis numero introduzi seis símbolos de percentagem (%). O símbolo é sempre alterado por um numero.

Exemplo:

crunch 14 14  -t Patricia%%%%%%

Vai nos dar todas as opções de palavras que comecem com Patricia e seja seguido de 6 números.

Os caracteres especiais, neste caso que podem ser utilizados com o parâmetro -t são os seguintes:

@   Irá ser substituído por letras minúsculas
,   Irá ser substituído por letras maiúsculas 
%   Irá ser substituído por números
^   Irá ser substituído por símbolos

 

Se soubéssemos que afinal eram 5 números seguidos a Patricia  e um símbolo no fim seria:

crunch 14 14  -t Patricia%%%%%^

Ou se houvesse 2 letras minúsculas  antes de Patricia seria:

crunch 10 10  -t @@Patricia

 

O comando -z permite que os resultados do parâmetro -o (o tal que permite guardar os resultados no pc) sejam comprimidos. Os parâmetros validos são: gzip, bzip2, lzma, e 7z

 

O comando –l permite quando se utiliza o comando -t (o tal das patentes),  que se utilize os tais símbolos especiais numa patente. Se:

crunch 10 10  -t @@Patricia

Irá criar  uma lista com duas letras minúsculas  seguidos de Patricia, com a opção -l  permite que o símbolo @ seja utilizado na lista. O parâmetro -l tem que ter o mesmo numero de caracteres  que o -t.

Não interessa o que se introduz para ficar com o mesmo numero de caracteres, foi utilizado no exemplo a letra a, mas pode ser utilizado qualquer coisa letra, apenas não pode ser utilizado os simbolos especiais, pois isso indica que devem ser utilizados na lista.

crunch 10 10  -t @@Patricia -l @aaaaaaaaa

crunch comandos

crunch comandos


Deixar uma resposta