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…

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

相关文章
相关标签/搜索