首页 > 代码库 > LM && NTLM && ophcrack && RainBow table

LM && NTLM && ophcrack && RainBow table

    • 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: 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

      由以上彩虹表支持的字符集可知,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的FAQ

      http://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里的东西,真实环境就没问题,不晓得是不是虚拟机配置问题,总之结果是用不了,也只是试验而已,真实情况下用的也不是虚拟机,所以也没深究。

LM && NTLM && ophcrack && RainBow table