灯火互联
管理员
管理员
  • 注册日期2011-07-27
  • 发帖数41778
  • QQ
  • 火币41290枚
  • 粉丝1086
  • 关注100
  • 终身成就奖
  • 最爱沙发
  • 忠实会员
  • 灌水天才奖
  • 贴图大师奖
  • 原创先锋奖
  • 特殊贡献奖
  • 宣传大使奖
  • 优秀斑竹奖
  • 社区明星
阅读:3538回复:0

彩虹表破解hash密码

楼主#
更多 发布于:2012-10-08 12:16

彩虹表是一个非常庞大的、针对各种可能的字母、数字等字符组合预先计算好的hash的集合,用来破解各种hash加密的密码。网上有很多彩虹表可供我们下载,当然也可以自己生成,rainbowcrack就是这样的工具。

RainbowCrack是利用内存时间交换技术加速口令破解过程,官方地址http://project-rainbowcrack.com/#download下载。RainbowCrack使用了彩虹表,通过预先花费时间创建这样的彩虹表,能够在以后破解口令时节约大量的时间。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 www.atcpu.com

Hash_algorithm包括lm, md5, sha1,mysqlsha1等,指定密码的加密算法,其中lm是windows密码的加密算法。

plain_charset指定密码的字符集一般有大写字母、小写字母、数字和特殊字符。详细参数信息如下:

numeric = [0123456789]

alpha = [ABCDEFGHIJKLMNOPQRSTUVWXYZ]

alpha-numeric = [ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789]

loweralpha = [abcdefghijklmnopqrstuvwxyz]

loweralpha-numeric = [abcdefghijklmnopqrstuvwxyz0123456789]

mixalpha = [abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ]

mixalpha-numeric = [abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789]

ascii-32-95 = [ !"#$%;'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~]

ascii-32-65-123-4 = [ !"#$%;'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`{|}~]

alpha-numeric-symbol32-space = [ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%^;*()-_+=~`[]{}|\:;”‘<>,.?/ ]

oracle-alpha-numeric-symbol3 = [ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789#$_]

plain_len_min 指定密码的最小长度。

plain_len_max指定密码的最大长度。

rainbow_table_index指定彩虹表的索引。

rainbow_chain_length指定彩虹链的长度。

rainbow_chain_count指定要生成彩虹链的个数。

file_title_suffix指定生成的彩虹表文件名的注释。

-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

建议使用默认值来创建自己的彩虹表。如下面的例子创建一个128M的大写字母md5加密的彩虹表,密码最短1位,最长7位。

C:yeetrac>rtgen md5 alpha 1 7 0 2100 8000000 yeetrack

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…

done.

创建比较大的彩虹表可能要花费很久的时间,几小时甚至几天,跟硬件有关。在生成了彩虹表之后,我们会在当前目录下找到一个名称为lm_alpha#1-7_0_2100x8000000_yeetrack.rt的文件,其中yeetrack是我们在命令中输入的文件名注释。

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

rtsort rainbow_table_pathname

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

C:\yeetrack>rtsort lm_alpha#1-7_0_2100x8000000_all.rt

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

最后,使用彩虹表破解程序(rcrack.exe)破解散列值。破解md5命令很简单,如下面的破解结果:

C:\yeetrack\rainbowcrack-1.5-win64>rcrack.exe md5_alpha#1

0x8000000_0.rt -h 8A9A33314944325F77B68F754029EEDB

2549403648 bytes memory available

1 x 128000000 bytes memory allocated for table buffer

33600 bytes memory allocated for chain traverse

disk: md5_alpha#1-7_0_2100x8000000_0.rt: 128000000 bytes read

searching for 1 hash…

disk: finished reading all files

plaintext of 8a9a33314944325f77b68f754029eedb is ZCXVB

statistics

——————————————————-

plaintext found: 1 of 1

total time: 0.42 s

time of chain traverse: 0.26 s

time of alarm check: 0.14 s

time of wait: 0.00 s

time of other operation: 0.02 s

time of disk read: 0.08 s

hash ; reduce calculation of chain traverse: 2202900

hash ; reduce calculation of alarm check: 1449527

number of alarm: 2066

speed of chain traverse: 8.28 million/s

speed of alarm check: 10.21 million/s

result

——————————————————-

8a9a33314944325f77b68f754029eedb ZCXVB hex:5a43585642

成功破解出明文密码。彩虹表越大破解的概率就越高,如今比较流行的彩虹表大小为120G。如果想破解windows密码,就需要生成lm彩虹表,命令:rtgen lm alpha 1 7 0 2100 8000000 yeetrack,其他步骤一样,不过windows的密码hash一般保存在c:/windows/system32/config/sam中,需要从中获取hash,工具有pwdump,lc4,lc5等。


喜欢0 评分0
游客

返回顶部