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

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

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

Thou shalt 更新插件

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

image.png

访问水坑网站后,之前被黑的但是合法的嵌入资源就会加载恶意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历史

恶意更新工具集

安装包

image.png

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

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

· Intelsyc.exe是恶意payload文件。

Intelsyc Go stager

image.png

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后门

image.png

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后门

image.png

该后门是开源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组织相关联。

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

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

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

Thou shalt 更新插件

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

image.png

访问水坑网站后,之前被黑的但是合法的嵌入资源就会加载恶意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历史

恶意更新工具集

安装包

image.png

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

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

· Intelsyc.exe是恶意payload文件。

Intelsyc Go stager

image.png

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后门

image.png

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后门

image.png

该后门是开源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组织相关联。

概述

CVE-2020-8515漏洞POC今年3月发布后,就被用于新的DDoS僵尸网络中。进一步分析表明该恶意软件也在利用CVE-2020-5722漏洞进行传播。检测到的攻击流量自2020年3月31日以来增加了一倍,表明许多Grandstream UCM6200 和Draytek Vigor设备已经被感染或正在被攻击。Grandstream设备是基于IP的商用电话系统,Draytek是路由器设备。

CVE-2020-8515 和CVE-2020-5722漏洞的CVSS v3.1评分都是9.8。一旦被利用,攻击者就可以在有漏洞的设备上执行任意命令。恶意软件是基于Gafgyt/Bashlite恶意软件家族代码基的,研究人员根据其C2通信使用的IRC信道名将其命名为“Hoaxcalls”。 Hoaxcalls可以根据接收到的C2命令发起不同的DDoS攻击。此外,Hoaxcalls还可以利用CVE-2020-8515 和CVE-2020-5722这两个漏洞进行传播。

Hoaxcalls——DDoS僵尸主机

Hoaxcalls是一个通过IRC 与C2服务器进行通信的DDoS僵尸主机。根据C2运营者的选择,主机有不同的DDoS攻击能力。在接收到适当的C2命令后,就可以使用CVE-2020-8515 和CVE-2020-5722漏洞利用来扫描和感染有漏洞的设备。

Hoaxcalls执行后会初始化一个消息表,根据对应的index xor解密特定的消息,提取和打印console的消息,然后再次加密解密的消息。比如,加密的字符串index是0x21,解密的消息就是hubnr 和vbrxmr。

使用的加密方案是大多数Mirai变种使用的标准的字节级的XOR,使用5个8字节的表key:

· 0x1337C0D3

· 0x0420A941

· 0x4578BEAD

· 0x0000A10E

· 0x6531A466

表1是解密的字符串和对应index的完整列表。Index 0x1处解密的字符串用于rand_alpha_str()中,Index 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa处的字符串在恶意软件开始监控进程时使用。

image.png

表 1. 解码的凭证和命令

僵尸主机会通过IRC 在TCP 1337端口连接到C2服务器178[.]32[.]148[.]5。C2的IRC 信道是#hellroom。nick, ident和user是XTC|开头加上9个随机字符的长度为13的字符串。下图是僵尸主机通过IRC 与C2服务器进行通信。

图 1. 通过IRC与C2通信

根据从C2服务器接收到的命令, hoaxcalls会执行不同的动作。下表是僵尸主机支持的命令和hoaxcalls 可以发起的不同种类的DDoS攻击。

image.png

表 2. 僵尸命令和作用

image.png

表 3. Flooder命令

图2和图3是僵尸主机扫描和感染有漏洞的受害者的漏洞利用代码:

图 2. hoaxcalls group 1中的CVE-2020-8515漏洞利用

图 3. hoaxcalls group 1中的CVE-2020-5722漏洞利用

上面的flooder命令是基于group 1的Hoaxcalls 样本。研究人员还发现其他变种,如下所示。

研究人员分析发现group1中的Hoaxcalls样本使用Draytek和UCM 扫描作为其C2 flooder命令集的一部分。Group 2和group 3的样本将繁殖功能从flooder命令中移出,并且在执行时感染有漏洞的Draytek和UCM 设备。感染阶段发送的恶意请求也有所不同,下图就是不同group 中样本的差异:

