导语:自2017年12月起,一个向用户推送可信的假更新通知的攻击活动开始活跃,该攻击活动入侵了大量的web站点,下面我们对该活动的过滤和避免检测技术进行分析。
自2017年12月起,一个利用社会工程学攻击,向用户推送非常可信的假更新通知的攻击活动开始活跃,称之为FakeUpdates。该攻击活动入侵了大量的web站点,影响主流的CMS平台,包括WordPress,Joomla等。
下面我们对FakeUpdates活动的过滤和避免检测技术进行分析。更新文件并不是可执行文件,而是一个从DropBox下载的脚本。
研究人员发现多个未及时更新的CMS网站,这些网站易被恶意代码注入。攻击者可能会用相同的技术来构建被黑网站库,但目前还没有明显证据。
WordPress 和 Joomla
WordPress和Joomla站点都因为CMS JS文件注入被攻击了。
图2 被黑的WordPress站点推送假的Google Chrome更新
图3 被黑的Joomla站点推送假的Mozilla Firefox更新
常见的被注入的文件有jquery.js和caption.js库,研究人员对可疑文件和原文件进行了对比。对比结果如下:
图4 可疑库文件和原文件对比
加入的代码就是负责下一步的事件,即在用户访问的站点上加载欺骗层。下图是CMS平台上代码注入的美化版本,目的是调用重定向的URL:
图5 负责重定向的注入代码
研究人员写了一个简单的爬虫来浏览下面的站点列表,然后从语法上去分析结果。一共识别出上百个被黑的WordPress和Joomla站点,因为没有准确的统计数字,研究人员估计数量至少上千。
图6 部分被黑网站列表
Squarespace
Squarespace是另一个流行的CMS,也受到此次恶意活动的影响。2月28日,有Squarespace用户在论坛求助说“它被重定向到一个chrome需要更新的页面”。
图7 Squarespace用户报告站点被黑
研究人员登录到控制面板页,在git历史中发现用户之前没有登录过,但是上周上传了一个site-bundle.js文件,还有一些其他的sic文件。
研究人员深入分析了这些被黑的站点,发现了与WordPress和Joomla站点不同的重定向机制。在Squarespace站点中,JS文件是直接注入到站点的主页的。
图8 通过流量发现Squarespace站点存在恶意重定向活动
图9 被黑的Squarespace站点中注入的代码
bundle.js含有前面描述的调用重定向URL的功能。
图10 WP 和 Joomla注入中使用了相同的重定向代码
根据PublicWWW的调查结果,大约900个SquareSpace被注入了恶意重定向代码。
图11 找出其他被黑的Squarespace站点
重定向URL 和过滤
所有出发了重定向URI的CMS都会加载欺骗的更新主题。研究人员测试发现,URL的识别号是与CMS的类型有关的,比如cid=221是WordPress站点,cid=208是Joomla站点。
WordPress
track.positiverefreshment[.]org/s_code.js?cid=221&v=8fdbe4223f0230a93678track.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.net81/adrotator/banner.js?cid=100
如果我们关注重定向代码本身,就会发现潜在的受害者是有指纹的,最终的重定向是有条件的,那就是每个IP地址只点击一次。最后的JS负责为下一个序列创建iframe URL。
图12 指纹,cookie验证和iframe重定向
FakeUpdates
对Chrome, Firefox 和 Internet Explorer浏览器都有不同的模板,最后甚至还有Flash Player更新的模板。
图13 攻击者对不同的浏览器有不同的模板
合法域名和影子域名
https//pask.spgolfshoes[.]com/95b40f61578eed04ff464c5055990abbupdate{trimmed}
图14 所有者的凭证被窃取,然后被用来注册恶意子域名
驻留域名
http//zlsk.redneckonize[.]com/wordpress/article.php?f=445327&g={trimmed}
图15 驻留域名
感染链和payload
感染是从一个伪造的更新文件开始的,该更新伪装成从Dropbox取回的JS脚本。
图16 含有Dropbox URL的fileURL
该JS文件经过了多层混淆,这让静态分析变得很难,而且隐藏了一些重要的指纹信息,这些信息可以用来进行虚拟机逃逸。
图17 从DropBox下载的恶意JS脚本
通过对JS文件进行深度分析,研究人员发现这是因为受害者画像的第二步是用WScript.Network和WMI来收集系统信息,最终继续payload或者结束脚本。如果感染失败,那么就只含有到C2服务器的两个回调。
图18 检测到的感染失败的主机
而成功的感染含有到C2服务器的3次回调。
图19 感染成功的主机
编码的payload流需要用wscript.exe进行解码,然后就会在%temp%文件夹中释放一个恶意二进制文件。该文件用数字签名过,并且使用了许多避免被检测到的技术。
图20 数字签名的文件并不能确保安全
研究人员最后发现这是Chtonic银行恶意软件,ZeusVM的变种。一旦系统重启,Chtonic就会从94.100.18[.]6/3.bin提取配置文件。
在第二次重放尝试中,研究人员获取了NetSupport 远程访问工具,一个商业的RAT软件。而且又对恶意目的的文件传输,远程桌面等程序的传播进行了混淆。
图21 RAT感染带来的流量,显示了后端服务器
结论
本行动使用了社会工程和滥用合法文件存储服务来进行传播。诱饵文件含有一个脚本而不是恶意可执行文件,这让攻击者可以很灵活地开发混淆和指纹技术。被黑的站点不仅会重定向用户,还会推送假的浏览器更新,让站点拥有者加入到恶意活动中。所以CMS站点要及时更新,在认证时需要使用好的安全措施。