linux下字典生成工具-crunch與rtgen


 

所謂的密碼字典主要是配合密碼破解軟件所使用,密碼字典里包括許多人們習慣性設置的密碼。這樣可以提高密碼破解軟件的密碼破解成功率和命中率,縮短密碼破解的時間。當然,如果一個人密碼設置沒有規律或很復雜,未包含在密碼字典里,這個字典就沒有用了,甚至會延長密碼破解所需要的時間。在Linux中有Crunch和rtgen兩個工具,可以來創建密碼字典。為方便用戶的使用,本節將介紹這兩個工具的使用方法。

1 .Crunch工具

Crunch是一種創建密碼字典工具,該字典通常用於暴力破解。使用Crunch工具生成的密碼可以發送到終端、文件或另一個程序。

下面將介紹使用Crunch工具創建密碼字典。

使用Crunch生成字典。具體操作步驟如下所示。

(1)啟動crunch命令。執行命令如下所示。

1 qi@zhuandshao:/home$ crunch

執行以上命令后,將輸出如下所示的信息:

1 qi@zhuandshao:/home$ crunch
2 crunch version 3.6
3 
4 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.
5 
6 Usage: crunch <min> <max> [options]
7 where min and max are numbers
8 
9 Please refer to the man page for instructions and examples on how to use crunch.

 

輸出的信息顯示了crunch命令的版本及語法格式。其中,使用crunch命令生成密碼的語法格式如下所示:

crunch [minimum length] [maximum length] [character set] [options]

crunch命令常用的選項如下所示。

-o:用於指定輸出字典文件的位置。 -b:指定寫入文件最大的字節數。該大小可以指定KB、MB或GB,但是必須與-o START選項一起使用。 -t:設置使用的特殊格式。 -l:該選項用於當-t選項指定@、%或^時,用來識別占位符的一些字符。

 

(2)創建一個密碼列表文件,並保存主目錄上。其中,生成密碼列表的最小長度為4,最大長度為6,並使用0123456789為字符集。執行命令如下所示:

1 qi@zhuandshao:~$ crunch 4 6 0123456789 -o passwd.txt
2 Crunch will now generate the following amount of data: 7650000 bytes
3 7 MB
4 0 GB
5 0 TB
6 0 PB
7 Crunch will now generate the following number of lines: 1110000 
8 
9 crunch: 100% completed generating output

 

從以上輸出的信息中,可以看到將生成7MB大的文件,總共有1110000行。以上命令執行完成后,將在主目錄上生成一個名為pass.txt的字典文件。由於組合生成的密碼較多,所以需要很長的時間。

(3)以上密碼字典文件生成后,查看生成的密碼文件的首與尾。執行命令如下所示:

 1 qi@zhuandshao:~$ head passwd.txt 
 2 0000
 3 0001
 4 0002
 5 0003
 6 0004
 7 0005
 8 0006
 9 0007
10 0008
11 0009
12 qi@zhuandshao:~$ tail  passwd.txt 
13 999990
14 999991
15 999992
16 999993
17 999994
18 999995
19 999996
20 999997
21 999998
22 999999

  我們可以看到生成的字典文件符合我們的要求。

 

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
rainbow table md5_loweralpha-numeric#1-5_0_3800x33554432_0.rt parameters
hash algorithm: md5
hash length:    16
charset:        abcdefghijklmnopqrstuvwxyz0123456789
charset in hex: 61 62 63 64 65 66 67 68 69 6a 6b 6c 6d 6e 6f 70 71 72 73 74 75 76 77 78 79 7a 30 31 32 33 34 35 36 37 38 39
charset length: 36
plaintext length range: 1 - 5
reduce offset: 0x00000000
plaintext total: 62193780
sequential starting point begin from 0 (0x0000000000000000)
generating…
131072 of 33554432 rainbow chains generated (0 m 42.5 s)
262144 of 33554432 rainbow chains generated (0 m 39.2 s)
393216 of 33554432 rainbow chains generated (0 m 41.6 s)
524288 of 33554432 rainbow chains generated (0 m 42.0 s)
655360 of 33554432 rainbow chains generated (0 m 39.1 s)
786432 of 33554432 rainbow chains generated (0 m 40.1 s)
917504 of 33554432 rainbow chains generated (0 m 39.9 s)
1048576 of 33554432 rainbow chains generated (0 m 38.8 s)
1179648 of 33554432 rainbow chains generated (0 m 39.2 s)
1310720 of 33554432 rainbow chains generated (0 m 38.2 s)
.....
33161216 of 33554432 rainbow chains generated (0 m 40.2 s)
33292288 of 33554432 rainbow chains generated (0 m 38.9 s)
33423360 of 33554432 rainbow chains generated (0 m 38.1 s)
33554432 of 33554432 rainbow chains generated (0 m 39.1 s)

以上信息顯示了彩虹表的參數及生成過程。例如,生成的彩虹表文件名為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_
3800x33554432_0.rt
md5_loweralpha-numeric#1-5_0_3800x33554432_0.rt:
1351471104 bytes memory available
loading rainbow table…
sorting rainbow table by end point…
writing sorted rainbow table…

輸出以上信息表示生成的彩虹表已成功進行排序。

 

  本文在原作者文章上進行了改動,僅作為備忘博客。如有任何侵權問題,請聯系我。

  原文鏈接:http://www.cnblogs.com/student-programmer/p/6729015.html

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM