kali

最新kali之crunch

2021-12-06  本文已影响0人  黑战士安全

描述:

从字符集生成单词表。

  Crunch可以根据您指定的条件创建单词表。紧缩的输出可以发送到屏幕,文件或另一个程序。必需的参数是:

  min-len

    您想开始处理的最小长度字符串。即使对于不使用该值的参数,此选项也是必需的。

max-len

    您希望收紧的最大长度字符串。即使对于不使用该值的参数,此选项也是必需的。

charset string

    您可以在命令行上指定要使用的字符集的字符集,或者如果留为空白,则字符集将使用默认字符集。顺序必须是小写字母,大写字母,数字和符号。如果不遵循此顺序,则不会获得所需的结果。您必须指定字符类型的值或加号。注意:如果要在字符集中包含空格字符,则必须使用\字符对其进行转义,或者将字符集用引号引起来,即“ abc”。有关示例,请参见示例3、11、12和13。

选项:

-b number[type]

    指定输出文件的大小,仅在使用-o START时有效,即:60MB输出文件将采用首字母结尾字母的格式,例如:./crunch 4 5 -b20mib -o START将生成 4个文件:aaa-gvfed.txt,gvfee-ombqy.txt,ombqz-wcydt.txt,wcydu-zzzzz.txt,类型的有效值为kb,mb,gb,kib,mib和gib。前三种类型基于1000,后三种类型基于1024。注意数字和类型之间没有空格。例如500mb是正确的500 mb是不正确的。

-c number

    指定要写入输出文件的行数,仅在使用-o START时才有效,即:60输出文件将采用首字母结尾的格式,例如:./crunch 1 1 -f /pentest / password / crunch / charset.lst mixalpha-numeric-all-space -o START-c 60将产生2个文件:a-7.txt和8- \ .txt第二个文件名中斜杠的原因是结尾字符 是空格,ls必须对其进行转义以进行打印。是的,在指定文件名时,您需要输入\,因为最后一个字符是空格。

-d numbersymbol

    限制重复字符的数量。-d 2 @将小写字母限制为像aab和aac一样输出。将不会生成aaa,因为这是a的3个连续字母。格式是数字然后是符号,数字是连续字符的最大数量,符号是您要限制的字符集的符号,即@,%^参见示例17-19。

-e string

    指定何时应提前结束

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

    从charset.lst指定一个字符集

-i

    反向输出,以便获得aaa,baa,caa,daa,aba,bba等,而不是aaa,aab,aac,aad等

-l

    当您使用-t选项时,此选项告诉紧缩应该将哪些符号视为文字。这将允许您将占位符用作模式中的字母。-l选项的长度应与-t选项的长度相同。参见示例15。

-m

    与-p合并。请改为使用-p。

-o wordlist.txt

    指定要将输出写入的文件,例如:wordlist.txt

-p charset OR -p word1 word2 ...

    告诉crunch产生没有重复字符的单词。默认情况下,crunch将生成#of_chars_in_charset ^ max_length的单词列表大小。该选项将改为生成#of_chars_in_charset!。!代表阶乘。例如,假设字符集为abc,最大长度为4。默认情况下,crunch将生成3 ^ 4 = 81个字。该选项将改为生成3!= 3x2x1 = 6个字(abc,acb,bac,bca,cab,cba)。这必须是最后的选择!此选项不能与-s一起使用,并且会忽略最小和最大长度,但是您仍然必须指定两个数字。

-q filename.txt

    告诉crunch读取filename.txt并置换读取的内容。类似于-p选项,不同之处在于它从filename.txt获取输入。

-r

    告诉crunch从中断处继续生成单词。-r仅在使用-o时有效。您必须使用与用于生成单词的原始命令相同的命令。唯一的例外是-s选项。如果原始命令使用-s选项,则必须在继续会话之前将其删除。只需将-r添加到原始命令的末尾即可。

-s startblock

    指定一个起始字符串,例如:03god22fs

