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

所谓的密码字典主要是配合密码破解软件所使用,密码字典里包括许多人们习惯性设置的密码。这样可以提高密码破解软件的密码破解成功率和命中率,缩短密码破解的时间。当然,如果一个人密码设置没有规律或很复杂,未包含在密码字典里,这个字典就没有用了,甚至会延长密码破解所需要的时间。在Linux中有Crunch和rtgen两个工具,可以来创建密码字典。为方便用户的使用,本节将介绍这两个工具的使用方法。

1 .Crunch工具

Crunch是一种创建密码字典工具,该字典通常用于暴力破解。使用Crunch工具生成的密码可以发送到终端、文件或另一个程序。

下面将介绍使用Crunch工具创建密码字典。

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

(1)启动crunch命令。执行命令如下所示。

<pre>qi@zhuandshao:/home$ crunch</pre>

执行以上命令后,将输出如下所示的信息:

qi@zhuandshao:/home$ crunch
crunch version 3.6

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.

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命令生成密码的语法格式如下所示:

 

crunch命令常用的选项如下所示。

-o:用于指定输出字典文件的位置。 -b:指定写入文件最大的字节数。该大小可以指定KB、MB或GB,但是必须与-o START选项一起使用。 -t:设置使用的特殊格式。 -l:该选项用于当-t选项指定@、%或^时,用来识别占位符的一些字符。 

(2)创建一个密码列表文件,并保存主目录上。其中,生成密码列表的最小长度为4,最大长度为6,并使用0123456789为字符集。执行命令如下所示:

 

qi@zhuandshao:~$ crunch 4 6 0123456789 -o passwd.txt
Crunch will now generate the following amount of data: 7650000 bytes
7 MB
0 GB
0 TB
0 PB
Crunch will now generate the following number of lines: 1110000 

crunch: 100% completed generating output

从以上输出的信息中,可以看到将生成7MB大的文件,总共有1110000行。以上命令执行完成后,将在主目录上生成一个名为pass.txt的字典文件。由于组合生成的密码较多,所以需要很长的时间。

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

qi@zhuandshao:~$ head passwd.txt 
0000
0001
0002
0003
0004
0005
0006
0007
0008
0009
qi@zhuandshao:~$ tail  passwd.txt 
999990
999991
999992
999993
999994
999995
999996
999997
999998
999999

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

2. rtgen工具

rtgen工具用来生成彩虹表。彩虹表是一个庞大的和针对各种可能的字母组合预先计算好的哈希值的集合。彩虹表不一定是针对MD5算法的,各种算法都有,有了它可以快速的破解各类密码。越是复杂的密码,需要的彩虹表就越大,现在主流的彩虹表都是100G以上。

使用rtgen工具生成彩虹表。具体操作步骤如下所示:

(1)切换到rtgen目录。执行命令如下所示。

root@kali:~# cd /usr/share/rainbowcrack/

 
 

(2)使用rtgen命令生成一个基于MD5的彩虹表。执行命令如下所示:


 
 
  1. root@kali:/usr/share/rainbowcrack # ./rtgen md5 loweralpha-numeric 1 5 0 3800 33554432 0
  2. rainbow table md5_loweralpha-numeric #1-5_0_3800x33554432_0.rt parameters
  3. hash algorithm: md5
  4. hash length: 16
  5. charset: abcdefghijklmnopqrstuvwxyz0123456789
  6. 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
  7. charset length: 36
  8. plaintext length range: 1 - 5
  9. reduce offset: 0x00000000
  10. plaintext total: 62193780
  11. sequential starting point begin from 0 ( 0x0000000000000000)
  12. generating…
  13. 131072 of 33554432 rainbow chains generated ( 0 m 42.5 s)
  14. 262144 of 33554432 rainbow chains generated ( 0 m 39.2 s)
  15. 393216 of 33554432 rainbow chains generated ( 0 m 41.6 s)
  16. 524288 of 33554432 rainbow chains generated ( 0 m 42.0 s)
  17. 655360 of 33554432 rainbow chains generated ( 0 m 39.1 s)
  18. 786432 of 33554432 rainbow chains generated ( 0 m 40.1 s)
  19. 917504 of 33554432 rainbow chains generated ( 0 m 39.9 s)
  20. 1048576 of 33554432 rainbow chains generated ( 0 m 38.8 s)
  21. 1179648 of 33554432 rainbow chains generated ( 0 m 39.2 s)
  22. 1310720 of 33554432 rainbow chains generated ( 0 m 38.2 s)
  23. .....
  24. 33161216 of 33554432 rainbow chains generated ( 0 m 40.2 s)
  25. 33292288 of 33554432 rainbow chains generated ( 0 m 38.9 s)
  26. 33423360 of 33554432 rainbow chains generated ( 0 m 38.1 s)
  27. 33554432 of 33554432 rainbow chains generated ( 0 m 39.1 s)

以上信息显示了彩虹表的参数及生成过程。例如,生成的彩虹表文件名为md5_loweralpha-numeric#1-5_0_3800x33554432_0.rt;该表使用MD5散列算法加密的;使用的字符集abcdefghijklmnopqrstuvwxyz0123456789等。

(3)为了容易使用生成的彩虹表,使用rtsort命令对该表进行排序。执行命令如下 所示:


 
 
  1. root@kali :/usr/share/rainbowcrack # rtsort md5_loweralpha-numeric#1-5_0_
  2. 3800x33554432_ 0.rt
  3. md5_loweralpha-numeric #1-5_0_3800x33554432_0.rt:
  4. 1351471104 bytes memory available
  5. loading rainbow table…
  6. sorting rainbow table by end point…
  7. writing sorted rainbow table…

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

 

  本文在原作者文章上进行了改动,仅作为备忘博客。如有任何侵权问题,请联系我。

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

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值