认识跨平台破解利器 彩虹哈希表破解器
时间:08-14
来源:IT专家网
点击:
跨平台密码破解器Ophcrack的破解速度简直是不可思议。到底有多快呢?它能在160秒内破解"Fgpyyih804423"这个密码。很多人都认为这个密码已经相当安全了。微软的密码强度判定工具认为该密码的安全级别是"强"。而Geekwisdom密码强度估算器认为该密码的安全强度是"普通"。
Ophcrack的破解速度为什么会这么快呢?这是因为它使用了彩虹表。我说的不是我用做桌面背景的那种真正的彩虹。但彩虹表对于破解也是很完美的。
要想理解彩虹表的工作原理,首先你得明白计算机是如何存储密码的,不管是在你自己用的台式机还是在远程的网络服务器那里。
密码决不会存储在纯文本文档中的。至少我们不应当这么做,除非你用的是世界上最幼稚的程序,而且你的目的就是构建世界上最不安全的系统。事实上,我们应当把密码作为哈希函数的输出值来存储。哈希是单向操作。即使攻击者能够读取密码的哈希表,他也不可能仅仅通过那个哈希表来重构密码。
但是攻击者可以用用彩虹哈希表来攻击密码的哈希表:通过庞大的、针对各种可能的字母组合预先计算好的哈希值。攻击者的计算机当然也可以在运行中计算所有的值,但是利用这个预先计算好哈希值的庞大表格,显然能够使攻击者能更快地执行级数规模的命令--假设攻击机器有足够大的RAM来将整个表存储到内存中(或者至少是表的大部分)。这就是个很典型的时间-内存权衡问题,尤其是黑客更倾向于使用这种捷径。
彩虹表有多庞大呢?Ophcrack的安装对话话会让你有个大致概念:
生成这些庞大的彩虹表需要花很长时间,但是一旦生成好了,那么每个攻击的计算机都可以利用这些表来破解更强的密码哈希表。
可用的最小彩虹表是最基本的字母数字表,就这样它的大小就有388MB。这是Ophcrack启动盘默认的表。即使这个最小的表也相当有效了。我曾经用它来攻击我在一个Windows XP虚拟机上设置的密码,结果如下:
当然,你用这种彩虹表无法破解那种带有非数字字母的字符的密码(比如%&^$#这样的),因为表里根本没有包含这些字符。你可能也注意到了那些passphrase,我也很喜欢它们,由于它们本身的长度问题,passphrase对此项技术是免疫的。但是,话又说回来了,该攻击可以在11分钟内破解所有可能14位数字字母密码组合中的99.9%,这还是用了最小的彩虹表。表越大、越全,攻击破解能力越强。Ophcrack文档描述了它所能使用的彩虹表之间的差异:
字母数字表 10k 388MB 包含所有字母数字混合密码中99.9%的LanManager表。这些都是用大小写字母和数字组成的密码(大约800亿组合)。
由于LanManager哈希表将密码截成每份7个字符的两份,我们就可以用该表破解长度在1到14之间的密码。由于LanManager哈希表也是不区分大小写的,该表中的800亿的组合就相当于12*10的11次方(或者2的83次方)个密码。
字母数字表 5k 720MB 包含所有字母数字组合的密码中99.9%的LanManager表。但是,由于表变成2倍大,如果你的计算机有1GB以上的RAM空间的话,它的破解速度是前一个的4倍。
扩展表 7.5GB 包含最长14个大小写字母、数字以及下列33个特殊字符(!"#$%&'()*+,-./:;<=>?@[]^_`{|} ~)组成的密码中96%的LanManager表。该表中大约有7兆的组合,5*10的12次方(或者2的92次方)密码。
NT 8.5 GB 我们可以使用该表来破解计算机上的NT哈希表,这是LanManager 哈希表所做不到的。该表包含了用如下字符组成的可能密码组合的90%:
·最高6位字符由大小写字母、数字以及33个特殊字符(同上面列举的一样)
·7 大小写字母及数字
·8 小写字母及数字
该表包含7兆种组合,对应7兆的密码(NT哈希表不存在LanManager哈希表的弱点)。
需要注意的是,所有这些彩虹表都有其特定适用的密码长度和字母组合。太长的密码,或者包含表中没有的字符,那么用彩虹表就无法破解。
不幸的是,由于旧式LanManager哈希表不可饶恕的缺点,Windows服务器特别容易被彩虹表攻击。令我吃惊的是,Windows Server 2003在默认状态下竟然还支持该旧式Lan Manager。我强烈建议大家禁用Lan Manager哈希表,尤其是在那些存储所有用户的域证书的服务器上一定要禁用该哈希表。这将对你的所有Windows98用户造成很大的不便,但是我觉得为了提高安全性,这么做是值得的。
我听说明年发布的Windows Server2008最终会将LanManager哈希表去掉。Windows Vista已经不支持这些过时的哈希表了。在Vista系统中运行OphCrack的话结果请看下列对话框:
Ophcrack的破解速度为什么会这么快呢?这是因为它使用了彩虹表。我说的不是我用做桌面背景的那种真正的彩虹。但彩虹表对于破解也是很完美的。
要想理解彩虹表的工作原理,首先你得明白计算机是如何存储密码的,不管是在你自己用的台式机还是在远程的网络服务器那里。
密码决不会存储在纯文本文档中的。至少我们不应当这么做,除非你用的是世界上最幼稚的程序,而且你的目的就是构建世界上最不安全的系统。事实上,我们应当把密码作为哈希函数的输出值来存储。哈希是单向操作。即使攻击者能够读取密码的哈希表,他也不可能仅仅通过那个哈希表来重构密码。
但是攻击者可以用用彩虹哈希表来攻击密码的哈希表:通过庞大的、针对各种可能的字母组合预先计算好的哈希值。攻击者的计算机当然也可以在运行中计算所有的值,但是利用这个预先计算好哈希值的庞大表格,显然能够使攻击者能更快地执行级数规模的命令--假设攻击机器有足够大的RAM来将整个表存储到内存中(或者至少是表的大部分)。这就是个很典型的时间-内存权衡问题,尤其是黑客更倾向于使用这种捷径。
彩虹表有多庞大呢?Ophcrack的安装对话话会让你有个大致概念:
生成这些庞大的彩虹表需要花很长时间,但是一旦生成好了,那么每个攻击的计算机都可以利用这些表来破解更强的密码哈希表。
可用的最小彩虹表是最基本的字母数字表,就这样它的大小就有388MB。这是Ophcrack启动盘默认的表。即使这个最小的表也相当有效了。我曾经用它来攻击我在一个Windows XP虚拟机上设置的密码,结果如下:
当然,你用这种彩虹表无法破解那种带有非数字字母的字符的密码(比如%&^$#这样的),因为表里根本没有包含这些字符。你可能也注意到了那些passphrase,我也很喜欢它们,由于它们本身的长度问题,passphrase对此项技术是免疫的。但是,话又说回来了,该攻击可以在11分钟内破解所有可能14位数字字母密码组合中的99.9%,这还是用了最小的彩虹表。表越大、越全,攻击破解能力越强。Ophcrack文档描述了它所能使用的彩虹表之间的差异:
字母数字表 10k 388MB 包含所有字母数字混合密码中99.9%的LanManager表。这些都是用大小写字母和数字组成的密码(大约800亿组合)。
由于LanManager哈希表将密码截成每份7个字符的两份,我们就可以用该表破解长度在1到14之间的密码。由于LanManager哈希表也是不区分大小写的,该表中的800亿的组合就相当于12*10的11次方(或者2的83次方)个密码。
字母数字表 5k 720MB 包含所有字母数字组合的密码中99.9%的LanManager表。但是,由于表变成2倍大,如果你的计算机有1GB以上的RAM空间的话,它的破解速度是前一个的4倍。
扩展表 7.5GB 包含最长14个大小写字母、数字以及下列33个特殊字符(!"#$%&'()*+,-./:;<=>?@[]^_`{|} ~)组成的密码中96%的LanManager表。该表中大约有7兆的组合,5*10的12次方(或者2的92次方)密码。
NT 8.5 GB 我们可以使用该表来破解计算机上的NT哈希表,这是LanManager 哈希表所做不到的。该表包含了用如下字符组成的可能密码组合的90%:
·最高6位字符由大小写字母、数字以及33个特殊字符(同上面列举的一样)
·7 大小写字母及数字
·8 小写字母及数字
该表包含7兆种组合,对应7兆的密码(NT哈希表不存在LanManager哈希表的弱点)。
需要注意的是,所有这些彩虹表都有其特定适用的密码长度和字母组合。太长的密码,或者包含表中没有的字符,那么用彩虹表就无法破解。
不幸的是,由于旧式LanManager哈希表不可饶恕的缺点,Windows服务器特别容易被彩虹表攻击。令我吃惊的是,Windows Server 2003在默认状态下竟然还支持该旧式Lan Manager。我强烈建议大家禁用Lan Manager哈希表,尤其是在那些存储所有用户的域证书的服务器上一定要禁用该哈希表。这将对你的所有Windows98用户造成很大的不便,但是我觉得为了提高安全性,这么做是值得的。
我听说明年发布的Windows Server2008最终会将LanManager哈希表去掉。Windows Vista已经不支持这些过时的哈希表了。在Vista系统中运行OphCrack的话结果请看下列对话框:
- 系统安全之解开恶意锁上的注册表 (01-05)
- 卡巴斯基误杀致XP系统崩溃的解决方案(04-23)
- 让黑莓在Windows Mobile上运行(04-25)
- 解决Vista与VPN的兼容问题(04-24)
- 六步完成Windows IT业务管理(04-28)
- Windows Home Server是什么?(05-04)