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]
A nossa primeira lista.
crunch 0 2Isto irá criar uma lista com todas as possibilidades , neste caso 703 hipóteses, com letras do Alfabeto com um ou dois caracteres.
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
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
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
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.
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
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.lstMas senão o encontrarem ou tiverem outro sistema façam uma procura:
locate charset.lstAbram 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_conjuntoVamos 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-spaceE 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
O parâmetro -i inverte a ordem de saída da palavra e não da lista..
crunch 0 4 ABCD -iVamos 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.txtVeja a diferença entre os ficheiros, a partir da linha 7:
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 passaroVai 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
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
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 @@PatriciaIrá 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
Nenhum comentário:
Postar um comentário