首页 -> 安全研究

安全研究

安全漏洞
NT Syskey重用密钥漏洞

发布日期:1999-12-16
更新日期:1999-12-17

受影响系统:
Microsoft Windows NT 4.0SP6
   + Microsoft Windows NT 4.0
Microsoft Windows NT 4.0SP5
   + Microsoft Windows NT 4.0
Microsoft Windows NT 4.0SP4
   + Microsoft Windows NT 4.0
Microsoft Windows NT 4.0SP3
   + Microsoft Windows NT 4.0
Microsoft Windows NT 4.0SP2
   + Microsoft Windows NT 4.0
Microsoft Windows NT 4.0SP1
   + Microsoft Windows NT 4.0
Microsoft Windows NT 4.0
描述:
Syskey是NT Service Pack 3中带的一个工具.用来保护SAM数据库不被离线破解.用过去的加密机制,如果攻击者能够得到一份加密过的SAM库的拷贝,他就能够在自己的机器上来破解用户口令.目前已经有一些专门用来破解SAM数据库的工具.Syskey对数据库采用了更多的加密措施,目的是增加破解的计算量,使暴力破解从时间上考虑不可行.
  
Syskey根据用户的SID为每位用户产生一个唯一的密钥,但它用这个密钥来加密LMHash和NTHash(已经做了一些hash变换,简单的DES加密)以及两个历史口令(储存在SAM中的历史口令部分).由于用了同一个密钥来加密,就有可能绕过这个密钥
  
经过Syskey加密后的hash互相异或后,得到的结果与不经过Sysykey加密前的两个hash互相异或的值是相同的.所以,可以先将一个字符串(通过字典得到)用正常的NT加密过程加密,然后做Hash变换,将得到的新的hash值互相异或,然后将Syskey加密后得到的两个Hash值也互相异或,将得到的值与前一个值比较,如果相同,则说明这个字符串就是正确的口令
  
另外,甚至这种基于用户SID的机制也能被绕过,使得攻击7位或7位以下密码成为可能,甚至可以在任意一台机器上预先计算出hash表.这是因为,对于7位或者少于7位的密码,LMHash的第二部分是固定的而且是已知的,能与旧的异或结果异或,以得到NThash的第二部分,从而与字典文件中保存的字符串的hash值比较以确定正确的口令.



建议:

微软已经发布了Syskey的补丁:
  
x86:
http://www.microsoft.com/Downloads/Release.asp?ReleaseID=16798
  
alpha:
http://www.microsoft.com/Downloads/Release.asp?ReleaseID=16799



浏览次数:7419
严重程度:0(网友投票)
本安全漏洞由绿盟科技翻译整理,版权所有,未经许可,不得转载
绿盟科技给您安全的保障