Angler Exploit Kit介绍[转]

Angler Exploit Kit介绍
漏洞利用工具(EK),可以说是互联网领域最有影响力的恶意工具了,这种恶意软件会持续升级,其功能也会不断增加,只有这样才能绕过安全产品的检测。安全研究专家一直都在不断努力去追踪不同EK家族的变种版本。在这篇文章中,我们将从实际操作的角度来介绍一款漏洞利用工具。更加具体地说,我们已经对 Angler Exploit Kit的活动追踪已久,并且我们也发现了很多有价值的信息。我们认为,Angler Exploit Kit在地下黑市中有着非常广阔的“市场”。
  研究人员于2013年首次发现了这款Angler EK钓鱼攻击工具包,在短短两年的时间内,它就成为了黑客最常用的EK之一。Angler EK具有高度混淆性、侦察特性(其包含了尝试检测杀毒软件和虚拟机的代码)、反侦察性(其对网络传输的Payload进行了加密以期绕过IDS/IPS的检测,使用了”Fileless infections”等技术来尝试躲避杀毒软件的检测),同时其对最新漏洞的利用代码更新迅速,甚至在其中还会出现”0 day”漏洞的利用代码。因此,Angler EK也被一些安全研究人员视为目前世界上最先进的EK。
由于在Sophos,Malwarebytes,以及USENIX等网站已经发布了大量关于Angler不同变种的文章和报告了,所以在这篇文章中,我们将主要对Angler在全球范围内的相关恶意事件进行分析。我们所有的分析和研究都是在我们恶意网页内容检测系统的基础上得到的。
重要发现:
1.检测到了超过9万个网站受到了Angler工具的影响,其中有大量的网站都是热门网站(点击这里,了解排名前一百万的网站信息)。我们根据TrafficEstimate.com的统计信息对其中30个被入侵网站的月访问量进行了估算,我们估计这些受入侵的网站月访问量至少为一千一百万。
2.发现了一个高度组织化的入侵操作,攻击者会定期更新被入侵网站中的恶意信息。这也就意味着,攻击者能够对入侵的网站进行非常复杂并且持久的命令控制。
3. 在传播恶意内容的过程中发现了细力度控制。这也就意味着,注入脚本可以隐藏数日之久,以躲避安全软件的检测,被入侵的网站也只能对特定IP范围的目标用户进行攻击,而且也只能采用特定的配置方式。对于VirusTotal(TV)这类扫描工具而言,会大大降低其检测率。在我们首次发现这些结果的数周之后,我们所发现的大多数网站仍然没有被VT列为恶意网站。
4.我们还发现,扫描网站漏洞的行为与利用被扫描网站作为EK的入口这两者之间,有着某种潜在的联系。这也就意味着,这种EK的背后还有着一条庞大的黑客产业链。
概况和影响
在11月5日(当时我们开始对存在高危漏洞的网站进行了检测)至11月16日之间,我们总共发现了90558个独立域名遭到了入侵攻击(攻击者在入侵时使用的正是Angler EK)。
这些遭到入侵的网站对应着总共29531个独立的IP地址。在这些IP地址当中,有1457个IP地址分别对应着超过10个被入侵的域名。例如,IP地址为184.168.47.225的服务器托管了422个被感染的网站。
大多数被入侵的网站都没有被VT所检测到。在11月16日,我们对VT的检测结果(大约有5235个恶意站点被发现)进行了分析,并且发现VT只将其中的 226个网站报告为了恶意站点。在11月17日的凌晨,我们又进行了同样的测试,VT仍然只发现了其中的232个恶意网站。这一结果表明,VT的检测率还不到百分之五。在12月14日,我们使用VT对所有的恶意网站(总共90558个)进行了检测,而VT只检测到了2850个被入侵的网站,其检测率只达到了百分之三。
20160118091902375

图片1:Angler EK的入侵拓扑
图片1描述了整个入侵过程的重定向流程。目标用户在访问了被入侵的网站之后(基于WordPress的网站或者是Apache服务器托管的网站),会被重定向至一个带有EK的恶意服务器。最终起作用的恶意payload可以有很多种,包括勒索软件(例如Cryptowall),间谍软件或者连接至C2服务器的僵尸网络。在图片2和图片3中显示的是一个更加具体的重定向和数据抓包(使用Fiddler)过程。通过EK,攻击者可以在同一个网域中将目标用户重定向至一个加载了恶意文件的服务器(图片2中的红色部分)。当然了,攻击者也可以跨域实现上述这一操作(图片2中的蓝色部分)。

20160118091904377

图片2:重定向链
20160118091904378

图片3:在重定向过程中使用Fiddler实现数据抓包
图片4显示的是使用Fiddler获取感染数据的过程。在这一操作中,受感染的虚拟机发送了一个类似C2请求的信息,并且接收到了一个很长的,并且是经过加密的返回消息。
20160118091906379

图片4:发送感染信息
图片5和图片6给大家介绍的是所有有关受感染服务器IP地址的总体概况信息。
20160118091907381

图片5:被入侵主机的ISP分布概况
20160118091908382

图片6:被入侵IP的国家分布概况
我们可以从这些图片中看到,被入侵的网站大多数都架设在美国境内,其中的一小部分网站则架设在欧洲和亚洲地区。美国境内的这些网站系统大多数都是使用GoDaddy所提供的基础服务,当然还有一些网站使用了其他的一些服务提供商的服务。

Angler EK的躲避技术
在这一部分,我们将会主要对攻击者注入至被入侵服务器中的恶意脚本的进行介绍。
注入至被入侵服务器中的初代恶意JavaScript代码可以攻击所有主流版本的IE浏览器(IE 8-11都会受到影响),可能是因为这些浏览器的用户安装了存在漏洞的Flash插件。而其最新的变种版本可以对现代主流的浏览器进行攻击,其中就包括配置了网页调试工具的浏览器(例如谷歌的Chrome和火狐浏览器)。
注入了被感染网站的JavaScript代码看起来都很相似,但实际上并不相同。图片7显示的是注入代码的实例。在这类混淆代码中,变量名往往是随机的。甚至对应的请求与应答信息都采用了随机变量。目前,我们在这段脚本中只找到了4个有实际意义的关键字:ActiveXObject,window.sidebar,charAt,以及Function。我们将会在接下来的章节中介绍这些关键字。这种多态性为很有可能会使许多基于签名的静态分析方法无效。
20160118091908383

图片7:注入代码示例

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

图片7:注入代码示例

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

20160118091926394
表格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文件。这很有可能是为了躲避被入侵网站的宽带流量监测或者是反病毒软件的检测。
我们将会继续对受到入侵的网站进行跟踪和分析,我们期望对这些现代漏洞利用工具有更深入的了解,并向我们的客户提供最大程度的安全保护。

关于xmsg

技术面前人人平等.同时技术也不分高低贵贱.正所谓学无大小,达者为尊.
此条目发表在攻击经验, 漏洞攻击分类目录,贴了, , 标签。将固定链接加入收藏夹。