1. 什么是彩虹表(Rainbow Table)
简单通俗的说,彩虹表就是一张采用各种加密算法生成的明文和密文的对照表。在彩虹表中,表内的每一条记录都是一串明文对应一种加密算法生成的一串密文。 我们得到一串加密字符以及其采用的加密算法后,通过使用相关软件对彩虹表进行查找、比较、运算,能够迅速得出此加密字符串对应的明文,从而实现了对密文破解。 正因为彩虹表采用这种笨拙的方式一一穷举存储明文和密文的所有组合,所以彩虹表是非常庞大的。根据密文所对应明文的长度和复杂度(包含的字符类型:数字,字母,特殊字符等),常用到的彩虹表大小从几百M到几十G不等。 当然,彩虹的大小从理论上来说是可以无穷大的。
2. 如何得到彩虹表(Rainbow Table)
A. 使用Winrtgen生成彩虹表:
Cain是一款功能非常丰富的密码破解软件,Cain常用来破解LM&NTLM、MD5、MYSQL等加密算法生成的Hash。在Cain中自带了Winrtgen.exe,用来生成彩虹表,协助Cain破解Hash。
下面使用Cain v4.9.35中自带的Winrtgen v2.9介绍如何生成彩虹表。
在http://www.onlinedown.net/soft/53494.htm页面下载并安装Cain v4.9.35。安装完成后,打开Cain v4.9.35的安装目录,在Winrtgen子目录下找到并运行Winrtgen.exe。Winrtgen的界面是英文的,如下图所示:
接下来点击"Add Table",来到彩虹表配置界面:
这里我们首先需要设置的是"Hash"、"Min Len"、"Max Len"、"charset"等四个地方。其中"Hash"决定采用何种加密算法来生成彩虹表,"Min Len"和"Max len”决定密码的长度范围,"Charset"决定密码的复杂度。接下来设置的就是"Chain Len"、"Chain Count"、"N of tables"了,它们是用来控制所生成表破解成功率的,软件下面的"Success probability"值就是当前选项的破解成功率。当然是越接近100%越有用了,要不生成后破不了还有什么意义。表分割得越细,成功率就越高,生成的表体积也越大,所需时间也越长。
设置好后点击"OK"返回到Winrtgen主界面,点击"Start"开始生成彩虹表。这里会显示彩虹表的生成进度,几乎可以说是一个漫长的过程。呵呵,可以扔在这里不管,去干别的事情了:
生成的彩虹表会保存在Winrtgen.exe文件的同一目录下。
B. 网络下载:
生成彩虹表是一件很耗时间的事,而且如果配置得不过专业,生成的彩虹表破解能力非常不理想的。所以,如果拥有比较高的带宽,我还是建议直接到互联网上下载彩虹表,这样既能省很多时间又减少了麻烦。下面的几个网址是可以快速的下载到彩虹表:
freerainbowtables: http://www.freerainbowtables.com/
freerainbowtables提供了多种加密算法生成的彩虹表下载,包括LM、NTLM、MD5、SHA1等。freerainbowtables上面的彩虹表是非常齐全的。其中大部分是免费的,只有小部分需要付费才能下载,如1.5TB的彩虹表需要500美元。 当然,我们只是玩玩,就没必要花那么多钱去买这么庞大的彩虹表了。
Ophcrack: http://ophcrack.sourceforge.net/tables.php
如果你只是破解Windows的LM & NTLM Hash,我推荐你到Ophcrack网站上面下载。上面的彩虹表就是用来配合ophcrach软件,专门破解Windows LM & NTLM Hash的。 我曾经用ophcrack+XP free small(380MB)破解公司域中通过pwdump6得到的1000多个LM Hash仅仅花了4个多小时,而且破解成功率高达96%,可见效果是十分理想的。下载时有一点需要注意的是,windows2003以前的windows操作系统的密码采用的LM算法加密,而Vista、Win7、Win2008采用的是NTLM,NTLM比LM安全得多。
RainbowCrack: http://project-rainbowcrack.com/table.htm
这个网站上面也可以下载彩虹表.
3. 如何使用彩虹表(Rainbow Table)
彩虹表工具很多,黑客常用到的彩虹表工具有Ophcrack、rcracki_mt、Cain等,我会在接下来的两篇文章介绍使用彩虹表破解LM Hash和MD5 Hash。
附录:
文中引用的相关资料:
Cain: http://www.onlinedown.net/soft/53494.htm
freerainbowtables: http://www.freerainbowtables.com/
Ophcrack: http://ophcrack.sourceforge.net/tables.php
RainbowCrack: http://project-rainbowcrack.com/table.htm