Holy water: 针对亚洲的定向水坑攻击

2019年12月4日,卡巴斯基研究人员发现了一些水坑攻击网站,这些网站可以利用伪造的Adobe Flash更新来选择性地触发顺带下载攻击。该攻击活动自2019年月开始活动,主要攻击对象是亚洲的民族和宗教组织。

研究人员分析发现攻击者使用的工具仍在开发中,其中使用了Sojson混淆、NSIS安装器、python、开源代码、GitHub、Go语音和基于Google Drive的C2信道。

截止目前,攻击者的目的还不清楚,也没有与已知的APT攻击组织相关联。

Thou shalt 更新插件

水坑攻击活动被设置在属于目标组织的个人、公共机构、慈善组织和企业。截至目前,有一些网站仍然处于被黑状态,仍在将访问者重定向到恶意payload:

访问水坑网站后,之前被黑的但是合法的嵌入资源就会加载恶意JS文件。如图1所示,外部服务会确认访问者是否是目标。

图 1. 目标验证服务请求

如果访问者经过验证是模板,第一个JS阶段就会加载第二阶段JS,触发drive-by下载攻击,是一个伪造的更新弹窗,如图2所示。

图 2. 第二个payload生成的警告

然后,访问者会进入一个更新陷阱,下载一个会被设置为后门的恶意安装器包。

技术分析

第一个JS阶段

第一个JS阶段叫做(script|jquery)-css.js,使用了中文web服务Sojson v4进行混淆,如图3所示:

图 3. Sojson v4 JS混淆

Payload会使用RTCPeerConnection API和 ipify服务来对访问者进行指纹操作。收集的数据会通过HTTP GET请求发送给loginwebmailnic.dynssl[.]com,以验证访问者是否是目标:

https://loginwebmailnic.dynssl[.]com/all/content.php?jsoncallback=&lanip=&wanip=&urlpath=&_=

JSON格式的响应可以是“t”或“f” (true or false)。如果值是t就会触发第二个JS阶段,如图4所示;如果值是f,任何事情都不会发生。

图 4. 第一个反混淆的验证逻辑

在第一个JS脚本的之前版本中,有一个额外的JS payload会无条件地加载,并进入另一个访问者验证分支和第二阶段。

另一个分支会从root20system20macosxdriver.serveusers[.]com加载脚本,使用https://loginwebmailnic.dynssl[.]com/part/mac/contentmc.php URL来验证秘密。主机和验证页名表明其他分支可能会被用来攻击macOS用户,但是无法确认该假设。

第二个JS阶段

第二个JS阶段名为(script|jquery)-file.js,使用的是Sojson v5版本进行混淆,如图5所示:

图 5. Sojson v5混淆

Payload使用 jquery.fileDownload来向目标展示一个弹窗,提供给访问者一个Flash player更新。攻击者在整个过程中没有利用漏洞,只是依赖于目标更新软件的意愿。反混淆的JS payload表明恶意更新位于GitHub上,如图6所示。

图 6. 第二个JS payload中的恶意更新源

GitHub FlashUpdate

到PE可执行文件的弹窗链接位于github[.]com/AdobeFlash32/FlashUpdate. ,GitHub已于2月14日禁用了该仓库。但该仓库已经上线9个月了,如图7所示:

图 7. GitHub的AdobeFlash32 commit历史

恶意更新工具集

安装包

该恶意更新包是一个NSIS安装器,会释放和执行2个二进制文件:

· FlashUpdate.exe是一个合法的Windows Flash player安装器,用作诱使用户相信的诱饵。

· Intelsyc.exe是恶意payload文件。

Intelsyc Go stager

Intelsyc是Go语言编程的植入,用于下载Godlike12后门和设置驻留。

它首先会用adobeflash31_install.ddns[.]info的HTTP GET请求来提取/flash/sys.txt。文件内容被用作killswitch来阻止进一步部署。如果内容是1,就会执行以下动作:

· 复制自己到C:/ProgramData/Intel/Intelsyc.exe;

· 通过schtasks [T1053]建立驻留,并指向之前创建的自复制;

· 从thub[.]com/AdobeFlash32/FlashUpdate下载Godlike12为C:\ProgramData\Adobe\flashdriver.exe;

· 通过注册表HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run的flashdriver设置Godlike12的驻留,之前指向的是一个下载的后门。

代码中的源文件路径表明该后门是在Windows系统上开发的。

Godlike12 Go后门

Godlike12是用Go语言开发的,其C2信道依赖于Google Drive空间的文件交换。后门可能使用了github的gdrive Go源。Godlike12是攻击者的Google Drive空间连接名。代码中的源码路径表明后门可能是在GNU/Linux系统上开发的。不常见的/root/gowork GOPATH表明可能来源于中文社区。

Godlike12在启动后会获取主机指纹,比如主机名、IP地址、MAC地址、Windows版本、当前时间等。结果是加密和base64编码的,保存在%TEMP%/[ID]-lk.txt文本文件中,会上传到远程Google Drive。然后后门会定期检查远程[ID]-cs.txt,其中含有要执行的加密命令,保存加密的命令结果到%TEMP%/[ID]-rf.txt,之后上传到同一Google Drive空间。Godlike12没有设置驻留机制。

Stitch Python后门

该后门是开源Python后门Stitch的一个修改版本,用Py2exe打包为一个单独的PE可执行文件。

攻击者用定制的Python代码封装的Stitch执行以下动作:

· 启动后从C2服务器下载合法的Adobe Flash安装程序;

· 启动后从ubntrooters.serveuser[.]com自动更新后门;

· 通过指向C:\ProgramData\package\AdobeService.exe的名为AdobeUpdater的登陆任务来确保驻留。

· 修改后的Stitch是一个远程shell程序,通过建立直接的socket连接来提供经典的后门功能与远程服务器交换AES加密的数据。

结论

截止目前,研究人员发现攻击者拥有将近10个被黑的网站和数十个植入的主机,攻击者利用这些发起了大规模的、目标明确的定向水坑攻击。黑客使用的工具集都是低成本的,而且似乎没有开发完成,在过去几个月已经升级了好几次,使用了Google Drive C2这样的特征,这表明黑客可能是一个小型的、敏捷开发团队。

正在使用的工具集似乎是低成本的且尚未完全开发,但在几个月内已进行了数次修改,以利用诸如Google Drive C2之类的有趣功能,这将是一个小型团队的特征。研究人员追踪发现Godlike12后门传播并不广泛,可能是用于执行监听和数据窃取攻击。截止目前,研究人员还无法这些攻击与任何已知的APT组织相关联。

我来评几句
登录后评论

已发表评论数()

相关站点

+订阅
热门文章