Kali-linux建立密碼字典

所謂的密碼字典主要是配合密碼破解軟件所使用,密碼字典裏包括許多人們習慣性設置的密碼。這樣能夠提升密碼破解軟件的密碼破解成功率和命中率,縮短密碼破解的時間。固然,若是一我的密碼設置沒有規律或很複雜,未包含在密碼字典裏,這個字典就沒有用了,甚至會延長密碼破解所須要的時間。在Linux中有Crunch和rtgen兩個工具,能夠來建立密碼字典。爲方便用戶的使用,本節將介紹這兩個工具的使用方法。算法

8.7.1 Crunch工具

Crunch是一種建立密碼字典工具,該字典一般用於暴力破解。使用Crunch工具生成的密碼能夠發送到終端、文件或另外一個程序。下面將介紹使用Crunch工具建立密碼字典。c#

使用Crunch生成字典。具體操做步驟以下所示。工具

(1)啓動crunch命令。執行命令以下所示。post

root@kali:~# crunch

執行以上命令後,將輸出以下所示的信息:加密

crunch version 3.4
Crunch can create a wordlist based on criteria you specify. The outout from crunch can be sent to the screen, file, or to another program.
Usage: crunch <min> <max> [options]
where min and max are numbers
Please refer to the man page for instructions and examples on how to use crunch.

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

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

crunch命令經常使用的選項以下所示。blog

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

(2)建立一個密碼列表文件,並保存在桌面上。其中,生成密碼列表的最小長度爲8,最大長度爲10,並使用ABCDEFGabcdefg0123456789爲字符集。執行命令以下所示:排序

root@kali:~# crunch 8 10 ABCDEFGabcdefg0123456789 –o /root/Desktop/
generatedCrunch.txt
Notice: Detected unicode characters. If you are piping crunch output
to another program such as john or aircrack please make sure that program
can handle unicode input.
Do you want to continue? [Y/n] y
Crunch will now generate the following amount of data: 724845943848960 bytes
691266960 MB
675065 GB
659 TB
0 PB
Crunch will now generate the following number of lines: 66155263819776
AAAAAAAA
AAAAAAAB
AAAAAAAC
AAAAAAAD
AAAAAAAE
AAAAAAAF
AAAAAAAG
AAAAAAAa
AAAAAAAb
AAAAAAAc
……
AAdb6gFe
AAdb6gFf
AAdb6gFg
AAdb6gF0
AAdb6gF1
AAdb6gF2
AAdb6gF3
AAdb6gF4
AAdb6gF5

從以上輸出的信息中,能夠看到將生成659TB大的文件,總共有66155263819776行。以上命令執行完成後,將在桌面上生成一個名爲generatedCrunch.txt的字典文件。因爲組合生成的密碼較多,因此須要很長的時間。ip

(3)以上密碼字典文件生成後,使用Nano命令打開。執行命令以下所示:md5

root@kali:~# nano /root/Desktop/generatedCrunch.txt

執行以上命令後,將會打開generatedCrunch.txt文件。該文件中保存了使用crunch命令生成的全部密碼。

8.7.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…

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

相關文章
相關標籤/搜索