Você está na página 1de 9

CRUNCH(1) Manual de Comandos Gerais CRUNCH (1)

NOME

crunch - gera listas de palavras a partir de um conjunto de caracteres

SINOPSE

crunch <min-len> <max-len> [<charset string>] [options]

DESCRIÇÃO

O Crunch pode criar uma lista de palavras com base nos critérios que você especificar. A
saída do Crunch pode ser enviada para a tela, arquivo ou para outro programa. Os parâmetros
necessários são:

min-len

O comprimento mínimo da string em que você deseja que o Crunch comece. Esta opção é
necessária mesmo para parâmetros que não usam o valor.

max-len

O comprimento máximo da string que você deseja que ele termine. Esta opção é necessária
mesmo para parâmetros que não usarão o valor.

charset string

Você pode especificar conjuntos de caracteres para o Crunch usar na linha de comando ou se
o deixar em branco, o Crunch irá usar o padrão de conjuntos de caracteres. A ordem DEVE SER em
letras minúsculas, letras maiúsculas, números e símbolos. Se você não seguir esta ordem, você não
obterá os resultados desejados. Você DEVE especificar valores para o tipo de caractere ou um sinal
de mais. NOTA: Se você quiser incluir o caractere de espaço em seu conjunto de caracteres, você
deve escapar dele usando o caractere \ ou coloque seu conjunto de caracteres entre aspas, por
exemplo, "abc". Veja os exemplos 3, 11, 12 e 13 para exemplos.

OPÇÕES
-b number [type]

Especifica o tamanho do arquivo de saída, só funciona se -o START for usado, por exemplo:
60 MB. Os arquivos de saída estarão no formato da letra inicial e letra final, por exemplo: ./crunch
4 5 -b 20mib -o START irá gerar 4 arquivos: aaaa-gvfed.txt, gvfee-ombqy.txt, ombqz-wcydt.txt,
wcydu-zzzzz.txt os valores válidos para types são kb, mb, gb, kib, mib e gib. Os primeiros três tipos
se baseiam em 1000, enquanto os três últimos tipos baseiam-se em 1024. NOTA: Não há espaço
entre o número e o tipo. Para o exemplo 500MB está correto 500 MB NÃO está correto.

-c number

Especifica o número de linhas a serem gravadas no arquivo de saída, só funciona se -o


START for usado, por exemplo: 60. Os arquivos de saída estarão em um formato da letra inicial e
letra final, por exemplo: ./Crunch 1 1 -f /pentest/password/crunch/charset.lst mixalpha-numeric-all-
space -o START -c 60 resultará em 2 arquivos: a-7.txt e 8- \ .txt O motivo da barra no segundo
arquivo‐nome é o caractere final é espaço e ls precisa escapar dele para imprimí-lo. Sim, você
precisará inserir o \ quando especificar o nome do arquivo porque o último caractere é um espaço.

-d numbersymbol

Limita o número de caracteres duplicados. -d 2 @ limita a saída do alfabeto em minúsculas


como aab e aac. aaa não iria ser gerado como isto são 3 letras consecutivas de a. O formato é o
número e o símbolo, onde o número é o número máximo de caracteres consecutivos e o símbolo é o
símbolo do conjunto de caracteres que você deseja limitar, ou seja, @,% ^ Veja os exemplos 17-19.

-e string

Especifica quando o Crunch deve parar mais cedo

-f /path/to/charset.lst charset-name

Especifica um conjunto de caracteres de charset.lst

-i

Inverte a saída, então, em vez de aaa, aab, aac, aad, etc, você obtém aaa, baa, caa, daa, aba,
bba, etc.

-l

Quando você usa a opção -t, esta opção informa ao Crunch quais símbolos devem ser
tratados como literais. Isso permitirá que você use os marcadores de posição como letras no padrão.
A opção -l deve ter o mesmo comprimento que a opção -t. Veja o exemplo 15.

-m

Mesclado com -p. Use -p em vez disso.

-o wordlist.txt

Especifica o arquivo para gravar a saída, por exemplo: wordlist.txt

-p charset OR -p word1 word2 ...

Diz ao Crunch para gerar palavras que não tenham caracteres repetidos. Por padrão, o
Crunch irá gerar um tamanho de lista de palavras de: #of_chars_in_charset ^ max_length. Em vez
disso, esta opção irá gerar #of_chars_in_charset !. O ! significa fatorial. Por exemplo, digamos que
o conjunto de caracteres seja abc e o comprimento máximo seja 4 .. O Crunch gerará por padrão 3 ^
4 = 81 palavras. Esta opção irá em vez disso, gerar 3! = 3x2x1 = 6 palavras (abc, acb, bac, bca, cab,
cba). ESTA DEVE SER A ÚLTIMA OPÇÃO! Esta opção NÃO PODE ser usada com -s e ignora o
comprimento mínimo e máximo, entretanto, você ainda deve especificar dois números.