图 4. hoaxcalls group 2中的CVE-2020-8515漏洞利用

图 5. hoaxcalls group 2中的CVE-2020-5722漏洞利用

图 6. hoaxcalls group 3中的CVE-2020-8515漏洞利用

图 7. hoaxcalls group 3中的CVE-2020-5722漏洞利用 

图 8. 样本的main()比较

漏洞分析

CVE-2020-8155

该漏洞是由于执行过程中可执行文件 /www/cgi-bin/mainfunction.cgi 没有成功过滤keyPath参数,导致可利用的命令注入。攻击者可以在payload中加入一些%27%0A 这样的特殊字符来绕过检车和实现预认证命令注入。该漏洞从2019年12月开始出现在野利用。

CVE-2020-5722

系统由于没有适当地验证user_name 参数,当Forgot Password 特征查询后端SQLite数据库和通过popen() 调用sendMail.py 时会引发SQL 注入。攻击者可以通过在特定SQL字符串和shell元字符‘ or 1=1–; 提供admin这样的默认用户名,将该漏洞变成一个命令注入漏洞。根据官方漏洞公告,该漏洞可以通过HTML 注入被利用。

在野利用

研究人员发现了CVE-2020-8155和CVE-2020-5722 漏洞的多个在野利用。在CVE-2020-8155 的漏洞利用中,攻击者尝试下载一个shell 脚本到tmp 目录中,然后执行下载的脚本,如图9所示。在CVE-2020-5722 漏洞利用中,payload只下载一个arm7 二进制文件并执行,如图10所示。

图 9. CVE-2020-8155 在野漏洞利用

图 10. CVE-2020-5722在野漏洞利用

如图11所示,下载的是一个shell脚本sh。执行后,sh脚本会下载不同架构的DDoS主机,并运行下载的二进制文件。截止目前,Virsutotal中仍然没有可用的恶意软件样本。而且攻击流量越来越多,表明许多设备可能已经被感染了。

hoaxcalls sample that downloads and launches the bots图 11. 下载和启动僵尸主机的shell脚本

总结

研究人员发现一个新的DDOS僵尸网络——Hoaxcalls。Hoaxcalls僵尸网络利用了2个新发现的安全漏洞用于攻击活动中。其他安全研究表明这两个漏洞也被用于其他攻击活动。攻击者利用这2个漏洞引发远程代码执行。

概述

CVE-2020-8515漏洞POC今年3月发布后,就被用于新的DDoS僵尸网络中。进一步分析表明该恶意软件也在利用CVE-2020-5722漏洞进行传播。检测到的攻击流量自2020年3月31日以来增加了一倍,表明许多Grandstream UCM6200 和Draytek Vigor设备已经被感染或正在被攻击。Grandstream设备是基于IP的商用电话系统,Draytek是路由器设备。

CVE-2020-8515 和CVE-2020-5722漏洞的CVSS v3.1评分都是9.8。一旦被利用,攻击者就可以在有漏洞的设备上执行任意命令。恶意软件是基于Gafgyt/Bashlite恶意软件家族代码基的,研究人员根据其C2通信使用的IRC信道名将其命名为“Hoaxcalls”。 Hoaxcalls可以根据接收到的C2命令发起不同的DDoS攻击。此外,Hoaxcalls还可以利用CVE-2020-8515 和CVE-2020-5722这两个漏洞进行传播。

Hoaxcalls——DDoS僵尸主机

Hoaxcalls是一个通过IRC 与C2服务器进行通信的DDoS僵尸主机。根据C2运营者的选择,主机有不同的DDoS攻击能力。在接收到适当的C2命令后,就可以使用CVE-2020-8515 和CVE-2020-5722漏洞利用来扫描和感染有漏洞的设备。

Hoaxcalls执行后会初始化一个消息表,根据对应的index xor解密特定的消息,提取和打印console的消息,然后再次加密解密的消息。比如,加密的字符串index是0x21,解密的消息就是hubnr 和vbrxmr。

