发信人: laserlight()
整理人: (2000-08-07 17:10:23), 站内信件
|
漏洞发布时间:2000-6-6 14:19:00
漏 洞 描 述:
当使用NTLMv1 (LmCompatibilibyLevel=0)时:NT管理员用USRMGR.EXE 或
者 SRVMGR.EXE 增加新用户,新组或者改变用户密码.它采用的加密机制是
半加密的。基本上,这种加密的运算规则是把一个"user Session Key"作
为RC4 key来加密516字节的块,其中大部分是随机数据。
NT管理员的user session key是 MD4(Administrator's NT#)
假如现在你在监听网络数据,当管理员正在向域增加一个工作组时,你捕获
到 一对516个字节的数据包,用XOR运算比较这两个包,比较结果中的最后
几个字节 对于解码是非常有用的。
如果XOR结果中最后4个字节为0,那么两个密码长度是一样的。
如果XOR结果中最后4个字节不为0,那么两个密码长度是不一样的。
要记住这些密码都是用UNICODE存储的,因此要想猜某个密码的
长度,你只要计算XOR结果最后"0"字节的数目。我们知道当使用
SRVMGR.exe增加工作组时,系统就赋给这个工作组一个初始密码。
在NT域中使用LMcompatibilityLevel=0x0,此时管理员发送的是明文密码。
解 决 方 法:
1)使用交换式网络。
2)建议网络管理员使用安全机制来增加新用户,新组。
3)对于每次改变或者创建新用户,建议同时改变管理员的密码。当然,
如果你远 程修改了管理员密码,那么你就要改变管理员密码两次了。
----使用NTLMv2 (LmCompatibilibyLevel=0x5)
在NTLMv2中,它使用3次HMAC_MD5,使得至少要48次才能暴力破解。从MS-
chap取出的随机信息产生"User session Key",这个"User Session Key"是
基于每一条连接的。这就意味着,要确保管理员密码的安全性,不能象NT
Lmv1那 样,而只能断开每一个使用USRMGR.EXE 或者SRVMGR.EXE的远程用
户的连接。
要做到这一点:首先停止USRMGR.EXE/SRVMGR.EXE,进入DOS prompt,输
入:
net use
这样,如果有一个\\mypdc\ipc$连接显示的话,运行:
net use \\mypdc\ipc$ /del
如果显示在使用中,所有你留下的其它的远程程序就能执行,比如:
哄骗SamrCreateUser() ,创建新用户。当然你如果使用交换式网络/使用
SMB签字,就不存在这个问题。
京九网联
-- 志不达者智不达!
※ 来源:.月光软件站 http://www.moon-soft.com.[FROM: 202.110.182.26]
|
|