Kali-WIFI攻防(五)—-WPA密码破解之密码生成工具(Crunch)

摘要

一、Crunch

Crunch是一个wordlist生成器,您可以在其中指定标准字符集或指定的字符集。 它可以产生所有可能的组合和排列。

特征:

● crunch 以组合和排列方式生成单词列表

●  它可以通过行数或文件大小分解输出

●  现在已经恢复支持

●  现在支持数字和符号模式

●  现在分别支持大小写字符模式

●  在生成多个文件时添加状态报告

●  新的L选项的支持文字@,%^

●  新的D选项来限制重复字符详情见帮助

●  现在支持Unicode

该工具中包含:

crunch – 根据您指定的条件创建一个单词列表

root@kali:~# crunch crunch version 3.5  Crunch can create a wordlist based on criteria you specify.  The outout from crunch can be sent to the screen, file, or to another program.  Usage: crunch <min> <max> [options] where min and max are numbers  Please refer to the man page for instructions and examples on how to use crunch.

命令参数:

-b              #体积大小,比如后跟20mib

-c              #密码个数(行数),比如8000

-d              #限制出现相同元素的个数(至少出现元素个数),-d 3就不会出现zzf  ffffgggg之类的

-e              #定义停止生成密码 ,比如-e 222222:到222222停止生成密码

-f               #调用密码库文件,比如/usr/share/crunch/charset.lst

-i                #改变输出格式

-l                #与-t搭配使用

-m              #与-p搭配使用

-o               #保存为

-p               #定义密码元素

-q               #读取字典

-r                #定义从某一个地方重新开始

-s                #第一个密码,从xxx开始

-t                #定义输出格式

@代表小写字母

,代表大写字母    

%代表数字

^代表符号

-z               #打包压缩,格式支持 gzip, bzip2, lzma, 7z

二、案例

crunch 使用示例

使用给定的字符(0123456789abcdef)生成包含最小和最大长度为6(6 6)的单词的字典文件,将输出保存到文件(-0 6chars.txt):

root@kali:~# crunch 6 6 0123456789abcdef -o 6chars.txt Crunch will now generate the following amount of data: 117440512 bytes 112 MB 0 GB 0 TB 0 PB Crunch will now generate the following number of lines: 16777216

注意生成字典的大小,小心撑爆磁盘!

以单纯的8位大小写英文+数组组合,生成的txt大概是

1787 TB

案例1:
crunch 1 8
#生成最小1位,最大8位,由26个小写字母为元素的所有组合

案例2:
crunch 1 6 abcdefg
#生成 最小为1,最大为6.由abcdefg为元素的所有组合

案例3:
crunch 1 6 abcdefg/
#生成 最小为1,最大为6.由abcdefg和空格为元素的所有组合(/代表空格)

案例4:
crunch 1 8 -f charset.lst mixalpha-numeric-all-space -o wordlist.txt

#调用密码库 charset.lst, 生成最小为1,最大为8,元素为密码库 charset.lst中 mixalpha-numeric-all-space的项目,并保存为 wordlist.txt;其中 charset.lst在kali_linux的目录为 /usr/share/crunch/charset.lst, charset.lst中 mixalpha-numeric-all-space项目包含最常见的元素组合(即大小写字母+数字+常见符号);

>想了解更多可以cat /usr/share/crunch/charset.lst 查看所有密码库

案例5:

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

#调用密码库 charset.lst,生成8位密码;其中元素为 密码库 charset.lst中 mixalpha-numeric-all-space的项;格式为“两个小写字母+dog+三个小写字母”,并以cbdogaaa开始枚举(@代表小写字母)

案例6:

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

#调用密码库charset.lst,生成2位和3位密码;其中元素为密码库charset.lst中ualpha的项;并且以BB开头

案例7:

crunch 4 5 -p abc

#crunch将会生成abc, acb, bac, bca, cab, cba,虽然数字4和5这里没用,但必须有

案例8:

crunch 4 5 -p dog cat bird

#crunch将生成以“dog”“cat”“bird”为元素的所有密码组合:birdcatdog,birddogcat,catbirddog,   catdogbird,  dogbirdcat, dogcatbird

案例9:

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