-t @,%^

    指定一个模式,例如:@@ god @@@@@,其中仅@ 、、、%,^和^会更改。

          @ 将插入小写字符

          , 将插入大写字符

          % 将插入数字

          ^ 将插入符号

-u

    -u选项禁用printpercentage线程。这应该是最后的选择。

-z gzip, bzip2, lzma, and 7z

    压缩-o选项的输出。有效参数是gzip,bzip2,lzma和7z。gzip是最快的,但是压缩是最小的。bzip2比gzip慢一点,但压缩效果更好。7z最慢,但压缩效果最佳。

案例:

例1

crunch 1 8

  crunch将显示一个以a开始,以zzzzzzzz结尾的单词列表

例 2

crunch 1 6 abcdefg

  crunch将使用字符集abcdefg显示一个单词列表,该字符集以a开头并以gggggg结尾

例 3

crunch 1 6 abcdefg\

  字符串末尾有一个空格。为了使紧缩空间能够使用,您需要使用\字符对其进行转义。在此示例中,您也可以在字母两边加上引号,而不需要\,即“ abcdefg”。Crunch将使用字符集abcdefg显示一个单词表,该字符集以a开头,以(6个空格)结尾

例 4

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

  crunch将使用charset.lst中的mixalpha-numeric-all-space字符集,并将单词表写入名为wordlist.txt的文件中。该文件将以a开头,以“”结尾

例 5

crunch 8 8 -f charset.lst mixalpha-numeric-all-space-o wordlist.txt -t @@dog@@@ -s cbdogaaa

  crunch 应该使用charset.lst的mixalpha-number-all-space字符集生成一个8个字符的单词表,并将该单词表写入名为wordlist.txt的文件中。该文件将以cbdogaaa开头,以“ dog”结尾

例 6:

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

    crunch从BB开始生成一个词表,以ZZZ结尾。如果您必须在中间停止生成单词表,这将很有用。只需执行尾部wordlist.txt并将-s参数设置为序列中的下一个单词即可。开始之前,请确保重命名原始单词表,因为紧缩将覆盖现有单词表。

例 7

crunch 4 5 -p abc

  这些数字尚未处理但需要。crunch将生成abc,acb,bac,bca,cab和cba。

例 8

crunch 4 5 -p dog cat bird

  这些数字尚未处理,但需要处理。Crunch会生成birdcatdog,birddogcat,catbirddog,catdogbird,dogbirdcat,dogcatbird。

例 9

crunch 1 5 -o START -c 6000 -zbzip2

  crunch 将生成bzip2压缩文件,每个文件包含6000个单词。压缩文件的文件名将为first_word-last_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.8K  aaaa-aiwt.txt.bz2

  1.1K  aaaa-aiwt.txt.lzma

例 10

crunch 4 5 -b 20mib -o START

  会生成4个文件:aaaa-gvfed.txt,gvfee-ombqy.txt,ombqz-wcydt.txt,wcydu-zzzzz.txt,前三个文件为20MB(实际功率为2兆字节),最后一个文件为11MB。

例 11

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

  将生成一个3个字符长的单词,其中第一个字符为字符,第二个字符为数字,第三个字符为符号。指定所需字符的顺序很重要。您必须将顺序指定为小写字母,大写字母,数字和符号。如果您不打算使用特定的字符集,则可以使用加号作为占位符。如您所见,我没有使用大写字符集,所以我使用了加号占位符。以上将从a1开始!并在c3#处结束

例 12

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

  将产生3个以!1a开头并以#3c结尾的字符词

例 13

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

  加号(+)是占位符,因此您可以为字符类型指定字符集。当Crunch在命令行上遇到+(加号)时,Crunch将使用默认字符集作为字符类型。您必须为每种字符类型指定值或使用加号。即 如果您有两种字符类型,则必须为每种类型指定值或使用加号。因此,在此示例中,字符集将为:

  abcdefghijklmnopqrstuvwxyz

  ABCDEFGHIJKLMNOPQRSTUVWXYZ

  123

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

  上面的字符串的末尾有一个空格

  输出将从11a开始!并以“ 33z”结尾。引号显示字符串末尾的空格。

