感谢Andrea Lelli在这次研究中的贡献。
在我们博客前一篇关于Microsoft Internet Explorer CVE-2012-1875 Same ID Property Remote Code Execution Vulnerability 漏洞利用的基础上,Symantec又在网络中发现了关于Microsoft XML Core Services CVE-2012-1889 Remote Code Execution Vulnerability(CVE-2012-1889)的后续攻击。这个漏洞涉及IE里MSXML对象的一个函数。能够让攻击者操作未初始化的内存并导致任意二进制代码执行。
我们在一些合法的网站中发现了被注入的恶意内嵌框架,这些内嵌的框架企图扩散恶意软件。他们会在浏览器中加载漏洞利用代码。图片1展示了一个用来扩散恶意软件的内嵌框架的例子。
Figure 1. 一个恶意的内嵌框架
和CVE-2012-1875使用的恶意代码类似,这个漏洞的利用代码也内嵌在了SWF动画文件中。SWF文件负责执行堆扫射并释放Shellcode。图片2展示了在HTML代码中使用恶意的SWF文件。
Figure 2. 使用恶意SWF文件的HTML代码
这个漏洞利用代码还支持多种版本和语言的Windows操作系统。堆喷射及其Shellcode是根据不同版本和不同语言定制的。图片3展示了使用ActionScript如何针对不同版本的Windows操作系统定制Shellcode。
Figure 3. ActionScript 展示了针对不同版本和语言的Windows系统定制Shellcode的代码。
当漏洞被触发之后,执行操作会传递给Shellcode。Shellcode的功能是从一个URL中下载一段加密的Payload并保存在系统临时文件夹中。
这段有攻击者通过数学算法加密的代码只能达到很轻微的保护效果,一个使用0×95作为Key的异或操作来解密这段Payload。解密后的Payload被写入到了相同的文件夹中并被执行。恶意软件还会释放一下一些文件:
Incidentally, the attackers appear to be a fan of our own Norton antivirus product as evident from a message embedded in the binary file shown in Figure 4:
此外,在图片4中可以看到,攻击者还在二进制代码中内嵌了一句话“I Love Norton”,似乎他是我们Norton反病毒软件的忠实使用者。
Figure 4. 来自攻击者的话
我不知道当我们的反病毒产品把他造出的这些东西作为木马来对待并使用 Web Attack: MSIE MSXML CVE-2012-1889 和 Web Attack: MSIE MSXML CVE-2012-1889 2这两个特征从IPS上封锁它们的时候,他是否还能继续喜欢我们的产品。