使用rainbow tables和ophcrack的组合工具破解windows密码.

使用Rainbow tables和Ophcrack的组合工具破解Windows密码


By simon ~ 一月 20th, 2008. Filed under: Linux桌面应用, windows应用. 5,896views

本文为寻找人生的起点(http://blog.cn-ic.org)原创,如需转载,请注明出处,并保留原文链接。

从前面的两篇文章(得到WindowsXP管理员权限的有效方法John/bkhive/samdump, 在Linux下破解SAM密码) 可以看出我对Windows系统权限突破的兴趣。由于目前的压迫尚未推翻,所以反抗还在继续。这次讨论的是采用Rainbow Table与Ophcrack结合的另外一种暴力破解机制。这里假设的前提是你已经得到加密hash。如果你还没有办法得到hash,请参考上面提到的两 篇文章。

说实话,google上关于rainbow tables的相关说明并不多。相信最全的解释可以通过这个链接 了解。但是wiki的,英文的,除非有特别必要的需求之前我还没有打算细细研究。但是据我目前的了解,作如下解释,不确切之处还请指出:

Rainbow tables是一些表,它可以是指定字符的各种组合以及这些组合经过MD5或LM或NTLM等加密手段加密后的对照表。所以可想而知,这些表是相当庞大 的。当你得到这些表后,破解hash密码实际上相当于字典破解了,速度相对普通的暴力破解会大大增加。下面让我告诉你著名的基于Rainbow tables的开源破解软件Ophcrack的帮助文档里面描述的表有多大吧:

针对LM密码的Rainbow Tables:

1.包含所有字母和数字1-7位组合的Table分成有两个 Alphanumeric SSTIC04-10k(388MB)和Alphanumeric SSTIC04-5k(720MB),从我查得的资料表明这两个Table在密码组合个数上是一致的。但是Alphanumeric SSTIC04-5k文件更大一倍,如果有1G以上的内存的话,破解速度快4四倍(为什么会有这种诡异的差异,没有查到)。他们包含800亿个hash, 由于LM加密对大小写不敏感,所以能破解2^83个1-14位的LM密码。

下载地址: http://lasecwww.epfl.ch/~oechslin/projects/ophcrack/

2.LM延伸表,包含所有字母+数字+33个特殊字符(!”#$%&’()*+,-./:;<=>?@[\]^_`{|} ~)的96%的1-7位组合包含7万亿个hash,能破解2^92个LM密码。大小7.5G

获取方式:目前没有官方下载,可以通过ophcrack的网站购买DVD,价格$240,地址:http://www.objectif-securite.ch/en/products.php

另外我找到freerainbowtables.com的bt下载,号称更大,33.8G(http://www.freerainbowtables.com/tables/lm.php),或者下载软件自己生成(生成方式见本文后面)。

针对NTLM密码的Rainbow Tables:

1.NT hash table: 包含1-6位的字母+数字+33个特殊字符组合,7位字母+数字组合,8位小写字母+字符组合;包含7万亿个hash,能破解7万亿个密码。大小8.5G

获取方式: 目前没有官方下载,可以通过ophcrack的网站购买DVD,大小就是上面描述的8.5G,价格$240,地址:http://www.objectif-securite.ch/en/products.php

同样可以上 freerainbowtables.com看看(地址:http://www.freerainbowtables.com/tables/ntlm.php),有很多选择,最大的1-9位小写字母+数字组合有123G,小心你的磁盘。

从上面的内容我们可以看到Rainbow tables都相当庞大。而实际上这些东西从某种意义上来说都只是字典文件而已。当然它跟传统的字典是有区别的,它是一个庞大的字符加密hash与字符加 密前的对照表,使用相应破解工具在破解过程中进行的只是对比的工作,省却了将字符加密计算的过程,从而大大节省了时间。

如果上面提到的Rainbow Tables的获取有困难,或者不满意他们的组合方式,也可以自己生成,这里有一个开源工具:

RainbowCracK:http://www.antsight.com/zsl/rainbowcrack/作者可能是个叫Lei Shuang 的国人。

目前最新版本:rainbowcrack-1.2

提供Windows二进制码(rainbowcrack-1.2-win.zip)和可用于所有平台(Windows/Linux/Unix等)的源码(rainbowcrack-1.2-src.zip

提供自定义组合字符,

提供lm,md5,sha1以及自定义组合加密方式。如果加一个补丁( Algorithm patch for RainbowCrack 1.2)还提供NTLM,MD2, MD4 and RIPEMD160加密算法

如果你打算使用工具自己生成的大Table的话,你需要做好心理准备,需要强劲的CPU,大的磁盘可用空间,以及大量的时间(使用单台PC以年为单位的时间)。所以该工具的主页上也有一些Table提供下载。

讲了半天,上面提到的还只是Rainbow tables的各种表,至于如何使用这些表,还需要一个工具。这里推荐大名鼎鼎的Ophcrack:

Ophcrack主页:http://ophcrack.sourceforge.net/

最新版本:Ophcrack-2.4.1,提供Windows二进制文件包(ophcrack-win32-installer-2.4.1.exe )和可用于所有平台(Windows/Linux/Unix等)的源码(ophcrack-2.4.1.tar.gz)

使用该软件破解需要两个条件

1.需要另外提供Rainbow tables,就是上面提到的

2.要求已经得到密码的hash,方法可参考John/bkhive/samdump, 在Linux下破解SAM密码,所以主页还提供了 bkhive-1.1.1.tar.gzsamdump2-1.1.1.tar.gz

另外Ophcrack还提供一个Live CD,最新版本1.2.2,下载地址:ophcrack-livecd-1.2.2.iso

ophcrack-livecd 基于一个叫SLAX6的小Linux 系统,整个系统包括SLAX6,ophcrack for linux 以及一些小的字母+数字的Rainbow tables。大小477M

所以只要可以通过光盘启动,无需安装就可以开始破解了。

关于Windows密码的LM加密和NTLM加密:

LM又叫LanManage,它是Windows古老而脆弱的密码加密方式。任何大于7位的密码都被分成以7为单位的几个部分,最后不足7位的密码 以0补足7位,然后通过加密运算最终组合成一个hash。所以实际上通过破解软件分解后,LM密码破解的上限就是7位,这使得以今天的PC运算速度在短时 间内暴力破解LM加密的密码成为可能(上限是两周),如果使用Rainbow tables, 那么这个时间数量级可能被下降到小时。而这种脆弱的加密方式在Windows2003还在使用。当然我们也可以通过设定注册表参数禁用LM加密,代之以 NTLM方式加密(默认生成LM以及NTLM两种方式的加密hash).方法如下:

1. 打开注册表编辑器;

2. 定位到 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa;

3. 选择菜单“编辑”,“添加数值”;

4. 数值名称中输入:LMCompatibilityLevel ,数值类型为:DWORD,单击 确定;

5. 双击新建的数据,并根据具体情况设置以下值:

0 – 发送 LM 和 NTLM响应;

1 – 发送 LM 和 NTLM响应;

2 – 仅发送 NTLM响应;

3 – 仅发送 NTLMv2响应;(Windows 2000有效)

4 – 仅发送 NTLMv2响应,拒绝 LM;(Windows 2000有效)

5 – 仅发送 NTLMv2响应,拒绝 LM 和 NTLM;(Windows 2000有效)

6. 关闭注册表编辑器;

7. 重新启动机器

在Windows NT SP3引入了NTLM加密以及Windows2000以后逐步引入的NTLM 2.0加密解决了这个问题,让我们在短期内破解长度超过8位的密码成为一种运气。但是LM加密方式默认还是开启的,除非通过上面的方法刻意关闭它。

寻找人生的起点 https://www.doorcome.com,如需转载请注明出处
本站域名由原cn-ic.org更改为doorcome.com
Tags: , , , ,

相关文章


最多访问

Reader's Comments

Powered by Jekyll and Theme by solid

本站总访问量