比较理想的字典是拖库字典,比如CSDN字典,如果要生成字典,可以使用Crunch 和 rtgen 两个工具,
一、密码生成
1、Crunch
(1)启动crunch命令。执行命令如下所示。
#crunch
输出的信息显示了crunch命令的版本及语法格式。其中,使用crunch命令生成密码的语法格式如下所示:
crunch [minimum length] [maximum length] [character set] [options]
crunch命令常用的选项如下所示。
(2)生成演示
-o:用于指定输出字典文件的位置。 -b:指定写入文件最大的字节数。该大小可以指定KB、MB或GB,但是必须与-o START选项一起使用。 -t:设置使用的特殊格式。 -l:该选项用于当-t选项指定@、%或^时,用来识别占位符的一些字符。
# 生成最小为1位,最大为5位元素为所有小写字母的密码字典,其中每一个字典文件包含6000个密码,并将密码文件保存为bz2文件,文件名将以 "第一个密码" + " - " + "最后一个密码" + " .txt.bz2 " 保存(比如000-999.txt.bz2);下面是生成几种格式的压缩文件所用的时间和体积大小对比: 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) crunch 4 4 + + 123 + -t %%@^ #生成4位密码,其中格式为“两个数字”+“一个小写字母”+“常见符号”(其中数字这里被指定只能为123组成的所有2位数字组合)。比如12f# 32j^ 13t$ ...... crunch 3 3 abc + 123 @#! -t @%^ #生成3位密码,其中第一位由“a,b,c”中的一个;第二位为“1,2,3”中的一个;第三位为“!,@,#”中的一个。比如1a! 2a# 3b@ ...... crunch 3 3 abc + 123 @#! -t ^%@ #生成3位密码,其中格式为“字符+数字+字母”,这里字符范围为!@# ,数字范围为 1 2 3 , 字母范围为a b c比如!1c @3b @2a ...... crunch 5 5 -t ddd@@ -p dog cat bird #生成5个元素组成的密码,其中前三个为 dog cat bird任意组合,后两个为两个小写字母的任意组合。比如birddogcatuz catdogbirdab birdcatdogff ...... crunch 7 7 -t p@ss,%^ -l a@aaaaa #生成7位密码,格式为“字符p@ss”+大写字母+数字+符号 比如 p@ssZ9> ...... crunch 5 5 -s @4#S2 -t @%^,% -e @8 Q2 -l @dddd -b 10KB -o START #生成5位密码,格式为小写字母+数字+符号+大写字母+数字,并以 @4#S2开始,分割为10k大小。。。 crunch 5 5 -d 2@ -t @@@%% #生成5位密码,格式为三个字母+两个数字,并限制每个密码最少出现2种字母 crunch 10 10 -t @@@^%%%%^^ -d 2@ -d 3% -b 20mb -o START #生成10位密码,格式为三个小写字母+一个符号+四个数字+两个符号,限制每个密码至少2种字母和至少3种数字 crunch 8 8 -d 2@
2、rtgen
rtgen工具用来生成彩虹表。彩虹表是一个庞大的和针对各种可能的字母组合预先计算好的哈希值的集合。彩虹表不一定是针对MD5算法的,各种算法都有,有了它可以快速的破解各类密码。越是复杂的密码,需要的彩虹表就越大,现在主流的彩虹表都是100G以上。
使用rtgen工具生成彩虹表。具体操作步骤如下所示:
(1)切换到rtgen目录。执行命令如下所示。
root@kali:~# cd /usr/share/rainbowcrack/
(2)使用rtgen命令生成一个基于MD5的彩虹表。执行命令如下所示:
root@kali:/usr/share/rainbowcrack# ./rtgen md5 loweralpha-numeric 1 5 0 3800 33554432 0以上信息显示了彩虹表的参数及生成过程。例如,生成的彩虹表文件名为md5_loweralpha-numeric#1-5_0_3800x33554432_0.rt;该表使用MD5散列算法加密的;使用的字符集abcdefghijklmnopqrstuvwxyz0123456789等。
(3)为了容易使用生成的彩虹表,使用rtsort命令对该表进行排序。执行命令如下 所示:
root@kali:/usr/share/rainbowcrack# rtsort md5_loweralpha-numeric#1-5_0_
注意:提供的一个28G密码字典!破解无压力!真正效率高的破解,是用弱密码库、社工出来的密码库,而不是自己重新做密码文件