Angler Exploit Kit介绍(下集)
我们发现,EK代码中包含有多个行为层,在图片7中显示的使用ActiveXObject进行初始化的情况。在实例中,变量“zmomfokopbpbbi”包含有一个很长的随机字符串(第二行)。恶意JavaScript脚本会尝试欺骗浏览器,以躲避浏览器的检测,而恶意软件检测工具通常都会提供有效的ActiveXObject。换而言之,真正的IE浏览器将会抛出一个try语句的错误信息,但检测程序却不会。考虑到变量“qvqymkykvfzpl”的值在第九行代码之前为1,而在真正的IE浏览器之中,变量“zkvluyycbrtp”的值为0,而且其他的浏览器并不支持ActiveXObject,对于特定的浏览器模拟程序而言,它的值会一直保持为1。继续往下查看这段恶意代码(图片8),我们可以看到有很多的函数都会使用到变量“zkvluyycbrtp”的值,而这些函数的返回值就取决于这个变量的值。这就决定了最终恶意脚本是否会对目标系统进行攻击。这是攻击者会用到的其中一种隐藏机制,并通过这种方法来躲避反病毒厂商的检测。

图片7:注入代码示例

图片8:注入代码示例(cont.d)
除了ActiveXObject的初始化操作之外,混淆代码同样也会对用户代理进行监测。这种检查不同于普通的子字符串搜索。其特别之处在于,代码会搜索以下两个字符串:“rv:11”以及“MSIE”。将用户代理的检测结果与旧版本IE浏览器(10.0版本或之前更老的版本)的程序特性进行结合,只有当用户使用真正的浏览器进行网页浏览时,恶意的JavaScript脚本才会进行恶意操作。但是这种恶意脚本在其他品牌的浏览器(例如Firefox/Chrome/以及其他的浏览器)中却不会起作用,即便这些浏览器与IE浏览器非常的相似。我们在表格1中列举了不同用户代理与恶意代码的配置组合以及相互作用情况。

表格1:恶意内容的触发条件
在这个表格中,我们可以看到恶意软件的作者将他们的攻击目标锁定在了IE浏览器用户的身上,并且还会尝试躲避安全研究人员的监测。然而,他们却忽略了一种情况:在这种情况下,他们的恶意行为实际上就已经暴露了。
推测感染载体
总的来说,我们所发现的感染情况可以分为两类,这也就意味着攻击者在入侵目标站点的过程中,可能会使用两种不同的感染载体。
(1)对于其中一小部分的网站来说,攻击者会将恶意脚本注入至HTML源文件的顶部,即标签之前。
(2)对于其中绝大多数被入侵的网站而言,攻击者会将恶意脚本代码注入至标签之后,而这一代码注入特性全部都发生在由WordPress驱动的网站之中。
WordPress网站
WordPress是一种使用PHP语言开发的博客平台,用户可以在支持PHP和MySQL数据库的服务器上架设属于自己的网站。也可以把 WordPress当作一个内容管理系统(CMS)来使用。
鉴于在被入侵网站的列表中,由WordPress所驱动的网站占了绝大多数。所以攻击者很有可能利用了WordPress中的一个或多个安全漏洞。但是,如果要入侵这些网站,攻击者首先需要对目标站点进行某种类型的探测或扫描。在我们对所收集到的恶意软件样本进行了分析和研究之后,我们发现了更多受感染的站点信息。在WildFire的扫描结果中,我们还发现有很多恶意软件样本能够通过请求站点的xmlrpc.php文件来利用WordPress网站的漏洞。这个文件与多个漏洞有关,而且这些漏洞的危害早已公之于众了。我们对收集到的信息进行了整理之后,我们总共发现了二十多万个相关的独立域名。我们认为,其中有十七万左右的URL地址仍然保持活跃,在这些站点中,我们的恶意网页监测系统还检测到了535个新的被入侵站点。
结论
现代的漏洞利用工具变得越来越难以检测了,因为这些EK工具在设计时就会尝试避免安全研究人员的检测。特别的,Angler EK还拥有以下特性:
有针对性的利用:这个JavaScript恶意代码家族以及 iframe注入针对的是特殊配置条件,地理位置,以及IP分布情况。这种恶意脚本和服务器在攻击IE浏览器用户的时候使用了多种不同的入侵技术,并且他们所使用的IP地址并不在美国境内。
躲避安全研究人员的检测:这种不断进化和升级的注入脚本会想尽办法来检测出研究人员针对恶意软件所设计的沙盒。这些恶意脚本会在沙盒或者模拟环境中隐藏它们的恶意行为。
频繁的升级和持续的跟踪控制:我们对大量被入侵网站的跟踪和研究表明, 攻击者会对被入侵的设备进行持续地控制。目前,我们已经在注入代码中发现了三处非常重要的变化。如果攻击者不能对被入侵站点进行持续地控制,那么这些活动也就不可能发生了。这也就推翻了一个假设:即这些网站只被入侵了一次,注入的恶意代码也只注入了一次。
越来越多的网站受到了感染:根据我们的观察,每天都会有100多个网站受到感染(这是保守估计的数量,因为我们每天所能检测的网站数量有限),被入侵的网站数量每天都在稳定增加。而与此同时,之前被感染的网站也没有及时清除服务器中的病毒。这也就导致被入侵网站的数量一只都在稳定增长,而消除这种安全威胁仍需很长的一段时间。
除了这些挑战之外,我们还发现了一些连续性的行为模式以及这种攻击的一些限制:
可疑的重定向:尽管重定向脚本可能会变化,但重定向链相对而言是不会产生太大变化的。EK总是针对由WordPress驱动的网站,而且还会在感染了目标服务器之后在主机中下载一个flash文件。
条件再利用:对攻击者而言,利用WordPress中已知的漏洞和DNS的配置缺陷是比较容易实现的。然而,修改托管了EK工具的服务器相对而言就比较困难了。这需要攻击者从物理层面上获取到一台新设备的控制权。至少就目前来说,我们还没有发现有攻击者能够在一台被入侵的设备上配置实际的EK文件。这很有可能是为了躲避被入侵网站的宽带流量监测或者是反病毒软件的检测。
我们将会继续对受到入侵的网站进行跟踪和分析,我们期望对这些现代漏洞利用工具有更深入的了解,并向我们的客户提供最大程度的安全保护。