使用的加密方案是大多数Mirai变种使用的标准的字节级的XOR,使用5个8字节的表key:

· 0x1337C0D3

· 0x0420A941

· 0x4578BEAD

· 0x0000A10E

· 0x6531A466

表1是解密的字符串和对应index的完整列表。Index 0x1处解密的字符串用于rand_alpha_str()中,Index 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa处的字符串在恶意软件开始监控进程时使用。

image.png

表 1. 解码的凭证和命令

僵尸主机会通过IRC 在TCP 1337端口连接到C2服务器178[.]32[.]148[.]5。C2的IRC 信道是#hellroom。nick, ident和user是XTC|开头加上9个随机字符的长度为13的字符串。下图是僵尸主机通过IRC 与C2服务器进行通信。

图 1. 通过IRC与C2通信

根据从C2服务器接收到的命令, hoaxcalls会执行不同的动作。下表是僵尸主机支持的命令和hoaxcalls 可以发起的不同种类的DDoS攻击。

image.png

表 2. 僵尸命令和作用

image.png

表 3. Flooder命令

图2和图3是僵尸主机扫描和感染有漏洞的受害者的漏洞利用代码:

图 2. hoaxcalls group 1中的CVE-2020-8515漏洞利用

图 3. hoaxcalls group 1中的CVE-2020-5722漏洞利用

上面的flooder命令是基于group 1的Hoaxcalls 样本。研究人员还发现其他变种,如下所示。

研究人员分析发现group1中的Hoaxcalls样本使用Draytek和UCM 扫描作为其C2 flooder命令集的一部分。Group 2和group 3的样本将繁殖功能从flooder命令中移出,并且在执行时感染有漏洞的Draytek和UCM 设备。感染阶段发送的恶意请求也有所不同,下图就是不同group 中样本的差异:

图 4. hoaxcalls group 2中的CVE-2020-8515漏洞利用

图 5. hoaxcalls group 2中的CVE-2020-5722漏洞利用

图 6. hoaxcalls group 3中的CVE-2020-8515漏洞利用

图 7. hoaxcalls group 3中的CVE-2020-5722漏洞利用 

图 8. 样本的main()比较

漏洞分析

CVE-2020-8155

该漏洞是由于执行过程中可执行文件 /www/cgi-bin/mainfunction.cgi 没有成功过滤keyPath参数,导致可利用的命令注入。攻击者可以在payload中加入一些%27%0A 这样的特殊字符来绕过检车和实现预认证命令注入。该漏洞从2019年12月开始出现在野利用。

CVE-2020-5722

系统由于没有适当地验证user_name 参数,当Forgot Password 特征查询后端SQLite数据库和通过popen() 调用sendMail.py 时会引发SQL 注入。攻击者可以通过在特定SQL字符串和shell元字符‘ or 1=1–; 提供admin这样的默认用户名,将该漏洞变成一个命令注入漏洞。根据官方漏洞公告,该漏洞可以通过HTML 注入被利用。

在野利用

研究人员发现了CVE-2020-8155和CVE-2020-5722 漏洞的多个在野利用。在CVE-2020-8155 的漏洞利用中,攻击者尝试下载一个shell 脚本到tmp 目录中,然后执行下载的脚本,如图9所示。在CVE-2020-5722 漏洞利用中,payload只下载一个arm7 二进制文件并执行,如图10所示。

图 9. CVE-2020-8155 在野漏洞利用

图 10. CVE-2020-5722在野漏洞利用

如图11所示,下载的是一个shell脚本sh。执行后,sh脚本会下载不同架构的DDoS主机,并运行下载的二进制文件。截止目前,Virsutotal中仍然没有可用的恶意软件样本。而且攻击流量越来越多,表明许多设备可能已经被感染了。

hoaxcalls sample that downloads and launches the bots图 11. 下载和启动僵尸主机的shell脚本

总结

