Lucene search

K
seebugRootSSV:515
HistoryNov 16, 2006 - 12:00 a.m.

Microsoft Windows Workstation服务NetpManageIPCConnect远程栈溢出漏洞(MS06-070)

2006-11-1600:00:00
Root
www.seebug.org
17

Microsoft Windows是微软发布的非常流行的操作系统。

Windows的Workstation服务组件中存在栈溢出漏洞,远程攻击者可能利用此漏洞在服务器上执行任意指令。

在Workstation服务名为wkssvc.dll的模块中,NetpManageIPCConnect函数以未经检查的缓冲区数据调用了swprintf,而输入缓冲区是远程攻击者可控的。

.text:76781D67 mov edi, [ebp+arg_0]

.text:76781D90 lea eax, [ebp+var_2CC]

.text:76781DA0 push edi
.text:76781DA1 push offset \"%ws\\\\IPC$\"
.text:76781DA6 push eax
.text:76781DA7 call ds:swprintf

NetpJoinDomain调用了这个函数,最终由NetrJoinDomain2函数通过RPC调用。

NetrJoinDomain2的IDL类似于:

long _NetrJoinDomain2@28 (
[in][unique][string] wchar_t * arg_1,
[in][string] wchar_t * arg_2,
[in][unique][string] wchar_t * arg_3,
[in][unique][string] wchar_t * arg_4,
[in][unique] struct_C * arg_5,
[in] long arg_6
);

arg_2包含有格式类似于<Domain name>+\"\\\"+<Hostname>的字符串。

<Hostname>会用作NetpManageIPCConnect的第一参数。这个变量是攻击者可控的,最终传送给swprintf,导致栈溢出。

Microsoft Windows XP SP2
Microsoft Windows 2000SP4
临时解决方法:

  • 在防火墙处阻断TCP端口139和445。
  • 使用个人防火墙,如Windows XP所捆绑的Windows防火墙。
  • 在支持高级TCP/IP过滤功能的系统上启用此功能。
  • 在受影响的系统上使用IPSec来阻断受影响的端口。

厂商补丁:

Microsoft

Microsoft已经为此发布了一个安全公告(MS06-070)以及相应补丁:
MS06-070:Vulnerability in Workstation Service Could Allow Remote Code Execution (924270)
链接:<a href target=“\&quot;_blank\&quot;”>http://www.microsoft.com/technet/security/bulletin/ms06-070.mspx</a>

补丁下载:
<a href target=“\&quot;_blank\&quot;”>http://www.microsoft.com/downloads/details.aspx?FamilyId=3ad5c57d-d3f6-46a1-8dee-3e16d0977f80</a>
<a href target=“\&quot;_blank\&quot;”>http://www.microsoft.com/downloads/details.aspx?FamilyId=f4c8e767-4ed2-4e36-aa43-612f3017efc7</a>


                                                <a href=\\\"http://www.sebug.net/shexp.php?e=500\\\" target=\\\"_blank\\\">http://www.sebug.net/shexp.php?e=500</a>
<a href=\\\"http://www.sebug.net/shexp.php?e=497\\\" target=\\\"_blank\\\">http://www.sebug.net/shexp.php?e=497</a>