比較理想的字典是拖庫字典,比如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密碼字典!破解無壓力!真正效率高的破解,是用弱密碼庫、社工出來的密碼庫,而不是自己重新做密碼文件