- 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等等,网上都能够找到。
在哪里下载
破解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官网上的彩虹表明细和他们的字符集支持
XP free small (380MB)
formerly known as SSTIC04-10k
Success rate: 99.9%
Charset: 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
md5sum: 17cfa3fc613e275236c1f23eb241bc86
XP free fast (703MB)
formerly known as SSTIC04-5k
Success rate: 99.9%
Charset: 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
XP 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: 403cf58178d7272a48819b47ca8b2e6b
Vista 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
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里的东西,真实环境就没问题,不晓得是不是虚拟机配置问题,总之结果是用不了,也只是试验而已,真实情况下用的也不是虚拟机,所以也没深究。
LM && NTLM && ophcrack && RainBow table
转载本文章为转载内容,我们尊重原作者对文章享有的著作权。如有内容错误或侵权问题,欢迎原作者联系我们进行内容更正或删除文章。
下一篇:C#文件操作
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
算法高级(23)-彩虹表(Rainbow Table)
一、彩虹表的定义【百度百科】彩虹表是一个用于加密散
彩虹表 算法 大小写 官网 .net -
Rainbow Table 分析(转)
学习
数组 进制 外部排序 i++ hash函数