研究人员发现一个新的DDOS僵尸网络——Hoaxcalls。Hoaxcalls僵尸网络利用了2个新发现的安全漏洞用于攻击活动中。其他安全研究表明这两个漏洞也被用于其他攻击活动。攻击者利用这2个漏洞引发远程代码执行。

受疫情的影响,越来越多的企业开始选择线上办公。近期,线上会议平台zoom成为越来越多黑客攻击的目标。研究人员发现有黑客利用这类攻击来传播恶意软件。

最近,trendmicro研究人员发现有黑客在合法zoom app安装包中加入了Coinminer,诱使想要安装zoom软件的用户下载和安装恶意软件。但是含有恶意软件的zoom安装包并非来自zoom官方下载中心,而是来自伪造的欺诈网址。


图 1. 含有zoom安装包和挖矿机64.exe的代码段

恶意软件分析

想要下载zoom安装包的用户会同时下载一个AutoIt编译的恶意软件Trojan.Win32.MOOZ.THCCABO。该文件包含以下内容:

image.png

图 2.  恶意文件内容

图 3. 文件内容详细分析

文件asascpiex.dll的前5个字节为NULL,然后回被0x00替代,来确保难以确定源文件前面,0x37 0x7A 0xBC 0xAF 0x27表明是一个7-zip压缩文件。然后,该文件会以CR_Debug_log.txt的形式复制,7zip中的CL_Debug_log.txt会用来解压缩密码保护的压缩文件。

图 4. asacpiex.dll文件格式签名的文件

文件会用cpuinfo标志位来确定受感染系统的架构。如果是64位系统就释放64.exe,但是包中不含有32.exe,也就是说该恶意软件目前只运行在64位操作系统中。

图 5. 64.exe代码段

该文件会使用WMI查询来收集GPU信息这样的信息,这些信息对挖矿来说是非常有用的。此外,还有收集CPU、系统、操作系统版本、视频控制器和处理器的信息。

图 6. 检查处理器详情的代码

图 7. 检查视频控制器详情的代码

此外,还会检查Microsoft SmartScreen和Windows Defender是否启用,并检查系统中是否运行了以下反病毒软件:

· AvastUI.exe / AvastSvc.exe→ Avast

· avguix.exe / AVGUI.exe→AVG

· avp.exe / avpui.exe→Kaspersky

· dwengine.exe→Dr. Web

· egui.exe / ekrn.exe→ESET NOD32

· MBAMService.exe→Malwarebytes

图 8. 检查运行的反病毒软件的代码

收集的信息会使用HTTP GET请求发送到hxxps://2no.co/1IRnc。

图 9. 使用HTTP GET请求发送给URL的信息

CR_Debug_log.txt 是一个用7-zip压缩的文件,其中含有payload 64.exe加密货币挖矿机。该文件会以复制helper.exe的形式复制到%appdata%\Roaming\Microsoft\Windows\文件夹中。这是一个含有7-zip文件和密码保护的压缩的Tor二进制文件的AutoIt编译的二进制文件。为了实现驻留,恶意软件设定了一个-SystemCheck 参数的计划任务。

图 10. -SystemCheck参数的计划任务描述

图 11. -SystemCheck计划任务-动作

用计划任务启动helper.exe软件后,就会用-SystemCheck91137 参数传播自己。

图 12. helper.exe属性中的命令行中有-SystemCheck91137

为了绕过检测,helper.exe会检查下面的进程是否会运行。除了安全工具外,还有其他帮助检测挖矿活动的监控工具,包括:

· aida64.exe

· AnVir.exe

· anvir64.exe

· GPU-Z.exe

· HWiNFO32.exe

· HWiNFO64.exe

· i7RealTempGT.exe

· OpenHardwareMonitor.exe

· pchunter64.exe

· perfmon.exe

· ProcessHacker.exe

· ProcessLasso.exe

· procexp.exe

· procexp64.exe

· RealTemp.exe

· RealTempGT.exe

· speedfan.exe

· SystemExplorer.exe

· taskmgr.exe

· VirusTotalUpload2.exe

然后会传播Tor二进制文件来开始加密货币挖矿。

图 13. helper.exe传播tor二进制文件

