彩虹表


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

计算过程

简单的说就是针对特定算法,尤其是不对称算法进行有效破解的一种方法(如 md5算法)。他的过程 就是建立一个 源数据与加密数据之间对应的hash表。这样在获得加密数据后 通过比较,查询或者一定的运算,可以快速定位源数据。理论上,如果不考虑查询所需要的时间的话,hash 表越大,破解也就越有效越迅速。当然对于其它破解方法(如碰撞)此方法比较笨拙,对于可变长密钥等现代高级算法,效果会大打折扣。但是无论怎样, 彩虹表(hash)永远是在数据加解密中是无奈但十分有效的方法。

获得方法

RainbowCrack生成

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

Cain生成

在Cain的安装目录的Winrtgen文件夹下有一个名为Winrtgen.exe的程序,运行后点击“Add Table”,“Hash”下面可选项就是你能够生成的彩虹表种类了,记住彩虹表也是分类别的。曾有人拿MD5的彩虹表去跑Windows的LM Hash,然后问我为什么连这么简单的组合都破解不了……MD5的彩虹表只能拿来破解MD5 Hash,牛头不搭马嘴的乱用,自然是功亏一篑,白白浪费时间不说,还闹笑话。“Min Len”最小位,也就是密码明文长度的最低位。“Max Len”最大位,也就是密码明文长度的最高位。比如你模糊的确定你手里的Hash的密码长度位数大概是5至7位,那么,最小位就是5,最高位就是7。Chain Len、Chain Count、N of tables是控制所生成表破解成功率的,软件下面会显示当前选项的破解成功率,当然是越接近100%越有用了,要不生成些破不了几个也没多大意义。表分割得越细,成功率就越高,生成的表体积也越大,所需时间也越长。“Charset”是字符集,也就是密码明文里所包含的字符,下拉可见有多个选项。设置好后点两下“OK”就会开始生成,这样生成结束后的表每张为610.35MB。

直接下载

除了上述两种生成工具之外,可能还会有些变种,在此不再一一描述。为什么要说下载的呢?可以自己生成为什么还要下载呢?嗯,其实原因就是下载比生成很得多,我做过测试,4核4GB内存的机器,生成2GB彩虹表,需要花费7天时间,而7天按1MB的带宽(120K/S左右)几乎可以下载22GB左右(我带宽比较有限,有时候还会无法连接,每天只能下4GB左右)。效果是明显要超过生成,当然了,你要是有超级计算机群生成的话,也不妨自己生成。对于广大网络安全爱好者来说,还是直接下载来得靠谱!

这个还得看你需要破解什么密码,如果是要破解Windows Hash的话,建议用Ophcrack,速度相对较快,表的体积也相当较小。软件是可以免费下载的,表也有几百M可以免费用,甚至可以在线查询。在线查的这个用的是免费的几百M的表,效果一般,不过对于简单的密码来说,也足够了。有的可能不会用,在这里提一下。其实只要注意Hash的格式就可以了,比如Windows某个用户的密码为hackest,那查询的时候在”hash“旁边的框里填入“7831a0ffabee5fb3aad3b435b51404ee:d78df6e868e606e442313c5df93216f1”。再“sumbit hash”就可以得到返回结果。偶尔也会出现只显示了若干位的情况。也可以在这里查询密码Hash串。至于其他收费的表,我以前也有发过种子。20Tables.torrent,这个是Ophcrack XP Special Tables。一般非Vista的密码Hash,用它能破绝大部分,但在使用过程中也有发现有小部分Hash正确,但无法破解的。所以说,不要相信什么这个表全那个表不全的,记住,表没有全的!表永远没有最大,只有更大。Vista的密码Hash可以在这里下表,20Table.torrent这是Ophcrack Vista Special NTHASH的。官方是收费的表,不过国外共享了,也就可以免费得到了。如果这些表都跑不出来,而你又确定你的Hash没有搞错的话,那么只能找LC5出马了,LC5是一定能破的,只是时间有点久!

发表评论