RainbowCrack:极具创新性的密码哈希破解器

转载 2013年12月04日 21:43:38

RainbowCrack是一个使用内存时间交换技术(Time-Memory Trade-Off Technique)加速口令破解过程的口令破解器。RainbowCrack使用了彩虹表,也就是一张预先计算好的明文和散列值的对照表。通过预先花费时间创建这样的彩虹表,能够在以后破解口令时节约大量的时间。

AD:2013云计算架构师峰会课程资料下载

RainbowCrack是一个使用内存时间交换技术(Time-Memory Trade-Off Technique)加速口令破解过程的口令破解器。RainbowCrack使用了彩虹表,也就是一张预先计算好的明文和散列值的对照表。通过预先花费时间创建这样的彩虹表,能够在以后破解口令时节约大量的时间。

下载链接:http://down.51cto.com/data/149270


RainbowCrack包含了下述实用程序:

— rtgen.exe——彩虹表生成器,生成口令、散列值对照表。

— rtsort.exe——排序彩虹表,为rcrack.exe提供输入。

— rcrack.exe——使用排好序的彩虹表进行口令破解。

首先使用彩虹表生成器(rtgen.exe)生成自己的彩虹表。其命令行格式为:

rtgen hash_algorithm \
plain_charset plain_len_min plain_len_max \
rainbow_table_index \
rainbow_chain_length rainbow_chain_count \
file_title_suffix
rtgen hash_algorithm \
plain_charset plain_len_min plain_len_max \
rainbow_table_index \
-bench

命令行各参数的意义和取值如表所示。

表 彩虹表生成器使用的参数

参    数
取    值 意    义
Hash_algorithm lm, md5, sha1 散列算法,其中lm表示LANMAN,为Windows口令的散列方法
plain_charset alpha, alphanumeric, alphanumeric- symbol14, all, numeric, loweralpha, lower-alphanumeric1 明文所用字符集,使用byte表示将256个字符全作为字符集
plain_len_min 数字 明文的最小长度
plain_len_max 数字 明文的最大长度
rainbow_table_index 数字 彩虹表的索引
rainbow_chain_length 数字 彩虹链长度
rainbow_chain_count 数字 要生成彩虹链的个数
file_title_suffix 字符串 添加到文件标题后面的字符串,用于书写彩虹表的注释
-bench -bench 测试选项,用于性能测试

下面是使用彩虹表生成器的几个命令行示例:

rtgen lm alpha 1 7 0 100 16 test
rtgen md5 byte 4 4 0 100 16 test
rtgen sha1 numeric 1 10 0 100 16 test
rtgen lm alpha 1 7 0 -bench

除非我们已经对密码分析和内存时间交换技术训练有素,否则就应该使用建议值创建自己的彩虹表。示例8-9演示了如何创建一个128MB的彩虹表。

示例:创建一个128MB的彩虹表。

C:\rainbowcrack-1.2-win>rtgen lm alpha 1 7 0 21 00 8000000 all
hash routine: lm
hash length: 8
plain charset: ABCDEFGHIJKLMNOPQRSTUVWXYZ
plain charset in hex: 41 42 43 44 45 46 47 48 49 4a 4b 4c 4d 4e 4f 50 51 52 53 54 55 56 57 58 59 5a
plain length range: 1 - 7
plain charset name: alpha
plain space total: 8353082582
rainbow table index: 0
reduce offset: 0
generating...
100000 of 8000000 rainbow chains generated (8 m 5 s)
done.

创建彩虹表可能要花费数小时、甚至数天的时间。在生成了彩虹表之后,我们会在当前目录下找到一个名称为lm_alpha#1-7_0_2100x8000000_all.rt的文件,其中all是我们在命令中输入的文件后缀。

接下来的工作是使用彩虹表排序程序(rtsort.exe)进行排序,目的是加快彩虹表的查找速度。这个命令的语法很简单,格式为:

rtsort rainbow_table_pathname

其中rainbow_table_pathname是要排序彩虹表的文件名。例如,排序前面创建的彩虹表,可以使用下面的命令:

C:\rainbowcrack-1.2-win>rtsort lm_alpha#1-7_0_2100x8000000_all.rt

这个命令需要执行几分钟的时间。

最后,使用彩虹表破解程序(rcrack.exe)破解散列值。对于Windows口令破解来说,需要从SAM数据库中提取出散列值,我们可以使用Pwdump程序来完成这个任务,该程序可以从http://www.bindview.com/Services/razor/Utilities/Windows/pwdump2_readme. cfm处下载。使用下面的命令将Windows口令散列值转储到文件hashes.txt中:

C:\rainbowcrack-1.2-win>pwdump2.exe > hashes.txt

得到了口令的散列值之后,就可以使用口令破解程序rcrack.exe和已经排好序的彩虹表进行口令破解了:

C:\rainbowcrack-1.2-win>rcrack alpha#1-7_0_2100x8000000_all.rt -f hashes.txt

虽然创建彩虹表是要花费大量的时间,但是,一旦创建了彩虹表之后,口令的破解速度就会大大提高。通常需要数小时才能够破解的口令可能在使用预定义的彩虹表之后仅仅花费数秒钟的时间就破解出来。

原文章地址:点击打开链接 


相关文章推荐

10大最具创新性技术

  • 2012-09-12 08:32
  • 1.32MB
  • 下载

Wifi密码破解器,不要太当真!

近日,一长沙市民曹先生反映有人在街头兜售一种wifi密码破解器,即所谓的“蹭网神器”。曹先生看到测试成功,一时心动竟买下了。可是,回去使用后才发现根本没有效果。为此,笔者再次提醒各位市民,千万别被这些...

第四回:产品创新性思维方法论

产品是解决用户问题的,用户的问题随着环境、时间、地理位置等不断变化的,不要静止的看待用户的需求。要把创新思想引入到产品中,带入到企业中,才会创造出更大的经济效益和社会效益。要不断创新,通过维持性创新使...

55+手绘网站设计 – 构建极具创新效果的网站

手绘网页设计无疑是创建个性化页面并获取众多关注的好办法。 尽管手绘在网页设计中不是最热门的,但却是很常见的方法。如你在以下的实例中所见,将手绘融入网页设计有很多种方法,都看上去很棒!正如其他任何艺术...

[VC++] 路由器Basic Auth管理后台暴力破解器

前天为了修无线基地台,写了个爆破程序 VB路由器管理后台登录破解器 由于为求速成,效果差强人意 而且还是用的单线程.... 不过看破解速度倒是比我意料的快            每秒十组数据以上 实测...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)