安全建议

快速从线下办公转为线上办公带来了许多的安全威胁,为此要确保采取适当的措施来确保远程办公的安全。也存在着攻击者滥用远程会议有用传播恶意软件的威胁。研究人员建议用户安装软件时从应用的官方网站下载来避免下载到恶意软件。远程办公时遵循安全最佳实践,此外还需要采用分层保护方法来确保安全。

受疫情的影响,越来越多的企业开始选择线上办公。近期,线上会议平台zoom成为越来越多黑客攻击的目标。研究人员发现有黑客利用这类攻击来传播恶意软件。

最近,trendmicro研究人员发现有黑客在合法zoom app安装包中加入了Coinminer,诱使想要安装zoom软件的用户下载和安装恶意软件。但是含有恶意软件的zoom安装包并非来自zoom官方下载中心,而是来自伪造的欺诈网址。


图 1. 含有zoom安装包和挖矿机64.exe的代码段

恶意软件分析

想要下载zoom安装包的用户会同时下载一个AutoIt编译的恶意软件Trojan.Win32.MOOZ.THCCABO。该文件包含以下内容:

image.png

图 2.  恶意文件内容

图 3. 文件内容详细分析

文件asascpiex.dll的前5个字节为NULL,然后回被0x00替代,来确保难以确定源文件前面,0x37 0x7A 0xBC 0xAF 0x27表明是一个7-zip压缩文件。然后,该文件会以CR_Debug_log.txt的形式复制,7zip中的CL_Debug_log.txt会用来解压缩密码保护的压缩文件。

图 4. asacpiex.dll文件格式签名的文件

文件会用cpuinfo标志位来确定受感染系统的架构。如果是64位系统就释放64.exe,但是包中不含有32.exe,也就是说该恶意软件目前只运行在64位操作系统中。

图 5. 64.exe代码段

该文件会使用WMI查询来收集GPU信息这样的信息,这些信息对挖矿来说是非常有用的。此外,还有收集CPU、系统、操作系统版本、视频控制器和处理器的信息。

图 6. 检查处理器详情的代码

图 7. 检查视频控制器详情的代码

此外,还会检查Microsoft SmartScreen和Windows Defender是否启用,并检查系统中是否运行了以下反病毒软件:

· AvastUI.exe / AvastSvc.exe→ Avast

· avguix.exe / AVGUI.exe→AVG

· avp.exe / avpui.exe→Kaspersky

· dwengine.exe→Dr. Web

· egui.exe / ekrn.exe→ESET NOD32

· MBAMService.exe→Malwarebytes

图 8. 检查运行的反病毒软件的代码

收集的信息会使用HTTP GET请求发送到hxxps://2no.co/1IRnc。

图 9. 使用HTTP GET请求发送给URL的信息

CR_Debug_log.txt 是一个用7-zip压缩的文件,其中含有payload 64.exe加密货币挖矿机。该文件会以复制helper.exe的形式复制到%appdata%\Roaming\Microsoft\Windows\文件夹中。这是一个含有7-zip文件和密码保护的压缩的Tor二进制文件的AutoIt编译的二进制文件。为了实现驻留,恶意软件设定了一个-SystemCheck 参数的计划任务。

图 10. -SystemCheck参数的计划任务描述

图 11. -SystemCheck计划任务-动作

用计划任务启动helper.exe软件后,就会用-SystemCheck91137 参数传播自己。

图 12. helper.exe属性中的命令行中有-SystemCheck91137

为了绕过检测,helper.exe会检查下面的进程是否会运行。除了安全工具外,还有其他帮助检测挖矿活动的监控工具,包括:

· aida64.exe

· AnVir.exe

· anvir64.exe

· GPU-Z.exe

· HWiNFO32.exe

· HWiNFO64.exe

· i7RealTempGT.exe

· OpenHardwareMonitor.exe

· pchunter64.exe

· perfmon.exe

· ProcessHacker.exe

· ProcessLasso.exe

· procexp.exe

· procexp64.exe

· RealTemp.exe

· RealTempGT.exe

