美国当地时间2月13号知名安全厂商FireEye(火眼)公司技术人员Yichong Lin发布新闻称截获到最新微软IE 10浏览器漏洞挂马,并命名为Operation Snowman。火眼实验室称该样本首先发现于美国退伍军人事务部分站上(目测va.us这个站习科也有裤子),攻击者嵌入了一个带有利用代码的iframe框架,是一种全新的挂马漏洞代码,受漏洞影响的浏览器访问挂马页面时将偷偷下载远控等感染程序并执行。

 

 

代码显示IE 10最新EXP仍然采用经典的挂马手法,即从远程服务器下载一个XOR编码的payload解压并执行。

小编这就带你来解密。


根据习科的业界渠道表明,该漏洞发现于去年12月份,并在1月份开始出现成型的攻击代码,在3个星期之前黑市出现EXP交易,微软已获悉漏洞细节但尚无更新跟进。

微软刚推送的补丁,根据尿性微软应该会在下个月才发布补丁,该漏洞还会持续被利用一段时间,不过CVE已经录入编号为CVE-2014-0322,细节并未更新。不过包括习科在内的安全厂商们普遍认同此次规模的挂马事件源于中国黑客,类似于Operation DeputyDog和Operation Ephemeral Hydra,并且都是使用0day漏洞进行挂马,进行战略性入侵。

 

通过小编的测试,该漏洞适用于Windows 7操作平台下的IE 10,对于最新版的Flash Player仍然适用。

漏洞利用原理是通过一个恶意构造的Adobe Flash文件的内存释放重用漏洞,可以让攻击者获取对内存任意地址的访问权,绕过ASLR(地址空间配置随机载入)和DEP(数据执行保护)后成功执行payload。

小编测试发现该漏洞仅适用于IE 10,如果用户安装了微软的Enhanced Mitigation Experience Toolkit(EMET)包则挂马代码无效。

之所以小编会测试EMET包是因为EXP中含有以下代码:

var steeple="<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' 'res://C:\\\\windows\\\\AppPatch\\\\EMET.DLL'>";
该代码的作用是通过以加载为xml的方式来检测系统是否存在EMET包的dll文件,以dll存在与否作为是否终止执行JavaScript的条件,若不存在则继续执行(不愧是国家队,心思如此缜密)。

挂马swf文件中存在执行以下代码

public function Tope(){
 this.jpgByte = new ByteArray();
 this.l = new URLLoader();
 this.store_bytes = new ByteArray();
 Super();
 var _local1:URLRequest = new URLRequest();
 _local1.url = "Erido.jpg";
 this.l.dataFormat = URLLoaderDataFormat.BINARY;
 this.l.addEventListener(Event.COMPLETE, this.E_xx);
 this.l.load(_local1);
}
Erido.jpg这个文件是第二步。上面的代码显示的是Shockwave Flash的ActionScripta下载内容,但是文件并没有被存到硬盘文件中,而是在字节数组的缓冲区中。

后面的_local(x)看似是在计算内存,其实这里就是实际的内存攻击代码,目的应该是躲过防护软件。

 

 

继续来看AS3的利用代码好了,当Vector class被重新分配和释放后,漏洞触发。

 

 

最后的那串XOR编码就是最后的远控程序地址了,更详细的分析还是放给更专业的来,习科小编不是什么都懂,如果文章含有技术性错误还望指正。

 

根据小编的调查发现,该漏洞最初的挂马页面被发现于3个礼拜之前,现在已知被入侵并挂马的站点除了火眼公司发现的美国退伍军人事务部某分站(va.us)以外,还有法国航空航天工业协会等,目标针对性极强,未被滥用抓鸡。

挂马的swf最初名为Tope.swf,曾于1月20日上传在VirusTotal上面以检测免杀情况,校验的sha值为:910de05e0113c167ba3878f73c64d55e5a2aff9a

小编寄语:路漫漫系其修远兮,吾将上下而求索,中国黑客抢先挂马全世界,国家队还需更隐蔽。

//silic.wiki