-q filename.txt

Diz ao Crunch para ler filename.txt e permutar o que é lido. É como a opção -p, exceto que
obtém a entrada do filename.txt.
-r

Diz ao Crunch para retomar a geração de palavras de onde parou. O -r só funciona se você
usar -o. Você deve usar o mesmo comando que o comando original usado para gerar as palavras. A
única exceção a isso é a opção -s. Se o seu comando original usou a opção -s, você DEVE removê-
la antes de retomar a sessão. Basta adicionar -r ao final do comando original.

-s startblock

Especifica uma string inicial, por exemplo: 03god22fs

-t @,% ^

Especifica um padrão, por exemplo: @@ god @@@@ onde apenas os @ 's,,' s,% 's e ^' s
irão mudar.
@ irá inserir caracteres minúsculos
, irá inserir caracteres maiúsculos
% irá inserir números
^ irá inserir símbolos-você

-u

A opção -u desativa o segmento de porcentagem de impressão. Esta deve ser a última opção.

-z gzip, bzip2, lzma e 7z

Compactam a saída da opção -o. Os parâmetros válidos são gzip, bzip2, lzma e 7z.
O gzip é o mais rápido, mas a compactação é mínima. O bzip2 é um pouco mais lento que o gzip,
mas tem uma compactação melhor. 7z émais lento, mas tem a melhor compactação.

EXEMPLOS:

Exemplo 1

crunch 1 8

O Crunch exibirá uma lista de palavras que começa em a e termina em zzzzzzzz

Exemplo 2

crunch 1 6 abcdefg

O Crunch irá mostrar uma lista de palavras usando o conjunto de caracteres abcdefg que
começa em a e termina em gggggg
Exemplo 3

crunch 1 6 abcdefg \

Há um espaço no final da string de caracteres. Para que o Crunch use o espaço, você
precisará escapar dele usando o \personagem. Neste exemplo, você também pode colocar as letras
entre aspas e não precisa do \, ou seja, "abcdefg". O Crunch irá exibir uma lista de palavras usando
o conjunto de caracteres abcdefg que começa em a e termina em (6 espaços).

Exemplo 4

crunch 1 8 -f charset.lst mixalpha-numeric-all-space -o wordlist.txt

O Crunch usará o conjunto de caracteres mixalpha-numeric-all-space de charset.lst e gravará


uma lista de palavras em um arquivo chamado lista de wordlist.txt.
O arquivo começará com a e terminará com " "

Exemplo 5

crunch 8 8 -f charset.lst mixalpha-numeric-all-space -o wordlist.txt -t


@@ dog @@@ -s cbdogaaa

O Crunch deve gerar uma lista de palavras de 8 caracteres usando o conjunto de caracteres
mixalpha-number-all-space de charset.lst e gravará uma lista de palavras em um arquivo chamado
wordlist.txt. O arquivo começará em cbdogaaa e terminará em "dog".

Exemplo 6

crunch 2 3 -f charset.lst ualpha -s BB

O Crunch com começa a gerar uma lista de palavras em BB e termina com ZZZ. Isso é útil
se você tiver que parar de gerar uma lista de palavras no meio.
Basta fazer um tail wordlist.txt e definir o parâmetro -s para a próxima palavra na
sequência.Certifique-se de renomear a lista de palavras original ANTES de começar, pois o Crunch
sobrescreverá a lista de palavras existente.

Exemplo 7

crunch 4 5 -p abc

Os números não são processados, mas são necessários.


O Crunch gerará abc, acb, bac, bca, cab, cba.

Exemplo 8

crunch 4 5 -p cão gato pássaro

Os números não são processados, mas são necessários.


O Crunch irá gerar birdcatdog, birddogcat, catbirddog, catdogbird, dogbirdcat, dogcatbird.
Exemplo 9

crunch 1 5 -o START -c 6000 -z bzip2

O Crunch irá gerar arquivos compactados bzip2 com cada arquivo contendo 6000 palavras.
Os nomes dos arquivos compactados serão first_wordlast_word.txt.bz2

# time ./crunch 1 4 -o START -c 6000 -z gzip


real 0m2.729s
user 0m2.216s
sys 0m0.360s

# time ./crunch 1 4 -o START -c 6000 -z bzip2


real 0m3.414s
user 0m2.620s
sys 0m0.580s

# time ./crunch 1 4 -o START -c 6000 -z lzma


real 0m43.060s
user 0m9.965s
sys 0m32.634s

