猫宁!!!
之前收集子域名的时候使用过子域名挖掘机这个windows软件,查看了它所使用的字典,基本上是小写字母数字1-4位的一个合集。
36+36*36+36*36*36+36*36*36*36等于1727604,大约173万个字符,确实可以爆破出来不少的子域名来,而且花费时间可以接受。如果是36的5次方,就有6047万的字符,太多了,花费时间过长,一定程度上得不偿失。
短信验证码很多是6位或者4位的数字,当然也见过5位、7位和8位的,这些数字可以利用crunch快速生成,包括00126之类的,此外对于那些短信验证码存在字母的当然也可以很好应对。
百度云盘分享链接的后缀破解,如1GEVsE,显然就是62的6次方,约为568亿个字符。
系统kali linux
命令man crunch,可以看到crunch这个工具的详细帮助文件,crunch -h只能看到它的功能描述,看不到帮助文件。
Crunch can create a wordlist based on criteria you specify. The output from crunch can be sent to the screen, file, or to another program.
crunch <min> <max> [options]
这是基本的语法格式,必须遵循。规定输出密码的长度,options是其它自定义选项。
%代表数字 ^代表特殊符号 @代表小写字母 ,代表大写字符(逗号)
crunch 1 2
表示输出长度为1或者2的密码,默认基于26个小写英文字母。
crunch 1 2 -o passwd.txt
表示输出长度为1或者2的密码,基于26个小写英文字母,将结果导入名为passwd的txt文档,这个 -o 也可以用 >> 这个符号来代替。
crunch 6 6 -b 1mb -o passwd.txt
表示输出长度为6的密码,基于26个小写英文字母,文件大小限制在1mb,达到这个字节就停止生成,将结果导入名为passwd的txt文档。
crunch 1 1 -c 10 -o passwd.txt
表示输出长度为1的密码,基于26个小写英文字母,文件中的密码数量限制在10个,达到这个数量就停止生成,将结果导入名为passwd的txt文档。
crunch 1 2 abcd2 -o passwd.txt
表示输出长度为1或者2的密码,基于abcd2五个字符,将结果导入名为passwd的txt文档,abcd2中的字符可以是大小写字母数字,均可。
crunch 1 2 "abcd$" -o passwd.txt
表示输出长度为1或者2的密码,基于abcd$五个字符,将结果导入名为passwd的txt文档,加入特殊符号时,要添加双引号方可生效。如果不想使用双引号,那么反斜杠进行转义同样可以,例如crunch 1 2 abcd\$ -o passwd.txt
crunch 11 11 -t 1333%%%%%%% -o passwd.txt
表示输出开头为1333的所有手机号,全长11位,将结果导入名为passwd的txt文档,这里的-t是对输出密码格式的一种自定义。
crunch 4 4 -t @@@% -d 2@ -o passwd.txt
表示输出长度为4位的密码,密码组成为3个小写字母+1个数字,其中每个密码中相同的字母不能连续出现超过2次例如aaa1,-d是对密码更深一级的要求。
crunch 4 4 -p china amercia korea japan -o passwd.txt
表示输出china amercia korea japan四个词汇的随机排列组合生成的字典,将结果导入名为passwd的txt文档,这里的4 4可以任意定义,对结果不产生影响。-p abc则是abc的6中随机组合。
crunch 1 3 -s bb -o passwd.txt
表示输出的字典长度1到3位,从bb作为开端。
crunch 1 3 -o passwd.txt -z 7z
表示输出的字典长度1到3位,将结果导入名为passwd的txt文档,并压缩为7z格式的压缩包,压缩格式只有四种,分别是gzip, bzip2, lzma, and 7z。crunch 1 3 -c 10 -z 7z表示每10个密码生成一个压缩包。
crunch 2 2 -t d% -p aa bb -o passwd.txt
表示输出的字典为aa加数字或者bb加数字,这个d代表aa或者bb,将结果导入名为passwd的txt文档。
crunch 2 2 ab + 12 -t @% -o passwd.txt
表示输出密码长度为2,1个小写字母+1个数字,小写字母是ab,数字是12,中间那个加号必须要有。
crunch 3 3 ab AB 12 -t @,% -o passwd.txt
表示输出的密码长度为3,1个小写字母+1个大写字母+1个数字,与前面一一对应,这里不需要添加加号了
crunch 4 4 ab AB 12 @# -t @,%^ -o passwd.txt
与密码长度为3的雷同,3之后可以类推。
crunch 7 7 -t p@ss,%^ -l a@aa,aa -o passwd.txt
表示p@ss,%^中@和,都是经过转义的,是符号本身,而%和^依然代表数字和特殊符号。
crunch 1 1 -e d -o passwd.txt
表示生成长度为1位的密码,当出现d时,停止生成,字典中包含d。
crunch 2 2 -i -o passwd.txt
表示输出的字典在顺序上和crunch 2 2正好相反,例如crunch 2 2前三个密码是aa/ab/ac,加上-i后就成了aa/ba/ca。
vi /usr/share/crunch/charset.lst
这个是crunch的一个字典原始库,有很多的字符集。
crunch 1 3 -f /usr/share/crunch/charset.lst hex-lower -o passwd.txt
hex-lower是数字和小写字母的集合,输出的密码长度1到3位,以hex-lower为基础。
crunch这个字典生产工具,基本上可以满足绝大部分的字典生成。写这个教程的原因,一方面是巩固,另一方面是目前网上很多的教程只是进行了简单的介绍,不详细。上面介绍的各种自定义方式可以进行*组合,如何做就看想象力和实际需要了。