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

发布于: 2008年01月20日

本文为寻找人生的起点(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加密方式默认还是开启的,除非通过上面的方法刻意关闭它。

Linux Mount Windows域用户限制的共享文件夹

发布于: 2008年01月18日

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

Linux下使用smbfs形式访问windows共享文件夹是众所周知的事情,可以用如下mount命令实现:

#mount -t smbfs -o username=youruser,password=yourpass,iochartset=cp936,codepage=cp936 //ip/sharefolder /mount/point

这里假设对方的文件夹编码格式是gb2312或gbk,如果是utf8格式,请将cp936改为utf8,下同。

当局域网用户认证是基于域控制器的时候,上述命令就行不通了,因为用户名需要在域服务器上去认证,而命令没有指定,结果无非认证失败。

据我所知,目前能够支持域认证的文件管理器只有Gnome下的naulitus,即使最新的KDE4的Dolphin也无法做到。能够支持域认证的文件管理器除了Gnome下的naulitus以外,至少还有konqueror(特此更改,感谢yanqian提出修改建议)

如果你在域控制器管理用户的公司局域网内使用Linux,是不是就被限制到Gnome下了?这里我终于找到了命令行mount的方法。使用如下命令:
#mount -t cifs -o username=domain\\youruser,password=yourpass,iochartset=cp936,codepage=cp936 //ip/sharefolder /mount/point

要能够成功mount smbfs文件格式必须要安装samba服务并启动它。要成功执行上面这个命令需要先安装一些额外的软件包,这里只局限于Ubuntu(我不是Ubuntu的fans,但是谁让它这么流行呢),他们是:libsmbclient,libpam-smbpass,可以使用如下命令:

#apt-get install libsmbclient libpam-smbpass

安装上述软件包后,还会生成mount.cifs变种命令,上述命令还可以变成更直观的:
#mount.cifs -o username=youruser,domain=yourdomain,password=yourpass,iochartset=cp936,codepage=cp936 //ip/sharefolder /mount/point

结束语:

至此,让我的256MB内存不再需要运行于臃肿的Gnome桌面环境了,xfce4+rox-filer更适合我;应用程序访问共享文件夹就像访问本地文件一样,不需要copy来copy去了。在上一篇文章四个月只用Linux作为办公室桌面的体验里面提出的这些问题得到了很好的解决。

四个月只用Linux作为办公室桌面的体验

发布于: 2008年01月13日

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

因为在业余时间在Linux 下搭建了LAMP(Linux+Apache+MySQL+PHP)服务,并用PHP写了一个小系统给部门内部用。结果部门同事用得很爽,我的电脑却只能用Linux作为办公桌面了。下面讲讲这四个月来作为Linux桌面用户的一些感受。

1.Linux发行版:Ubuntu7.04,后升级为Ubuntu7.10

2.桌面环境:一般用Gnome, 在确定不用网络公共碟的情况下,为了不让256MB RAM郁闷的运行大量的程序,会用Xfce4,并用rox-filer作为文件管理器。

遗憾:公司使用Windows域控制器管理用户帐户,访问局域网公共碟必须使用域帐号验证。目前支持域帐号验证的文件管理器,貌似只有Gnome的Nautilus,其他轻量级文件管理器还没有捣鼓出来过。另外,几乎所有文本编辑器不支持直接对域公共碟的访问,要查看或者编辑一个域公共碟里面的文件,必须先Copy到本地磁盘。

3.浏览器:虽然Opera比Firefox更快,兼容性也许更好,但是可能是习惯问题,也许是对扩展的依赖。日常使用还是Firefox。 虽然也装了IEs4Linux,但是除了调试网页以外,几乎不用。另外,Opera和加上wmlbrowser扩展的Firefox可以访问”http://wap.newone.com.cn/“专门为手机上网设置的WAP网页, 一定程度上解决了网上因为不能用IE而被限制的网上金融业务。

遗憾:基本上还是网页兼容问题。公司内部的一些网页系统,特别是javascript或jsp写的东西,只有IE才能完全正常得解释。

4.邮件客户端: 公司用Notes作为邮件客户端,跟IT部门提过意见,希望能开通POP服务无果。况接还有很多应用系统是基于Notes的,逼不得已,用wine模拟了一个Notes。对于这个问题,我特别写了一篇文章,Ubuntu 7.10下使用Lotus Notes 6.5。解决了大部分基本需求。

遗憾:虽然wine模拟的软件速度没有成为弊病,但是还是不太完美。除了那篇文章里面提到的两个问题以外,还有一些notes里面的小应用系统不能正常运行的问题。

附上原来发现的两个问题:

a)不知道什么原因,有些中文字会出现乱码。但是大部分没有问题。原因查找中
b)我用SCIM,输入文字的时候,感觉shift键按下后会持续作用,除非你再按一下。不知道这个是不是wine的bug

5.Office软件:这个也许可以算是微软垄断Office软件造成系统迁移成本上的最大问题。开始的时候使用Openoffice.org,但是兼容性很不好。后来改用永中集成Offcie 2007 试用版。就我看来,它是目前为止Linux下对MS Office兼容最好的Office产品(最好,但不是完美)。Windows下兼容最好的应该是金山WPS Office 2007

遗憾:除了兼容性以外,永中Office使用Java写的,于是理所当然的软件运行的速度成了最大问题,特别是在可怜的256MB RAM上来讲。这里我并不抨击永中的软件工程师,相反的就用Java写的这么大一个软件而言,它的运行速度已经大大超出我们的预料之外了。

6. 文本编辑器:这点来说应该是Linux的强项。我用emacs。习惯了之后才发现编写程序的同时,可以不用鼠标会提高效率。

7. 下载软件:Linux下没有类似迅雷的软件。但是办公电脑不需要有太强大的下载软件。特别是用Ubuntu,需要什么应用软件,只要apt-get 就好了,不需要满世界找,然后用下载软件下载。所以目前在firefox下,用flashgot搭配MultiGet这个多线程下载软件已经足够了。对于BT,电驴等协议的下载软件就跟不需要化时间去配置了,因为在公司本来就不允许使用

8. IM软件,用pidgin可以搞定一切了。由于公司网络限制,大部分人都不能使用QQ/MSN等通讯工具。使用tor+pidgin轻易的突破了网络限制,到变得有优越感了:)

通过四个月的使用体验和以上总结,我发现虽然有一些困难,在Windows的大环境下使用Linux作为桌面并非不可能。在减少大量的软件开支的目的下,也许前卫的公司可以试着做做看了。

网络运营商创造了DNS劫持和广告推送,有线电视运营商将其发扬光大

发布于: 2008年01月12日

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

中国的基础网络运营商劫持用户的DNS,进行网络广告推送等行为已经不是什么新闻了。但是最近,我惊喜地发现,这种为了赚钱不顾用户感受的流氓概念,正在被中国的另外一个垄断行业--有线电视运营商--发扬光大。

昨晚,当我正在百无聊赖的看星空卫视的一个综艺节目时,偶然发现插播的广告出现一些异样:牛皮癣式的医院广告怎么会出现在星空卫视?一看广告地址,还是本地的一间小规模医院。一看星空卫视台标不见了,难道我无意间看到遥控器了?

但是这个神奇的国度,让我感觉到也许问题并没有那么简单。果然,过了一会儿,一切又恢复了正常。 之后,我对电视的注意力以及不在那个无聊的综艺节目了,而是验证是不是每次插播广告是不是都会变成本地广告。

多次观察表明,有线电视运营商真的干了普通人会认为无耻的事情。而且广告之间的切换很随意,心急到等不到原电视台的第一个广告播完,脸皮厚到根本不在乎用户会发现他的抛弃一切职业道德的行为。

我的位置是深圳龙岗区。同在一个区域的网友也许可以观察看看。

Ubuntu 7.10下使用Lotus Notes 6.5

发布于: 2008年01月08日

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

问1:IBM都已经推出Notes for Linux 7.0/8.0了,为什么要使用Lotus Notes 6.5?

因为:

1.公司使用的服务器版本是Lotus Domino 6, 未经证实的消息称号称7.0以上for Linux版本的notes客户端不能访问Domino 6服务端

2.IBM推出Notes for Linux 版本,并不表示可以免费使用。下载了60天试用版本的note for Linux 8.0客户端,安装完毕后并不能运行,它告诉我需要IBM Workplace Management Client. 结果我没有在网上找到可以下载的地方(也许只有花钱才能买到)。另外还有一个谣言说,for Linux的8.0客户端需要512MB RAM才能成功安装,可怜我的机器只有256MB RAM。同时我也失去了一个能证实原因1的机会。

问2:既然 Lotus Notes 6.5 没有 for Linux版本,将如何实现?

用Wine 模拟。我知道这是个下策,但是在公司邮件不支持POP,notes下各种功能并不能由简单的webmail实现的情况下,也只能用此下策了。

下面简单描述过程:

步骤一:安装Wine

说到这个我有点惭愧。我一向不喜欢用Wine,因为我被Easywine描述的复杂配置吓怕了。至于为什么我的机器上会有wine? 那是因为我安装了Picasa2 for Linux 以及IEs4Linux, 于是就有了wine.说出来还真的不太好意思。如果你的机器上还没有wine,不妨像我一样试试。icasa2就不说了,那个安装过程跟windows里面一向,IEs4Linux安装参考这里:

http://forum.ubuntu.org.cn/viewtopic.php?t=55988&highlight=IEs4Linux+%E5%AE%89%E8%A3%85

步骤二:使用Notes(不会那么快吧?)

这里我假设你是双系统,并在Windows下有已经安装了客户notes6.5客户端。

将c:\Program Files\lotus 整个目录copy到你的用户目录的.wine/drive_c/Program Files目录下参考如下命令:
cp -rf /media/sda1/Program\ files\lotus ~/.wine/drive_c/Program\ Files/

再copy windowsxp下2个dll文件到wine目录:
cp /media/sda1/WINDOWS/system32/mfc42u.dll ~/.wine/drive_c/windows/system32
cp /media/sda1/WINDOWS/system32/msvcp60.dll ~/.wine/drive_c/windows/system32

以上两行命令请根据实际情况注意目录和文件名的大小写。

运行:wine "c:\Program Files\lotus\notes\notes.exe"

恭喜你可以使用notes了。

FAQ:
1.中文字体发虚?
将windows下的simsun.ttc字体文件copy到~/.wine/drive_c/windows/Fonts目录下。

2.有些按钮不能显示汉字,而是”<<<“这样的符号
运心wine regedit.exe, 修改
[Local Machine\\Software\\Microsoft\\Windows NT\\CurrentVersion\\FontSubstitutes]
"MS Shell Dlg"="SimSun"
"MS Shell Dlg 2"="SimSun"

3.可以不copy lotus整个目录到Linux下吗?
理论上可以,但是由于运行时由于实际目录与notes.ini的设定目录不一致,会运行出错。你可以修改与notes.exe同目录的notes.ini文件里面的相关目录试试。但是如果你仍然可能回到windows下使用Notes,建议还是不要这样做。

4. note程序不算小,wine模拟的速度如何?
这个是我最感到欣喜的地方。我一向不看到wine的速度,但是这个运行起来不会比windows下慢。

5. wine模拟有没有瑕疵?
有:
a)不知道什么原因,有些中文字会出现乱码。但是大部分没有问题。原因查找中
b)我用SCIM,输入文字的时候,感觉shift键按下后会持续作用,除非你再按一下。不知道这个是不是wine的bug

Gnome 中无法修改文件名的解决方法

发布于: 2008年01月04日

也许你也是Gnome用户,也许你使用SCIM输入法,也许你也碰到在文件管理器Nautilus中修改文件名的时候,Nautilus的地址栏中无法输入任何字符的情况,告诉你,这是输入法在作怪。下面是解决办法:

临时办法:在需要输入字符的地方右键->指向“输入法”->选择“SCIM input method”即可。

彻底解决:编辑/etc/X11/xinit/xinput.d/目录下的scim文件(Ubuntu7.10 里的目录),找到其中三行改成如下

XIM=SCIM
GTK_IM_MODULE=SCIM
QT_IM_MODULE=SCIM

保存文件。
重启X。
Done.

浙ICP备18056264号-1