俄乌冲突中蠢蠢欲动的多个APT组织
地缘政治紧张不仅成为了全球的头条新闻,也为攻击者提供了攻击的话题。一个月前,俄乌冲突搅动全球,世界各地的 APT 组织也以相关话题作为诱饵展开攻击。许多诱饵文档利用恶意宏代码或模板注入获取初始立足点,发起后续的恶意攻击。战争题材的诱饵文档不局限在相关地区,而是在各地都有,从拉丁美洲、中东到亚洲。
组织名称 | 归因 | 目标部门 | 目标国家 |
---|---|---|---|
El Machete | 西班牙语国家 | 金融、政府 | 尼加拉瓜、委内瑞拉 |
Lyceum | 伊朗 | 能源 | 以色列、沙特阿拉-伯 |
SideWinder | 印度 | 未知 | 巴基斯坦 |
| EI Machete |
2014 年,卡巴斯基首次披露针对拉丁美洲发起攻击的 El Machete。该组织的攻击行动最早可以追溯到 2010 年,经常使用当前政治局势相关主题的诱饵文件。
在 3 月中旬,研究人员发现 El Machete 向尼加拉瓜的金融机构发送鱼叉邮件,附件名为 乌克兰新纳粹政权的暗黑计划
。该 Word 文档包含俄罗斯驻尼加拉瓜大使 Alexander Khokholikov
发表的、探讨俄乌冲突的文章。
感染链
恶意宏代码会释放名为 ~djXsfwEFYETE.txt
的 base64 编码文件,再利用 certutil.exe
将其解码成名为 ~djXsfwEFYETE.vbe
的 VBScript 文件。利用 wscript.exe
执行 .vbe
文件,并通过 msiexec.exe
执行伪装成 Adobe 软件的 Adobe.msi
。
Adobe.msi
会将恶意软件安装在 TEMP 目录下,再将自身复制到隐藏目录 C:\ProgramData\PD
,这样用户通过文件资源管理器打开 ProgramData 文件夹时就不能发现。恶意软件使用 Python 编写,带有两个 Python 解释器,都伪装成 Adobe 相关的可执行文件(AdobeReaderUpdate.exe
与ReaderSetting.exe
)。该样本每五分钟运行一次计划任务(UpdateAdobeReader)实现持久化,该定时任务会执行 AdobeReaderUpdate
(Loki.Rat 的修改版,自从 2020 年以来一直被 El Machete 使用)。
C&C通信
恶意软件的 C&C 地址并不是硬编码的,而是依赖于另一个包含指向 BlogSpot 网页、经过 base64 编码 URL 的 license.dll
。网页内容在讨论非对称加密,但是其中嵌入了一个 base64 编码的字符串,就是真正的 C&C 地址。恶意样本将会在两个 6-7 字符长的硬编码字符串之间进行检索,例如 /AAAA/
与 *AAAA/
(注:A 代表字符)。
这样可以让样本最初的连接为 blogspot.com
的子域名,显得并非恶意。而且,攻击者可以很容易地切换 C&C 地址,而不需要重新部署样本。
上传给 C&C 服务器的数据为:
{"nu8": "<hostname-username>","d4": "<tag>","r88": "<module name/data type>","m77": "<file path>.pgp","ns32": "<payload>","submit": "submit"}
其中,d4
字段的标签为 Utopiya_Nyusha_Maksim
,这也是 El Machete 一直使用的标签。
Loki.Rat
Python 使用了 base64 编码进行混淆,解码后其实代码较少,部分变量名也进行了混淆。
样本包含的主要功能:
键盘记录
Chrome、Firefox 浏览器凭据收集
上传和下载文件
收集文件信息(.doc、.docx、.pdf、.xlsx、.xls、.ppt、.pptx、.jpg、.jpeg、.rar、.zip、.odt、.ott、.odm、.ods、.ots、.odp)
屏幕截图
收集剪贴板数据
执行命令
Payload
攻击者首先要通过屏幕截图、键盘记录和相关文件来确定失陷主机是否值得后续处理,后续攻击者会通过 msiexec.exe
下载安装 JavaOracle.msi
。
与 Adobe.msi
类似,JavaOracle.msi
也部署 Python 恶意软件并使用计划任务进行持久化。该恶意软件会并行启动多个 Python 解释器,每个解释器运行不同的模块。Python 解释器被伪装成 JavaHosts.exe
、JavaExt.exe
与 JavaAdd.exe
,攻击者还会根据进程名检查某个脚本/模块是否正在运行:
GAME 模块:通过 C&C 服务器下载 Payload,从代码看应该是 EXE 或者 MSI 文件。文件写入隐藏目录
C:\ProgramData\ControlD\
TIME 模块:进行键盘记录并回传给 C&C 服务器
BOX 模块:检查系统中小于 5MB 的文件,经过 base64 编码再上传。首先通过 google.es 测试网络连通性,不可用则退出脚本
LIST 模块:保存屏幕截图(
-shopt.png
)到伪装成 Microsoft 的目录(%APPDATA%\Microsoft\ControlDesktop\
)中再上传到 C&C 服务器。与 BOX 模块类似,通过 google.ru 测试网络连通性,不可用则退出脚本SCAN 模块:将剪贴板数据回传到 C&C 服务器。也会通过 google.ru 测试网络连通性
JavaOracle.msi
似乎使用了新的硬编码标签 Foo_Fighters_Everlong
,可能与 Foo Fighters 鼓手 Taylor Hawkins 去世有关。
攻击目标
鱼叉邮件发往尼加拉瓜的一家金融机构,但诸多证据表明攻击目标不止这一个组织,还有委内瑞拉的政府。
| Lyceum |
Lyceum 在 2017 年后一直十分活跃,经常攻击中东与非洲的相关部门进行窃密活动。3 月中旬,一家以色列能源公司收到来自 reporter@protonmail.com
的鱼叉邮件,标题为 俄罗斯在乌克兰的战争罪行
。邮件中使用了媒体中公开发布的一些图片,并且包含指向 news-spot.live
上一篇文章的 URL。
URL 指向一份文档,引用了《卫报》发表的文章:
该域名下还有一些其他与俄罗斯或者俄乌冲突的恶意文档,如大西洋理事会在 2020 年分析俄罗斯核武器的报告、乌克兰特工岗位等。
感染链
Office 文档携带恶意宏代码,代码将嵌在文档中的可执行文件进行去混淆并释放到 %APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup\
中。这样恶意样本的执行不会与 Office 有什么关系,而是在下次启动计算机时运行。有些 Dropper 不是文档而是 PDF 图标的可执行文件:
Dropper 提取诱饵 PDF 文档并打开,后台下载并执行 Payload。一共发现三类 Dropper:
.NET DNS dropper
.NET TCP Dropper
该后门是 .NET HTTP 的变种,并添加计划任务运行。
Golang Dropper
将 Golang 后门释放到 Startup 文件夹和 Public\Downloads 文件夹中,并且打开 PDF 诱饵文档。
Payload
每个 Dropper 都有对应的 Payload:
.NET DNS Backdoor
.NET DNS 后门是 DnsDig 的自定义版本:
使用 DNS 隧道与 C&C 服务器通信,能够上传/下载文件并执行命令。
.NET TCP Backdoor
后门使用原生 TCP 套接字利用自定义协议与 C&C 服务器通信:
样本使用硬编码的配置进行 C&C 通信,代码仍然积极开发中。典型的功能包括:
执行命令
屏幕截图
遍历目录文件
查看安装程序列表
上传/下载/执行文件
Golang HTTP Backdoor
该后门主要有三个阶段:
检查连接:根据用户名称计算 MD5 生成 UUID,向 C&C 服务器的
/GO/1.php
发送空的 HTTP POST 请求,服务器响应 OK 则继续向下受害者注册:恶意样本通过 POST 请求向 C&C 服务器的
/GO/2.php
发送失陷主机的基本信息命令检索执行:向 C&C 服务器的
/GO/3.php
发送 POST 请求获取执行命令。与其他后门一样,也可以上传/下载文件并且执行命令
归因
除了以色列的能源部门,还在 VirusTotal 上发现了攻击者攻击沙特阿拉-伯的类似样本。中东地区应该是该组织攻击的重点,与 Lyceum 的相似点包括:
都使用 Heijden.DNS 开源库
都使用 DNS 隧道进行 C&C 通信
C&C 服务器与此前 Lyceum 的 C&C 服务器在相同的 ASN 上,并且域名的注册商都是 Namecheap
都是用 Protonmail 发送鱼叉邮件
从样本时间戳和域名注册时间来看,攻击行动已经持续了几个月了。尽管多次发现,但 Lyceum 组织仍然在中东展开持续进攻。
| SideWinder |
SideWinder 可能是来自印度的 APT 组织,主要针对巴基斯坦和中国进行攻击。SideWinder 利用俄乌冲突话题的样本在三月中旬被上传到了 VirusTotal 上。根据内容分析,攻击目标是巴基斯坦。诱饵文档包含伊斯兰堡巴赫里亚大学国家海洋事务研究所的文件,标题为聚焦俄乌冲突对巴基斯坦的影响
。
该文档利用远程模板注入技术,下载的外部模板是利用 CVE-2017-11882 漏洞进行攻击的 RTF 文件。利用成功后,释放并执行包含混淆 JavaScript 代码的 1.a
。
SideWinder 的 TTP 在过去几年基本没有改变,技术细节已经被相关方披露了很多次。值得一提的是,典型的 SideWinder 的 Payload 是基于 aaaaa.NET 开发的窃密程序,最初被称为 SystemApp.dll
。该恶意样本能够收集系统信息、从失陷主机窃取文件并执行命令等。2019 年后,该窃密程序不断在进行微调。
| 结论 |
俄乌冲突已经占据头版头条很长时间了,史无前例地影响了全球并且不知道何时才能结束。已经发现了几个 APT 组织利用俄乌冲突的话题进行攻击,不出意外后续也会有其他 APT 组织利用该话题发起攻击。
参考链接:
https://research.checkpoint.com/2022/state-sponsored-attack-groups-capitalise-on-russia-ukraine-war-for-cyber-espionage/