size filename
30K aaaa-aiwt.txt
12K aaaa-aiwt.txt.gz
3,8 K aaaa-aiwt.txt.bz2
1,1K aaaa-aiwt.txt.lzma

Exemplo 10

crunch 4 5 -b 20mib -o START

Isto irá gerar 4 arquivos: aaaa-gvfed.txt, gvfee-ombqy.txt, ombqz-wcydt.txt, wcydu-zzzzz.txt


Os três primeiros arquivos têm 20 MB (potência real de 2 MegaBytes) e o último arquivo
tem 11 MB.

Exemplo 11

crunch 3 3 abc + 123! @ # -t @% ^

Isto irá gerar uma palavra de 3 caracteres com um caractere como o primeiro caractere e um
número como o segundo caractere e um símbolo para o terceiro caractere. A ordem em que você
especifica os caracteres que deseja é importante. Você deve especificar a ordem como caractere
minúsculo, caractere maiúsculo, número e símbolo. Se você não for usar um conjunto de caracteres
específico, use um sinal de mais como espaço reservado. Como você pode ver, não estou usando o
conjunto de caracteres maiúsculos, portanto, estou usando o espaço reservado com sinal de mais. O
código acima começará em a1! e termina em c3 #

Exemplo 12

crunch 3 3 abc + 123! @ # -t ^% @


Isto irá gerar palavras de 3 caracteres começando com! 1a e terminando com # 3c

Exemplo 13

crunch 4 4 + + 123 + -t %% @ ^

O sinal de mais (+) é um espaço reservado para que você possa especificar um conjunto de
caracteres para o tipo de caractere. O Crunch usará o conjunto de caracteres padrão para o tipo de
caractere quando o Crunch encontrar um + (sinal de mais) na linha de comando. Você deve
especificar valores para cada tipo de caractere ou usar um sinal de mais. Portanto, neste exemplo, os
conjuntos de caracteres serão:

abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ
123
! @ # $% ^ & * () -_ + = ~ `[] {} | \ :;" '<>,.? /

Há um espaço no final da string acima.


A saída começará às 11a! e termine em "33z". As aspas mostram o espaço no final da string.

Exemplo 14

crunch 5 5 -t ddd @@ -o j -p cachorro gato pássaro

Qualquer caractere diferente de um dos seguintes: @,% ^ é o espaço reservado para as


palavras permutarem. Os símbolos @,% ^ têm a mesma função que -t.
Se você quiser usar @,% ^ em sua saída, você pode usar a opção -l para especificar qual
caractere você deseja que o Crunch trate como literal.
Portanto, os resultados são:

birdcatdogaa
birdcatdogab
birdcatdogac
<ignorado>
dogcatbirdzy
dogcatbirdzz

Exemplo 15

crunch 7 7 -t p @ ss,% ^ -l a @ aaaaa

O Crunch agora tratará o símbolo @ como um caractere literal e não substituirá o caractere
por uma letra maiúscula.
Isto vai gerar:

p @ ssA0!
p @ ssA0 @
p @ ssA0 #
p @ ssA0 $
<ignorado>
p @ ssZ9
Exemplo 16

crunch 5 5 -s @ 4 # S2 -t @% ^, 2 -e @ 8 Q2 -l @dddd -b 10KB -o START

O Crunch irá gerar 5 cadeias de caracteres começando com @ 4 # S2 e finalizando em @ 8


Q2. A saída será dividida em arquivos de 10 KB nomeados para os arquivos que começam e
terminam as strings.

Exemplo 17

crunch 5 5 -d 2 @ -t @@@ %%

O Crunch gerará 5 cadeias de caracteres começando com aab00 e terminando em zzy99.


Observe que aaa e zzz não estão presentes.

Exemplo 18

crunch 10 10 -t @@@ ^ %%%% ^^ -d 2 @ -d 3% -b 20mb -o START

O Crunch gerará 10 strings de caracteres começando com aab! 0001 !! e terminando em zzy
9998. A saída será gravada em arquivos de 20 MB.

Exemplo 19

crunch 8 8 -d 2 @

O Crunch gerará 8 caracteres que limitam o mesmo número de caracteres minúsculos a 2. O


Crunch começará em aabaabaa e terminará em zzyzzyzz.

Exemplo 20

crunch 4 4 -f unicode_test.lst japanese -t @@ %% -l @xdd

O Crunch irá carregar alguns caracteres japoneses do arquivo de conjunto de caracteres


unicode_test. A saída começará em @ 日 00 e terminará em @ 語 99.

REDIREÇÃO

Você pode usar a saída do Crunch e canalizá-la para outros programas. Os dois programas
mais populares para inserir o Crunch são: aircrack-ng e airolib-ng.
A sintaxe é a seguinte:

crunch 2 4 abcdefghijklmnopqrstuvwxyz | aircrack-ng /root/Mycapfile.cap -e MyESSID -w-

crunch 10 10 12345 --stdout | airolib-ng testdb -import passwd -

NOTAS

1. A partir da versão 2.6, o Crunch exibirá quantos dados estão prestes a ser gerados. No 2.7,
ele também exibirá quantas linhas serão geradas. O Crunch irá agora aguardar 3 segundos ANTES
de começar a gerar dados para dar a você tempo para pressionar Ctrl-C para abortar o Crunch se
você achar que os valores são muito grandes para o seu aplicativo.
2. Eu adicionei hex-lower (0123456789abcdef) e hex-upper (0123456789ABCDEF) a
charset.lst.

3. Várias pessoas solicitaram que eu adicionasse suporte para o caractere de espaço Crunch.
O Crunch sempre teve suporte ao caractere de espaço na linha de comando e no charset.lst. Para
adicionar um espaço na linha de comando, você deve escapar dele usando o caractere /. Veja o
exemplo 3 para a sintaxe. Você pode precisar escapar de outros caracteres como o ! ou o #
dependendo do seu sistema operacional.

4. Começando em 2.7, se você estiver gerando um arquivo, a cada 10 segundos você


receberá o % concluído.

5. A partir do 3.0, tive que mudar o caractere -t * para um, pois o * é um caracter reservado.
Você ainda pode usá-lo se colocar um \ na frente do *. Sim, quebra a sintaxe do Crunch e faço o
meu melhor para evitar fazer isso, mas neste caso é mais fácil fazer a mudança para o suporte de
longo prazo.

6. Faltou alguma saída. Um arquivo não foi gerado.


A principal explicação é que você ficou sem espaço em disco. Se você verificou que há bastante
espaço em disco, o problema provavelmente é que o nome do arquivo começa com um ponto. No
Linux, os nomes de arquivos que começam com um ponto são ocultados. Para visualizá-los, faça
um ls -l .*

7. O Crunch diz que o comprimento máximo e mínimo deve ser do mesmo tamanho que o
padrão que você especificou, no entanto, o comprimento está definido corretamente. Isso
geralmente significa que seu padrão contém um caractere que precisa ser escapado. No bash, você
precisa escapar o seguinte: &, *, espaço, \, (,), |, ', ",;, <,>. O caractere de escape no bash é um \.
Portanto, um padrão com um & e um * ficaria assim:

crunch 4 4 -t \ & \ * d @

Uma alternativa aos caracteres de escape é envolver sua string com aspas. Por exemplo:

crunch 4 4 -t "& * d @"

Se você quiser usar o "em seu padrão, você precisará escapar dele assim:

crunch 4 4 -t "& * \" @ "

Observe que terminais diferentes têm caracteres de escape diferentes e provavelmente têm
caracteres diferentes que precisarão de escape. Por favor, verifique a página de manual do seu
terminal para os caracteres de escape e caracteres que precisam de escape.

8. Ao usar a opção -z 7z, 7z não exclui o arquivo original.


Você terá que excluir esses arquivos manualmente.

AUTOR

Esta página de manual foi escrita por bofh28@gmail.com

A versão 1.0 do Crunch foi escrita por mimayin@aciiid.ath.cx


todas as versões posteriores do Crunch foram atualizadas por bofh28@gmail.com

ARQUIVOS

Nenhum.

ERROS

Se você encontrar algum, envie um e-mail para bofh28 <bofh28@gmail.com> ou poste para
http://www.backtrack-linux.org

DIREITO AUTORAL

Copyright (c) 2009-2013 bofh28 <bofh28@gmail.com>

Este arquivo faz parte do Crunch.

O Crunch é um software livre: você pode redistribuí-lo e / ou modificá-lo sob os termos da


GNU General Public License conforme publicada pela Free Software Foundation, versão 2 apenas
da Licença.

O Crunch é distribuído na esperança de que seja útil, mas SEM NENHUMA GARANTIA;
sem mesmo a garantia implícita de COMERCIABILIDADE ou ADEQUAÇÃO A UM
DETERMINADO FIM. Veja a GNU General Public License para mais detalhes.

Você deve ter recebido uma cópia da Licença Pública Geral GNU junto com o Crunch. Caso
contrário, consulte <http://www.gnu.org/licenses/>.

Tradução Português_BR

Nome: Ayr Müller Gonçalves-


Data: 26/10/20020
Cidade: Porto Alegre
Estado: Rio Grande do Sul
País: Brasil
Email: creonte38@gmail.com

Você também pode gostar