· speedfan.exe

· SystemExplorer.exe

· taskmgr.exe

· VirusTotalUpload2.exe

然后会传播Tor二进制文件来开始加密货币挖矿。

图 13. helper.exe传播tor二进制文件

安全建议

快速从线下办公转为线上办公带来了许多的安全威胁,为此要确保采取适当的措施来确保远程办公的安全。也存在着攻击者滥用远程会议有用传播恶意软件的威胁。研究人员建议用户安装软件时从应用的官方网站下载来避免下载到恶意软件。远程办公时遵循安全最佳实践,此外还需要采用分层保护方法来确保安全。

日本国家互联网应急中心(JPCERT / CC)研究人员发现有APT组织利用今年已经修复的IE和Firefox中的2个漏洞对中国和日本发起攻击,这两个漏洞是CVE-2019-17026和CVE-2020-0674。CVE-2019-17026是Firefox浏览器中的安全漏洞,该漏洞已于今年1月发布了安全补丁。CVE-2020-0674是影响IE的安全攻击,微软已于1月修复了该安全漏洞。

攻击概述

攻击活动通过伪造的网站将用户重定向到攻击站点。

图1是受害者从访问被篡改的网站到重定向感染恶意软件的过程。

マルウエア感染までの流れ

图1:恶意软件感染过程

受害者使用IE或Firefox浏览器访问恶意站点时,会被重定向到攻击站点后,会收到与访问的浏览器相对应的攻击代码。

图2是恶意软件根据浏览器做出决策的部分代码。

攻击活动同时针对32位和64位的操作系统,但是由于最终下载的恶意软件是为64的,所以可以理解为该攻击活动只攻击64位的操作系统。

ブラウザ判定を行うJavaScriptの一部

图2:确定浏览器种类的JS代码

如果攻击成功,则将下载的攻击代码作为代理自动配置文件(PAC文件)。下载的攻击代码作为PAC文件执行,然后下载和执行恶意软件。

利用IE漏洞的攻击分析

图3是针对IE浏览器的部分攻击代码。

一般攻击活动下载的恶意软件的目标位置会嵌入在Shellcode中,但该攻击活动将要下载的恶意软件的URL嵌入在文件header中,研究人员分析认为这样做的目的可能是为了让修改攻击代码更加容易。

IE ExploitのJavaScriptの一部

图3:IE 漏洞利用中的JS代码

代码执行的shellcode首先会检查其运行的进程名是否为svchost.exe。

图4是检查进程名的代码段。

プロセス名をチェックするコードの一部

图4:检查进程名的代码

如果进程名是svchost.exe,就下载并执行该恶意软件。如果进程名不是svchost.exe,则使用WinHttpGetProxyForUrl将攻击代码重新下载为PAC文件,如图5所示。PAC文件由svchost.exe执行,因此该恶意软件将在此时下载并执行(图6)。

PACファイルをダウンロードするコードの一部

图5:下载PAC文件的部分代码

マルウエアをダウンロードおよび実行するコードの一部

图6:用于下载和执行恶意软件的代码段

在下载和执行恶意软件时,在非Windows 10以的环境中,仅执行图6中的代码;在Windows 10系统中执行代码,代码同时会进行提权,如图7所示。

権限昇格を行うコードの一部

图7:权限提升的代码段

利用Firefox漏洞的攻击分析

图8是攻击Firefox浏览器的代码。

Shellcode会攻击代码重新下载为PAC文件,与图5中的代码非常相似。此时下载的代码是IE的代码,而不是Firefox的攻击代码。执行后,PAC文件的行为与攻击IE浏览器类似。

Firefox ExploitのJavaScriptの一部

图8:Firefo漏洞利用中的JS代码

感染的恶意软件

攻击成功后最终安装的恶意软件为Gh0st RAT。这次使用的Gh0st RAT代码和之前泄漏的Gh0st RAT源代码大多数是相同的,具体比较如图9所示。

マルウエアとGh0st RATのソースコードの一部比較

图9:恶意软件和Gh0st RAT源代码的部分比较