# 生成最小为1位,最大为5位元素为所有小写字母的密码字典,其中每一个字典文件包含6000个密码,并将密码文件保存为bz2文件,文件名将以  "第一个密码" + " – " + "最后一个密码" + " .txt.bz2 " 保存(比如000-999.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位,最大为5位元素为所有小写字母的密码字典,并以20M进行分割;这时会生成4个文件:aaaa-gvfed.txt,  gvfee-ombqy.txt,  ombqz-wcydt.txt, wcydu-zzzzz.txt:其中前三个大概每个20M,最后一个10M左右(因为总共70M)

案例11:

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

#生成4位密码,其中格式为“两个数字”+“一个小写字母”+“常见符号”(其中数字这里被指定只能为123组成的所有2位数字组合)。比如12f#      32j^    13t$    ……

案例12:

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

#生成3位密码,其中第一位由“a,b,c”中的一个;第二位为“1,2,3”中的一个;第三位为“!,@,#”中的一个。比如1a!   2a#      3b@   ……

案例13:

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

#生成3位密码,其中格式为“字符+数字+字母”,这里字符范围为!@# ,数字范围为 1 2 3 , 字母范围为a b c

比如!1c    @3b       @2a       ……

案例14

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

#生成5个元素组成的密码,其中前三个为 dog cat bird任意组合,后两个为两个小写字母的任意组合。比如birddogcatuz         catdogbirdab         birdcatdogff           ……

案例15:

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

#生成7位密码,格式为“字符p@ss”+大写字母+数字+符号     比如  p@ssZ9>  ……

案例16:

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

#生成5位密码,格式为小写字母+数字+符号+大写字母+数字,并以 @4#S2开始,分割为10k大小。。。

案例17:

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

#生成5位密码,格式为三个字母+两个数字,并限制每个密码最少出现2种字母

案例18:

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

#生成10位密码,格式为三个小写字母+一个符号+四个数字+两个符号,限制每个密码至少2种字母和至少3种数字

案例19:

crunch 8 8 -d 2@

#生成8位密码,每个密码至少出现两种字母

案例20:

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

#调用密码库 unicode_test.lst中的 the-greeks项目字符,生成4位密码,其中格式为两小写字母+两数字,同样kali_linux中 unicode_test.lst 在/usr/share/crunch目录

一、Crunch

Crunch是一个wordlist生成器,您可以在其中指定标准字符集或指定的字符集。 它可以产生所有可能的组合和排列。

特征:

● crunch 以组合和排列方式生成单词列表

●  它可以通过行数或文件大小分解输出

●  现在已经恢复支持

●  现在支持数字和符号模式

●  现在分别支持大小写字符模式

●  在生成多个文件时添加状态报告

●  新的L选项的支持文字@,%^

●  新的D选项来限制重复字符详情见帮助

●  现在支持Unicode

该工具中包含:

crunch – 根据您指定的条件创建一个单词列表

root@kali:~# crunch crunch version 3.5  Crunch can create a wordlist based on criteria you specify.  The outout from crunch can be sent to the screen, file, or to another program.  Usage: crunch <min> <max> [options] where min and max are numbers  Please refer to the man page for instructions and examples on how to use crunch.

命令参数:

-b              #体积大小,比如后跟20mib

-c              #密码个数(行数),比如8000

-d              #限制出现相同元素的个数(至少出现元素个数),-d 3就不会出现zzf  ffffgggg之类的

-e              #定义停止生成密码 ,比如-e 222222:到222222停止生成密码

-f               #调用密码库文件,比如/usr/share/crunch/charset.lst

-i                #改变输出格式

-l                #与-t搭配使用

-m              #与-p搭配使用

-o               #保存为

-p               #定义密码元素

-q               #读取字典

-r                #定义从某一个地方重新开始

-s                #第一个密码,从xxx开始

-t                #定义输出格式

@代表小写字母

,代表大写字母    

%代表数字

^代表符号

-z               #打包压缩,格式支持 gzip, bzip2, lzma, 7z

二、案例

crunch 使用示例

使用给定的字符(0123456789abcdef)生成包含最小和最大长度为6(6 6)的单词的字典文件,将输出保存到文件(-0 6chars.txt):

root@kali:~# crunch 6 6 0123456789abcdef -o 6chars.txt Crunch will now generate the following amount of data: 117440512 bytes 112 MB 0 GB 0 TB 0 PB Crunch will now generate the following number of lines: 16777216

注意生成字典的大小,小心撑爆磁盘!

以单纯的8位大小写英文+数组组合,生成的txt大概是

1787 TB

案例1:
crunch 1 8
#生成最小1位,最大8位,由26个小写字母为元素的所有组合

案例2:
crunch 1 6 abcdefg
#生成 最小为1,最大为6.由abcdefg为元素的所有组合

案例3:
crunch 1 6 abcdefg/
#生成 最小为1,最大为6.由abcdefg和空格为元素的所有组合(/代表空格)

案例4:
crunch 1 8 -f charset.lst mixalpha-numeric-all-space -o wordlist.txt

#调用密码库 charset.lst, 生成最小为1,最大为8,元素为密码库 charset.lst中 mixalpha-numeric-all-space的项目,并保存为 wordlist.txt;其中 charset.lst在kali_linux的目录为 /usr/share/crunch/charset.lst, charset.lst中 mixalpha-numeric-all-space项目包含最常见的元素组合(即大小写字母+数字+常见符号);

>想了解更多可以cat /usr/share/crunch/charset.lst 查看所有密码库

案例5:

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

#调用密码库 charset.lst,生成8位密码;其中元素为 密码库 charset.lst中 mixalpha-numeric-all-space的项;格式为“两个小写字母+dog+三个小写字母”,并以cbdogaaa开始枚举(@代表小写字母)

案例6:

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

#调用密码库charset.lst,生成2位和3位密码;其中元素为密码库charset.lst中ualpha的项;并且以BB开头

案例7:

crunch 4 5 -p abc

#crunch将会生成abc, acb, bac, bca, cab, cba,虽然数字4和5这里没用,但必须有

案例8:

crunch 4 5 -p dog cat bird

#crunch将生成以“dog”“cat”“bird”为元素的所有密码组合:birdcatdog,birddogcat,catbirddog,   catdogbird,  dogbirdcat, dogcatbird

案例9:

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

# 生成最小为1位,最大为5位元素为所有小写字母的密码字典,其中每一个字典文件包含6000个密码,并将密码文件保存为bz2文件,文件名将以  "第一个密码" + " - " + "最后一个密码" + " .txt.bz2 " 保存(比如000-999.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位,最大为5位元素为所有小写字母的密码字典,并以20M进行分割;这时会生成4个文件:aaaa-gvfed.txt,  gvfee-ombqy.txt,  ombqz-wcydt.txt, wcydu-zzzzz.txt:其中前三个大概每个20M,最后一个10M左右(因为总共70M)

案例11:

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

#生成4位密码,其中格式为“两个数字”+“一个小写字母”+“常见符号”(其中数字这里被指定只能为123组成的所有2位数字组合)。比如12f#      32j^    13t$    ......

案例12:

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

#生成3位密码,其中第一位由“a,b,c”中的一个;第二位为“1,2,3”中的一个;第三位为“!,@,#”中的一个。比如1a!   2a#      3b@   ......

案例13:

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

#生成3位密码,其中格式为“字符+数字+字母”,这里字符范围为!@# ,数字范围为 1 2 3 , 字母范围为a b c

比如!1c    @3b       @2a       ......

案例14

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

#生成5个元素组成的密码,其中前三个为 dog cat bird任意组合,后两个为两个小写字母的任意组合。比如birddogcatuz         catdogbirdab         birdcatdogff           ......

案例15:

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

#生成7位密码,格式为“字符p@ss”+大写字母+数字+符号     比如  p@ssZ9>  ......

案例16:

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

#生成5位密码,格式为小写字母+数字+符号+大写字母+数字,并以 @4#S2开始,分割为10k大小。。。

案例17:

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

#生成5位密码,格式为三个字母+两个数字,并限制每个密码最少出现2种字母

案例18:

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

#生成10位密码,格式为三个小写字母+一个符号+四个数字+两个符号,限制每个密码至少2种字母和至少3种数字

案例19:

crunch 8 8 -d 2@

#生成8位密码,每个密码至少出现两种字母

案例20:

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

#调用密码库 unicode_test.lst中的 the-greeks项目字符,生成4位密码,其中格式为两小写字母+两数字,同样kali_linux中 unicode_test.lst 在/usr/share/crunch目录

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: