暴风影音2009(Config.dll)ActiveX远程栈溢出漏洞
by bugvuln(bugvuln_at_gmail.com)
niklen(niklenxyz_at_gmail.com)
描述:
暴风影音是国内一款相当流行的万能播放器
http://www.baofeng.com/
受影响的系统:
暴风影音2009 <=[3.09.04.17]
细节:
clsid:BD103B2B-30FB-4F1E-8C17-D8F6AADBCC05
C:\Program Files\StormII\Config.dll
Sub SetAttributeValue (
ByVal lpQueryStr As String ,
ByVal bstrAttributeName As String ,
ByVal lpValueStr As String
)
当参数lpQueryStr是一个超长字符串时,发生栈溢出,利用堆填充技术,攻击者可以很轻松的利用此漏洞执行任意代码
分析:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | .text:10009A4C push ebp .text:10009A4D mov ebp, esp .text:10009A4F sub esp, 208h ; 开辟208h的堆栈空间 .text:10009A55 cmp [ebp+Source], 0 ; 判断参数1是否为空 .text:10009A59 jz short loc_10009AA8 .text:10009A5B cmp [ebp+arg_C], 0 ; 判断参数3是否为空 .text:10009A5F jz short loc_10009AA8 .text:10009A61 push [ebp+Source] ; 参数1 .text:10009A64 lea eax, [ebp+String] .text:10009A6A push eax ; eax正好指向ebp-208h的堆栈区域 .text:10009A6B call ds:wcscpy ; oh,my god,不进行参数合法性检查,直接开始拷贝操作, .text:10009A6B ; 哦豁了,eax指向的堆栈区域全部被超长非法参数占领了-_-! .text:10009A71 pop ecx .text:10009A72 lea eax, [ebp+String] .text:10009A78 pop ecx .text:10009A79 push [ebp+arg_8] .text:10009A7C push offset String ; "/@" .text:10009A81 push offset aSS ; "%s%s" .text:10009A86 push eax ; String .text:10009A87 call ds:swprintf ; 上面的拷贝直接影响到这里的swprintf,相当于再对eax指向的堆栈进行一次拷贝操作 ; 没有上边的拷贝,这里也要出问题 .text:10009A8D add esp, 10h .text:10009A90 lea eax, [ebp+String] .text:10009A96 push [ebp+arg_C] .text:10009A99 push eax .text:10009A9A call sub_10001201 .text:10009A9F mov ecx, eax .text:10009AA1 call sub_1000CC9A .text:10009AA6 jmp short locret_10009AAD .text:10009AA8 ; --------------------------------------------------------------------------- .text:10009AA8 .text:10009AA8 loc_10009AA8: ; CODE XREF: sub_10009A4C+Dj .text:10009AA8 ; sub_10009A4C+13j .text:10009AA8 mov eax, 80004005h .text:10009AAD .text:10009AAD locret_10009AAD: ; CODE XREF: sub_10009A4C+5Aj .text:10009AAD leave .text:10009AAE retn 10h ; 就这样返回,哦豁了 |
ModLoad: 41f50000 41fc7000 C:\WINDOWS\system32\mshtmled.dll
ModLoad: 10000000 10020000 C:\Program Files\StormII\Config.dll
ModLoad: 63380000 633f8000 C:\WINDOWS\system32\jscript.dll
(eec.ee8): Illegal instruction – code c000001d (first chance)
(eec.ee8): Illegal instruction – code c000001d (!!! second chance !!!)
eax=80004005 ebx=100116b0 ecx=0175f998 edx=00030001 esi=0039fe98 edi=00000000
eip=00410061 esp=0175f5ec ebp=00410041 iopl=0 nv up ei pl nz ac po nc
cs=001b ss=0023 ds=0023 es=0023 fs=003b gs=0000 efl=00000212
*** ERROR: Module load completed but symbols could not be loaded for C:\Program Files\Internet Explorer\IEXPLORE.EXE
IEXPLORE+0×10061:
00410061 ff ???
解决办法:
在厂商没有推出相应的补丁之前,
建议用户通过注册表对相应的CLSID:BD103B2B-30FB-4F1E-8C17-D8F6AADBCC05设置Killbit
或者将以下文本保存为.REG文件并导入:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\ActiveX Compatibility\{BD103B2B-30FB-4F1E-8C17-D8F6AADBCC05}]
“Compatibility Flags”=dword:00000400
–EOF–
[...] 感谢匿名人士的投递 国内安全研究者在5月1号凌晨公布了暴风影音的两个ActiveX远程溢出漏洞(link1,link2)。当安装了暴风影音的用户在浏览黑客精心构造的 包含恶意代码的网页后,可能会导致系统遭受到黑客的攻击。现在在著名exploit网站milw0rm上已经出现了相应的漏洞利用程序。 [...]
[...] 感谢匿名人士的投递 国内安全研究者在5月1号凌晨公布了暴风影音的两个ActiveX远程溢出漏洞(link1,link2)。当安装了暴风影音的用户在浏览黑客精心构造的 包含恶意代码的网页后,可能会导致系统遭受到黑客的攻击。现在在著名exploit网站milw0rm上已经出现了相应的漏洞利用程序。 [...]
[...] 或者直接双击运行导入fix_baofeng_0day.reg参考:暴风影音2009(mps.dll)ActiveX远程栈溢出漏洞暴风影音2009(Config.dll)ActiveX远程栈溢出漏洞BaoFeng (mps.dll) Remote Code Execution Exploit 标签:0-day, config.dll, mps.dll, 暴风 评论 (4) , 阅读 (2285) [...]
lz是四川人?
[回复]