(左:恶意软件代码;右:之前泄漏的Gh0st RAT源代码)

恶意软件通信过程中发送的数据是以固定值“ afxcbyzt”开头的,然后使用zlib压缩要发送的数据,并将前两个字节与0x88进行XOR运算。

マルウエアが送信するデータの例

图10:恶意软件发送的数据示例

结论

该攻击活动中针对IE浏览器的攻击影响Windows 7 x64(2019年12月发布的补丁程序)和Windows 8.1 x64(2020年1月发布的补丁程序)之前的所有版本。研究人员发现在Windows 10(2020年1月发布的补丁)系统上没有感染恶意软件感染。研究人员猜测攻击活动中使用的恶意代码可能和Windows 10系统不兼容。

日本国家互联网应急中心(JPCERT / CC)研究人员发现有APT组织利用今年已经修复的IE和Firefox中的2个漏洞对中国和日本发起攻击,这两个漏洞是CVE-2019-17026和CVE-2020-0674。CVE-2019-17026是Firefox浏览器中的安全漏洞,该漏洞已于今年1月发布了安全补丁。CVE-2020-0674是影响IE的安全攻击,微软已于1月修复了该安全漏洞。

攻击概述

攻击活动通过伪造的网站将用户重定向到攻击站点。

图1是受害者从访问被篡改的网站到重定向感染恶意软件的过程。

マルウエア感染までの流れ

图1:恶意软件感染过程

受害者使用IE或Firefox浏览器访问恶意站点时,会被重定向到攻击站点后,会收到与访问的浏览器相对应的攻击代码。

图2是恶意软件根据浏览器做出决策的部分代码。

攻击活动同时针对32位和64位的操作系统,但是由于最终下载的恶意软件是为64的,所以可以理解为该攻击活动只攻击64位的操作系统。

ブラウザ判定を行うJavaScriptの一部

图2:确定浏览器种类的JS代码

如果攻击成功,则将下载的攻击代码作为代理自动配置文件(PAC文件)。下载的攻击代码作为PAC文件执行,然后下载和执行恶意软件。

利用IE漏洞的攻击分析

图3是针对IE浏览器的部分攻击代码。

一般攻击活动下载的恶意软件的目标位置会嵌入在Shellcode中,但该攻击活动将要下载的恶意软件的URL嵌入在文件header中,研究人员分析认为这样做的目的可能是为了让修改攻击代码更加容易。

IE ExploitのJavaScriptの一部

图3:IE 漏洞利用中的JS代码

代码执行的shellcode首先会检查其运行的进程名是否为svchost.exe。

图4是检查进程名的代码段。

プロセス名をチェックするコードの一部

图4:检查进程名的代码

如果进程名是svchost.exe,就下载并执行该恶意软件。如果进程名不是svchost.exe,则使用WinHttpGetProxyForUrl将攻击代码重新下载为PAC文件,如图5所示。PAC文件由svchost.exe执行,因此该恶意软件将在此时下载并执行(图6)。

PACファイルをダウンロードするコードの一部

图5:下载PAC文件的部分代码

マルウエアをダウンロードおよび実行するコードの一部

图6:用于下载和执行恶意软件的代码段

在下载和执行恶意软件时,在非Windows 10以的环境中,仅执行图6中的代码;在Windows 10系统中执行代码,代码同时会进行提权,如图7所示。

権限昇格を行うコードの一部

图7:权限提升的代码段

利用Firefox漏洞的攻击分析

图8是攻击Firefox浏览器的代码。

Shellcode会攻击代码重新下载为PAC文件,与图5中的代码非常相似。此时下载的代码是IE的代码,而不是Firefox的攻击代码。执行后,PAC文件的行为与攻击IE浏览器类似。

Firefox ExploitのJavaScriptの一部

图8:Firefo漏洞利用中的JS代码

感染的恶意软件

攻击成功后最终安装的恶意软件为Gh0st RAT。这次使用的Gh0st RAT代码和之前泄漏的Gh0st RAT源代码大多数是相同的,具体比较如图9所示。

