‘FakeUpdates’恶意行动利用大量网站传播木马

一、前言

自从2017年12月开始,出现了越来越多的合法网站上带有恶意威胁程序。其传播方式依赖社工用户,为他们提供看起来很真实但实际上是虚假的更新通知。

一个利用雅虎等高流量网站上的恶意广告来散步恶意软件的组织也采用了类似的技术。这种模式也让人联想到了 EITest的 HoeflerText 活动。其中被黑网站先是被炒作提高热度,然后提供下载恶意字体文件的链接。最近,有一场恶意活动影响了Magebto网站,也是推送了虚假的更新通知(Flash Player的更新),它实际上是AZORult stealer。(比特币盗窃软件)

今天,我们主要来看一看我们称之为‘FakeUpdates campaign’(虚假更新恶意软件活动)的具体细节,以及它错综复杂的过滤机制和逃避检测的技巧。我们发现的最早的例子是由 BroadAnalysis在2017年12月20日报告的。所谓的更新文件并不是一个可执行文件,而是从Dropbox(一种合法的文件托管服务)上下载的脚本,如下述动画所示:

图1:一个被入侵网站上典型的重定向到‘虚假更新’界面的例子

此次恶意活动以类似的方式影响了大量的内容管理系统(CMS)。我们所检查的几个网站都没有进行及时的更新,因此容易受到恶意代码注入的影响。攻击者可能是使用相同的技术来批量查找可以入侵的网站并建立相应的数据库来存储这些受害网站地址。但我们并没有足够的信息来证明这一点。

 

二、WordPress and Joomla

被攻击的使用WordPress和Joomla的网站,在其CMS的JavaScript文件中都存在着相同类型的注入。

图2:被入侵的WordPress站点推出的虚假Google Chrome更新

图3:被入侵的Joomla 站点推出的虚假Mozilla Firefox更新

一些常用的库文件包括jquery.js和caption.js都已经被附加了一些代码。通过和原文件比对就可以发现。
t016d413d00e7cbc10e

图4:与原文件对比后发现的额外代码

这些额外附加的代码负责以下一连串的事件,将其欺诈网页加载到您访问的网站上。下图显示了在CMS平台中注入代码的优化版本,其目标是访问重定向后的URL:
t01625861590daaf195

图5:起重定向功能的注入代码

我们编写了一个简单的抓取规则来抓取浏览一系列受害网站传输的数据包并对结果进行解析。即使在列表中有一小段迭代重复的部分,但我们依然能识别出几百个使用WordPress和Joomla受害的网站。尽管我们没有受害网站确切的数量,但我们推测会有成千上万的网站受到影响。
t0129621d175ef42013

图6:部分遭入侵的网站列表

三、Squarespace

Squarespace是另一款十分受欢迎的CMS,但也同样受到了这场恶意活动的影响。这是由 @Ring0x0指出的。我们在2月28日发现了一篇论坛帖子,一位squarespace的使用者寻求帮助,他说“我会经常被重定向到另一个页面,显示“您的Chrome版本需要更新””。
t0127848b1bf07f9faf

图7:一个Squarespace用户称他们的站点已遭到篡改

所以,我登陆到管理面板,看到在Git历史记录中显示了一个之前从未登陆过的用户在上周进行了一次上传:site-bundle.js以及一些其他的大文件列表{sic}。
我们继续深入分析这些案例,发现了在WordPress 和Joomla网站中使用了略有不同的重定向策略。而对于Squarespace,是将一段JavaScript代码直接注入到网站的主页当中。

图8:在Squarespace站点中恶意重定向发生时的流量

它从query[.]network中得到源文件然后从boobahbaby[.]com拉取 bundle.js:
t01ff96124492d44551

图9:被入侵的Squarespace站点中的注入代码

bundle.js中包含了我们在之前说的重定向URL脚本中相同的内容:
t010f4936193dd0e04c

图10:在WP和Joomla入侵过程中使用的相同的重定向代码

根据PublicWWW query查询结果显示有超过900个SquareSpace网站已经被注入了这个恶意重定向代码。
t017254357568df8dfd

图11:使用字符串模式识别出的其他被入侵的Squarespace网站

四、重定向URL及过滤

所有的CMS都会触发具有类似模式的重定向URL,最终都是加载那个欺诈性质的更新主题网页。根据我们的测试,这些URL具有适用于特定CMS的标识符;例如,cid=221表示与WordPress站点相关,而cid=208表示与Joomla站点相关。

  • WordPress
    track.positiverefreshment[.]org/s_code.js?cid=221&v=8fdbe4223f0230a93678
    track.positiverefreshment.org/s_code.js?cid=225&v=0bbea7365fbb07c7acb3
    track.amishbrand[.]com/s_code.js?cid=205&v=c40bfeff70a8e1abc00f
    track.amishbrand.com/s_code.js?cid=228&v=e8bfa92965d1d880bac2
    track.amishbrand[.]com/s_code.js?cid=234&v=59f4ba6c3cd7f37abedc
    track.amishbrand[.]com/s_code.js?cid=237&v=7e3403034b8bf0ac23c6
  • Joomla
    connect.clevelandskin[.]com/s_code.js?cid=208&v=e1acdea1ea51b0035267
    track.positiverefreshment[.]org/s_code.js?cid=220&v=24eca7c911f5e102e2ba
    track.amishbrand[.]com/s_code.js?cid=226&v=4d25aa10a99a45509fa2
  • SquareSpace
    track.amishbrand[.]com/s_code.js?cid=232&v=47acc84c33bf85c5496d
  • Open Journal Systems
    track.positiverefreshment[.]org/s_code.js?cid=223&v=7124cc38a60ff6cb920d
  • Unknown CMS
    track.positiverefreshment[.]org/s_code.js?cid=211&v=7c6b1d9ec5023db2b7d9
    track.positiverefreshment[.]org/s_code.js?cid=227&v=a414ad4ad38395fc3c3b

