-
Windows密码的加密方式:
Windows 主要使用以下两种(包含但不限于)算法对用户名和密码进行加密:
分
别是LanManager(LM)和NTLM,LM只能存储小于等于14个字符的密码hash,如果密码大于14个,windows就自动使用NTLM对
其进行加密了,一般情况下使用PwDump或其他一些hash导出工具(如Cain)导出的hash都有对应的LM和NTLM值,也就是说这个密码位数
<=14,如果大于14位那么就只有对应的NTLM hash可用了,这时LM也会有值,但对我们来说没用,不能靠他来查LM彩虹表。 -
操作系统:
对
于XP、win2k和win2k3来说,系统默认使用LM进行加密(也可人为设置成NTLM),之后的win2008、win7和Vista禁用了LM,
默认使用NTLM,所以不要拿着LM生成的rainbow
table去找NTLM的hash值,但是反过来却可以,因为使用LM方式的加密往往会存在一个对应的NTLM
hash(如果密码位数<=14的话,系统同时对这个密码使用NTLM加密并存储了NTLM的hash),这时候使用ophcrack的NTLM表
查找的就是这个NTLM的hash了,而不是LM的hash。 -
彩虹表:
算法
彩虹表是对应了算法的,比如使用MD5生成的、LM生成的、NTLM、SHA等等算法生成的,所以使用的时候要注意你得到的hash类型,以使用对应的彩虹表去破解,不要张冠李戴,弄一个MD5的hash而用了LM的彩虹表去破解,闹了笑话还浪费时间。Ophcrack的使用
如果使用ophcrack来破解windows密码,那就只能使用他官网提供的rainbow table,貌似他的这些表自己做过特殊压缩处理,同样字符集的一个表比自己生成的要小很多,所以使用ophcrack的话,网上那些生成好的或是自己生成的都用不了。怎样生成
可以使用Cain下面的Winrtgen/Winrtgen.exe 和 RainBowCrack等等,网上都能够找到。在哪里下载
这是一个免费的彩虹表下载网站http://www.freerainbowtables.com破解windows密码需要怎样选择彩虹表
一般地,ophcrack官网上适用于xp、2000、2003的彩虹表使用LM加密算法生成,适用于vista、2008、win7的使用NTLM加密算法生成。 -
防范与安全:
安全问题从来都不是一两句话能说清楚的,这里仅讨论在使用ophcrack和彩虹表破解windows密码的情况下怎样做好安全措施
1.使用更多的字符集
密
码中尽量使用33个特殊符号, !"#$%&'()*+,-./:;<=>?@[/]^_`{|}~
(包含空格),其实只要使用一个就能起到效果,大部分的彩虹表对于这33个特殊字符都是一起包含的,只要包含了,就不会只包含其中一个。所以用一个和用所
有对于彩虹表来说是一样的,只要攻击者的彩虹表里包含了这个字符集就一定能破,只是时间的问题,如果彩虹表中没包含这些特殊字符的话只要你的密码中使用了
一个就一定不能被破解。例如免费的XP free
small只支持大小写26个字母和数字,没有包含空格和其他字符,所以只要你的密码中有一个空格或者其他符号,甚至密码只是一个空格或一个特殊符号,就
不可能被这个表所破解。2.增加密码长度(至少 >=15)
如果使用 >=15
位以上的密码,XP free
small也跑不出来,因为他是基于LM算法生成的,LM算法只能支持最大14位的密钥hash,如果需要破解这样的密码那就要换作NTLM彩虹表,比如
Vista free或者Vista special (8.0GB)3.更改加密方式
对于xp、2000、2003改掉操作系统的默认LM加密方式,换为NTLM,这个问题的处理方式网上有很多,这里不做多说。 -
Ophcrack官网上的彩虹表明细和他们的字符集支持
来自:http://ophcrack.sourceforge.net/tables.php
XP free small (380MB)
formerly known as SSTIC04-10k
Success rate: 99.9%
Charset: 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
md5sum: 17cfa3fc613e275236c1f23eb241bc86XP free fast (703MB)
formerly known as SSTIC04-5k
Success rate: 99.9%
Charset: 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZXP special (7.5GB) //可以破解 <= 14位包含以下字符的LM密码
formerly known as WS-20k
Success rate: 96%
Charset:
0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
!"#$%&'()*+,-./:;<=>?@[/]^_`{|}~ (including the space
character)Vista free (461MB)
Success rate: 99%
Charset: based on a dictionary with variations (hybrid mode)
md5sum: 403cf58178d7272a48819b47ca8b2e6bVista special (8.0GB)
formerly known as NTHASH
Success rate: 99%
Passwords of length 6 or less
Charset:0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!"#$%&'()*+,-./:;<=>?@[/]^_`{|}~
(including the space character)
Passwords of length 7
Charset: 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
Passwords of length 8
Charset: 0123456789abcdefghijklmnopqrstuvwxyz由以上彩虹表支持的字符集可知,XP special (7.5GB)和Vista special (8.0GB)即可以破解大部分的Windows操作系统密码,官网上这两个表不提供免费下载,但国外出现了BT种子,贴之。。。
Ophcrack Vista Special NTHASH Table.torrent
Ophcrack XP Special Tables.torrent -
相关链接:
http://hi.baidu.com/puddingrrlife/blog/item/9cc02a01e63f7cd2267fb5f2.html
使用Rainbow tables和Ophcrack的组合工具破解Windows密码http://sourceforge.net/apps/mediawiki/ophcrack/index.php?title=Frequently_Asked_Questions
ophcrack的FAQhttp://www.freerainbowtables.com
免费的彩虹表下载网站,这里有很多生成好的彩虹表,如果你打算自己生成,网上也有很多现成的工具,比如cain下面的Winrtgen.exe、RainBowCrack等等,但实践证明下载时间远远小于自己生成时间,除非你有一堆高性能服务器http://ophcrack.sourceforge.net
ophcrack
在sourceforge上的官网,在这里可以下载ophcrack的源代码、二进制程序、一些免费的彩虹表、ophcrack基于linux的
LiveCD,LiveCD里面分别附带了xp和vista的免费彩虹表,可以破解一些普通密码,这两个彩虹表的字符集支持26个大小写字母和10个数
字,经测试vista的还附带了空格,但是不包含其他32个特殊符号。LiveCD使得你可以在不用进入Windows系统的情况,用光
盘启动并破解Windows密码。。。废话,进去就不用破了
:),且慢、且慢。。。我们一直倡导的主题应该是“如何恢复丢失的windows密码”,而不是“如何破解Windows密码”,吁。。。如果觉得CD里
附带的彩虹表不够用的话可以下载XP special (7.5GB)或Vista special
(8.0GB)刻录到DVD里,这样就拥有了更大的字符集支持,这两个表基本上就可以对付大部分的windows密码了。注:这里官网上的LiveCD是
一个可以在光盘里运行的Linux系统,免安装。为了使用起来方便也可以使用WinPE将安装了ophcrack并加载所需彩虹表的系统做成Windows版的LiveCD:
1、在虚拟机中安装一个干净的windows并安装ophcrack,假设安装目录是C:/Program Files/ophcrack/tables
2、copy所需彩虹表到目录C:/Program Files/ophcrack/tables,形成如下子目录 /tables/xp_fast/ 和 /tables/vista_free
3、在ophcrack里把刚才copy进来的两个表都安装起来。
4、刻录成Windows环境的LiveCD,
这样以后就可以在光盘启动的windows下破解硬盘安装的windows的密码了。如
果仍然需要在linux下使用也可以用UtralISO把LiveCD解开了,在H:/TABLES下放入自己需要的彩虹表,这样在LiveCD启动后找
到相应目录安装自己需要的彩虹表( /mnt/sr0/tables,文件夹"sr0"根据实际情况而定
),再进行破解。免得xp、vista各刻一张,麻烦!再来,如果经常使用BT3又不想单独刻录ophcrack的LiveCD,你也可以在BT3中安装ophcrack之后刻录之,这样你就同时拥有了BT3和ophcrack的LiveCD。。。。讲来讲去我好像成了刻盘的了 :( 废话少说
总之,你可以使用自己喜欢的操作系统安装ophcrack并加载需要的彩虹表来定制自己的LiveCD。
-
存在问题:
当一张linux启动盘中包含两张以上彩虹表时,ophcrack启动后会将两张表都加载完毕才开始破解,也就是会白白浪费一些时间,
因为如果你是xp、2k、2k3的系统那么使用xp_free_fast这张表就够了,否则就用另外一张表,所以在同一时刻也只需要有一张表被
加
载,所以你进入linux系统并启动ophcrack加载了windows的用户密码后,在ophcrack加载两张表的时候可以点击“stop”,然后
到tables栏中禁用当前你不需要的表,然后再回来点击“crack”,这样就可以节省加载另外一张表的时间。这么做只是建议,不是必须,进入系统后
ophcrack会自己运行、加载windows用户密码信息、加载所有应该加载的彩虹表、然后破解。如果不加干涉,那么他就从头跑到尾,你也不用担心会
出什么问题,最多就是多花了几分钟。:) -
ophcrack与操作系统的版本问题
ophcrack
在提取SAM文件信息时默认使用的是PwDump6.exe,而PwDump6.exe只能支持xp、2k、2k3的系统(其实在2k3上支持的也不是很
好,不稳定,建议换作PwDump7),如果需要在Vista、Win7、2k8系统下使用ophcrack则需要使用PwDump7.exe手动提取
SAM信息到dump文件,再用ophcrack的导入dump文件功能把SAM信息导入到ophcrack中。
命令行中输入PwDump7.exe > sam.txt 即可提取系统的SAM信息到文件sam.txt。 -
罗哩罗嗦
鄙人经试验LiveCD在虚拟机里使用时找不到windows下的磁盘fdisk -l 只能看到自己cdrom里的东西,真实环境就没问题,不晓得是不是虚拟机配置问题,总之结果是用不了,也只是试验而已,真实情况下用的也不是虚拟机,所以也没深究。