マルウエアとGh0st RATのソースコードの一部比較

图9:恶意软件和Gh0st RAT源代码的部分比较

(左:恶意软件代码;右:之前泄漏的Gh0st RAT源代码)

恶意软件通信过程中发送的数据是以固定值“ afxcbyzt”开头的,然后使用zlib压缩要发送的数据,并将前两个字节与0x88进行XOR运算。

マルウエアが送信するデータの例

图10:恶意软件发送的数据示例

结论

该攻击活动中针对IE浏览器的攻击影响Windows 7 x64(2019年12月发布的补丁程序)和Windows 8.1 x64(2020年1月发布的补丁程序)之前的所有版本。研究人员发现在Windows 10(2020年1月发布的补丁)系统上没有感染恶意软件感染。研究人员猜测攻击活动中使用的恶意代码可能和Windows 10系统不兼容。

SonicWall Capture研究人员发现一款恶意软件利用CoViD19疫情,通过覆写MBR(主引导记录)文件使得受影响用户的硬盘不可用。

感染链

恶意软件执行后,会在临时文件夹中释放一些帮助文件:

其中一个helper文件名为coronavirus.bat,将自己识别为coronovirus Installer,负责执行大多数的设置安装工作。恶意软件会创建一个名为COVID-19的文件夹,并将之前释放的helper文件都移动过来。为了不被受害者发现,COVID-19文件夹是隐藏的。然后会禁用Windows任务管理器、UAC控制等,并且在修改了用户的当前墙纸后会禁止增加或修改墙纸。恶意软件还会在注册表中添加新的记录来实现驻留。

Coronavirus.bat

受害者会被通知安装和重启系统。

run.exe会创建一个明文run.bat的批处理文件来确保coronavirus.bat文件对注册表的修改在mainWindow.exe执行后不会变化。

MainWindow.exe执行后会显示一个具有2个按钮的窗口,展示的是CoVID-19病毒的结构。

其中一个名为Remove virus(移除病毒)的按钮没有什么作用。点击HELP按钮后,会展示下面的图片:

Update.VBS脚本文件的唯一功能是展示下面的消息窗口:

在系统重启后会有另外一个二进制文件开始执行,作用是覆写MBR文件。

原始的MBR文件会在被新文件覆写前会在一个区域备份。

用新代码覆写MBR:

在硬盘的第二个区域会复制下面的消息:

MBR和新代码:

最后,受害者会根据bootstrap代码展示如下信息:

SonicWall Capture研究人员发现一款恶意软件利用CoViD19疫情,通过覆写MBR(主引导记录)文件使得受影响用户的硬盘不可用。

感染链

恶意软件执行后,会在临时文件夹中释放一些帮助文件:

其中一个helper文件名为coronavirus.bat,将自己识别为coronovirus Installer,负责执行大多数的设置安装工作。恶意软件会创建一个名为COVID-19的文件夹,并将之前释放的helper文件都移动过来。为了不被受害者发现,COVID-19文件夹是隐藏的。然后会禁用Windows任务管理器、UAC控制等,并且在修改了用户的当前墙纸后会禁止增加或修改墙纸。恶意软件还会在注册表中添加新的记录来实现驻留。

Coronavirus.bat

受害者会被通知安装和重启系统。

run.exe会创建一个明文run.bat的批处理文件来确保coronavirus.bat文件对注册表的修改在mainWindow.exe执行后不会变化。

MainWindow.exe执行后会显示一个具有2个按钮的窗口,展示的是CoVID-19病毒的结构。

其中一个名为Remove virus(移除病毒)的按钮没有什么作用。点击HELP按钮后,会展示下面的图片:

Update.VBS脚本文件的唯一功能是展示下面的消息窗口:

在系统重启后会有另外一个二进制文件开始执行,作用是覆写MBR文件。

原始的MBR文件会在被新文件覆写前会在一个区域备份。

用新代码覆写MBR:

在硬盘的第二个区域会复制下面的消息:

MBR和新代码:

最后,受害者会根据bootstrap代码展示如下信息: