|
crunch使用实例
(1) 案例1生成字母组合
runch 1 8
生成最小1位,最大8位,由26个小写字母为元素的所有组合
(2) 案例2生成指定字符组合
crunch 1 6 abcdefg
生成最小为1,最大为6,由字符串abcdefg开头,以字符串gggggg为结束的所有字符组合
(3) 案例3指定字符串加特殊字符的组合
crunch 1 6 abcdefg\
生成最小为1,最大为6,由abcdefg和空格为元素的所有组合(/代表空格)
(4) 案例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) 案例5生成两位小写字母+dog+三位小写字母
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字符串开始字典生成。mixalpha-numeric-all-space的值为:
[abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%^&*()-_+=~`[]{}|\:;"'<>,.?/ ]
@取值为mixalpha-numeric-all-space中的值。
(6) 案例6生成以BB开头的2位和3位大写字符串
crunch 2 3 -f charset.lst ualpha -s BB
调用密码库charset.lst,生成2位和3位密码;其中元素为密码库charset.lst中ualpha的项;并且以BB开头,其中ualpha = [ABCDEFGHIJKLMNOPQRSTUVWXYZ],表示全部大写。注意charset.lst必须在当前运行程序目录,否则必须指定完整的路径地址。
(7) 案例7—生成某个字符串的所有数学组合
crunch 4 5 -p abc
crunch将会生成abc的所有位置变换,例如abc, acb, bac, bca, cab, cba,虽然数字4和5可以是其它值,但必须是后者大于前者,也可以是1 2,其本质意义是某一个单词的所有组合,流入crunch 1 1 –p password,将生成password中所有的排列组合。8*7*6*5*4*3*2*1=40320个单词。
(8) 案例8—生成单词的所有组合
crunch 4 5 -p dog cat bird
crunch将生成以“dog”“cat”“bird”为元素的所有密码组合:birdcatdog,birddogcat,catbirddog, catdogbird, dogbirdcat, dogcatbird,其大小有字母的排列数决定,在本例中为3×2×1=6个密码。
(9) 案例9生成6000个密码且生成文件压缩为bzip2格式
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) 案例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) 案例11
生成4位密码,其中格式为“两个数字”+“一个小写字母”+“常见符号”(其中数字这里被指定只能为123组成的所有2位数字组合)。比如12f#,32j^,13t$......,换句话说-t选项后面出现的%只能从123中取值。
(12) 案例12
crunch 3 3 abc + 123 !@# -t ^%@
生成3位密码,其中第一位由“a,b,c”中的一个;第二位为“1,2,3”中的一个;第三位为“!,@,#”中的一个。比如1a!、2a#、3b@......(此命令在实际测试中存在问题,!在linux为特殊命令).
(13) 案例13
crunch 4 4 + + 123 + -t %%@^
生成4位密码,其中格式为“两个数字”+“一个小写字母”+“常见符号”(其中数字这里被指定只能为123组成的所有2位数字组合)。比如12f#,32j^,13t$......
加号(+)是一个占位符,以便为字符类型指定一个字符集。crunch将使用默认字符集的字符类型,当crunch遇到一个+(加号)的命令行。您必须为每个字符类型指定值或使用加号。也就是说,如果你有两个字符类型,你要么为每个类型指定值,要么使用加号。“-t %%@^”指定第一和第二位插入数字,第三位插入小写字符,最后一位插入特殊字符,所以在这个例子中设置为:
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ
123
!@#$%^&*()-_+=~`[]{}|\:;"'<>,.?/
生成的结果将会是以11a!开头,以 "33z "结束的字典。
(14) 案例14
crunch 5 5 -t ddd@@ -o j -p dog cat bird
生成5个元素组成的密码,其中前三个为 dog,cat,bird任意组合,后两个为两个小写字母的任意组合。比如birddogcatuz,catdogbirdab,birdcatdogff , ......
(15) 案例15
crunch 7 7 -t p@ss,%^ -l a@aaaaa
加-l选项是将字符串中的@作为文字字符集,而不是做为小写字母进行替换。生成7位密码,格式为“字符p@ss”+大写字母+数字+符号,比如p@ssZ9>......
(16) 案例16
crunch 5 5 -s @4#S2 -t @%^,2 -e @8*Q2 -l @dddd -b 10KB -o START
生成5位密码,以 @4#S2开始,结束于@8*Q2.,并分割为10k大小,格式为小写字母+数字+符号+大写字母+数字。
(17) 案例17
crunch 5 5 -d 2@ -t @@@%%
crunch will generate 5 character strings staring with aab00 and ending at zzy99. Notice that aaa and zzz are not present.
生成5位密码,格式为三个小写字母+两个数字,并限制每个密码最少出现2种字母,以aab00开头,以zzy99结束。“-d 2@”表示字母重复最多2次。
(18) 案例18
crunch 10 10 -t @@@^%%%%^^ -d 2@ -d 3% -b 20mb -o START
crunch will generate 10 character strings starting with aab!0001!! and ending at zzy 9998 The output will be written to 20mb files.
生成10位密码,格式为三个小写字母+一个符号+四个数字+两个符号,限制每个密码至少2种字母和至少3种数字,文件大小为20MB。
(19) 案例19
crunch 8 8 -d 2@
生成8位密码,每个密码至少出现两种字母
(20) 案例20
crunch 4 4 -f unicode_test.lst japanese -t @@%% -l @xdd
crunch will load some Japanese characters from the unicode_test character set file. The output will start at @日00 and end at @語99
调用密码库unicode_test.lst中的 japanese项目字符,生成4位密码,其中格式为两小写字母+两数字。
4. 比较有用的命令
(1)生成pass01-pass99所有数字组合
crunch 6 6 -t pass%% >>newpwd.txt
(2)生成六位小写字母密码,其中前四位为pass
crunch 6 6 -t pass@@ >>newpwd.txt
(3)生成六位密码,其中前四位为pass,后二位为大写
crunch 6 6 -t pass,, >>newpwd.txt
(4)生成六位密码,其中前四位为pass,后二位为特殊字符
crunch 6 6 -t pass^^ >>newpwd.txt
(5)制作8为数字字典
crunch 8 8 charset.lst numeric -o num8.dic
(6)制作6为数字字典
crunch 6 6 0123456789 –o num6.dic
(7)制作139开头的手机密码字典
crunch 11 11 +0123456789 -t 139%%%%%%%% -o num13.dic
文件大小为1144 MB,还可以每次生成文件大小为20M,自动生成文件:
crunch 11 11 +0123456789 -t 139%%%%%%%% -b 20mib -o START
(8)在线使用生成的密码
不用把庞大的字典保存在硬盘上,生成一个密码用一个,不过消耗的时间多,比较占用cpu,参数最后面的-表示引用crunch生成的密码,例如无线密码在线破解:
crunch 2 4 0123456789 | aircrack -ng a,cap -e MyESSID -w -
crunch 10 1012345 --stodout | airolib -ng testdlb -import passwd –
crunch 1 6 0123456789 | john pwd.txt --stdin - |
-
|