在这个基础设施上还有其他比较有趣的组件,比如这个广告轮播:

  • track.positiverefreshment.net:81/adrotator/banner.js?cid=100

但是如果我们专注于重定向代码本身,我们注意到潜在的受害者在被重定向的同时也会被进行指纹识别(这里指收集用户信息进行验证,包括cookie等)。最终重定向到虚假更新主题页面是有条件的,即每个人只能用一个IP。最后一个JavaScript负责为下一个序列创建iframe URL。
t0128c437c73b2d12a4

图12:这里执行指纹识别,Cookie验证和iframe重定向

五、虚假更新主题

攻击者使用的有Chrome, Firefox和Internet Explorer浏览器的模板,后者会被替代成Flash Player更新界面。
t01baa371ec2d996e8f

图13:攻击者将目标锁定在具有专业外观模板的浏览器上

这个虚假的更新界面托管在被入侵网站的主机中,其地址是短生命周期的URL子域名。其中的一些域名是激活的(合法网站的那些)还有一些是处于停放状态中的。
合法域名:

t01ed9111eb6c3bea19
图14:该凭证很可能已被盗用并用于注册恶意子域名

停放域名:

t015cd6c749fb44c297
图15:停放域名可以隐藏别有用心的心机

六、最终的感染链及payloads

感染是从虚假更新伪装成JS文件从Dropbox文件托管服务上下载下来开始的。指向Dropbox的链接(会定期更新)是在第一次web会话期间被混淆过的。

t010f4936193dd0e04c

图16:fileURL变量包含Dropbox URL

这个JavaScript文件被严重混淆过,所以对其静态分析十分困难。它也会隐藏一些重要指纹来逃逸虚拟机和沙箱。
t0127f1ce385e8d2102
图17:从DropBox上下载下来的恶意JavaScript

根据这篇文章中对恶意JS文件细致的分析得出这是因为受害者受害过程的第2步中使用WScript。通过网络和WMI来收集受害者系统信息(BIOS,制造商,体系结构,MAC地址,进程信息等),并最终决定是否使用payload继续入侵或者是结束脚本运行。

下方是展示一次失败的感染,会向C2服务器返回2个回调:
t01ca5899ca00cb4058

图18:检测到不是真正机器的主机,于是中止感染

如果是一次成功的感染,会向C2服务器返回3个回调(包括payload):
t01b9004c2814a2d506

图19:验证通过后,受害者收到payload

经过编码的payload流经过wscript.exe解码,会在%temp%文件夹下释放出恶意二进制文件(Chrome_71.1.43.exe)。这个文件是经过数字签名的,并且含有各种逃逸技术(像立即重启)来抵御沙箱。
t014519ed8e85cb9fb7

图20:数字签名的文件不能保证安全

经过检查,我们确定这是Chtonic banking恶意软件(一种ZeusVM的变种)。一旦系统重启,Chtonic就会从 94.100.18[.]6/3.bin拉取一个重要的配置文件。

在第二次重播尝试中,我们得到了NetSupport远程访问工具(一种商业的远程访问木马)。它的安装和配置已经在这篇博客中得到了很好的介绍。我们再次注意到,在整个交付程序的过程中大量使用出于恶意目的(文件传输,远程桌面等)的混淆。
t01335ffabcebc592d8

图21:RAT感染流量,显示了其后端服务器

七、总结

此次恶意活动依赖于交付机制,利用社工方法骗取受害者下载,滥用合法的文件托管服务让其变得更加可信。’诱饵’文件由一个脚本而不是一个恶意可执行文件组成,这使得攻击者能够灵活地开发使用各种混淆方法以及指纹技术。

遭到入侵的网站不仅被用来重定向用户,还挂着虚假更新的界面,使其所有者不知情地参与到恶意软件活动中。所以保持CMS更新,并做好身份认证是非常重要的。

八、IOC

重定向域名:

  • 23.152.0[.]118
    84.200.84[.]236
    185.243.112[.]38
    eventsbysteph[.]com
    query[.]network
    connect.clevelandskin[.]net
    connect.clevelandskin[.]org
    track.amishbrand[.]com
    track.positiverefreshment[.]org

恶意二进制文件:
Chtonic

  • 6f3b0068793b277f1d948e11fe1a1d1c1aa78600712ec91cd0c0e83ed2f4cf1f
    94.100.18[.]6/3.bin

NetSupport RAT

  • 4d24b359176389301c14a92607b5c26b8490c41e7e3a2abbc87510d1376f4a87
原文: https://www.anquanke.com/post/id/104761

上一篇:对混淆的Android应用进行渗透测试

下一篇:利用密码重置功能实现账号劫持