暴风影音2009(Config.dll)ActiveX远程栈溢出漏洞

暴风影音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–


3 Responses to “暴风影音2009(Config.dll)ActiveX远程栈溢出漏洞”

  1. [...] 感谢匿名人士的投递 国内安全研究者在5月1号凌晨公布了暴风影音的两个ActiveX远程溢出漏洞(link1,link2)。当安装了暴风影音的用户在浏览黑客精心构造的 包含恶意代码的网页后,可能会导致系统遭受到黑客的攻击。现在在著名exploit网站milw0rm上已经出现了相应的漏洞利用程序。 [...]

  2. [...] 感谢匿名人士的投递 国内安全研究者在5月1号凌晨公布了暴风影音的两个ActiveX远程溢出漏洞(link1,link2)。当安装了暴风影音的用户在浏览黑客精心构造的 包含恶意代码的网页后,可能会导致系统遭受到黑客的攻击。现在在著名exploit网站milw0rm上已经出现了相应的漏洞利用程序。 [...]

  3. [...] 或者直接双击运行导入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) [...]

Post a Comment