例14

crunch 5 5 -t ddd@@ -o j -p dog cat bird

  除以下之一以外的任何字符:@,%^是要替换的单词的占位符。@,%^符号具有与-t相同的功能。如果要在输出中使用@,%^,则可以使用-l选项指定要将crunch字符视为文字的字符。所以结果是

  birdcatdogaa

  birdcatdogab

  birdcatdogac

  <skipped>

  dogcatbirdzy

  dogcatbirdzz

例 15

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

  crunch现在会将@符号视为文字字符,而不是将其替换为大写字母。这将生成

  p@ssA0!

  p@ssA0@

  p@ssA0#

  p@ssA0$

  <skipped>

  p@ssZ9

例 16

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

  crunch  将生成5个以@ 4#S2开头并以@ 8 Q2结尾的字符串。输出将分为10KB大小的文件,这些文件以文件的开始和结束字符串命名。

例 17

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

  crunch将生成5个以aab00开头并以zzy99结尾的字符串。请注意,aaa和zzz不存在。

例 18

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

  crunch将生成10个以aab!0001开头的字符串!并以zzy9998结尾输出将被写入20mb文件。

例 19

crunch 8 8 -d 2@

  crunch将生成8个字符,将相同数量的小写字符限制为2个。crunch将开始于aabaabaa并结束于zzyzzyzz。

例 20

crunch 4 4 -f unicode_test.lstjapanese -t @@%% -l @xdd

  crunch将从unicode_test字符集文件中加载一些日语字符。输出将从@日00开始,到@语99结束。

重新定向

  您可以使用Crunch的输出并将其通过管道传输到其他程序。crunch的两个最受欢迎的程序是:aircrack-ng和airolib-ng。语法如下:

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

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

说明

从2.6版开始,Crunch将显示将要生成多少数据。在2.7中,它还将显示将生成多少行。现在,Crunch将等待3秒钟,然后开始生成数据,如果发现值对于应用程序太大,您可以按Ctrl-C取消Crunch。

我在charset.lst中添加了十六进制低位(0123456789abcdef)和十六进制高位(0123456789ABCDEF)。

一些人要求我增加对空格字符的支持。crunch始终在命令行和charset.lst中支持空格字符。要在命令行上添加空格,必须使用/字符对其进行转义。有关语法,请参见示例3。您可能需要转义其他字符!或#(取决于您的操作系统)。

从2.7开始,如果要生成文件,则每10秒将收到%完成。

从3.0开始,我必须将-t *字符更改为a,因为*是保留字符。如果在*前面加上\,您仍然可以使用它。是的,它破坏了crunch的语法,我尽力避免这样做,但是在这种情况下,进行更改以获得长期支持会更容易。

缺少某些输出。没有生成文件。主要的解释是磁盘空间不足。如果您已确认有足够的磁盘空间,则问题很可能是文件名以句点开头。在Linux中,以句点开头的文件名被隐藏。要查看它们,请执行ls -l。*

Crunch表示最大和最小长度应与您指定的图案大小相同,但是长度设置正确。这通常表示您的图案包含需要转义的字符。在bash中,您需要转义以下内容:&,*,空格,\,(,),|,',“,;,<,>。bash中的转义字符是\。因此具有&和的模式 其中的*如下所示:crunch 4 4 -t \&\ * d @转义字符的另一种方法是用引号将字符串引起来,例如:crunch 4 4 -t“&* d @”如果需要 要在您的模式中使用“,您将需要像这样对它进行转义:crunch4 4 -t”&* \“ @”请注意,不同的终端具有不同的转义字符,并且可能具有不同的字符,需要转义。请检查终端的联机帮助页中的转义字符和需要转义的字符。

使用-z 7z选项时,7z不会删除原始文件。您将必须手动删除这些文件。

上一篇 下一篇

猜你喜欢

热点阅读