伊朗攻击组织 COBALT MIRAGE 的 B 小组使用 .NET 编写的恶意软件 Drokbk,由 Dropper 与 Payload 组成。该恶意软件内置的功能有限,主要就是执行 C&C 服务器的命令。2022 年 2 月,美国政府在针对地方政府网络的入侵攻击中发现了该恶意软件,后续在 VirusTotal 上发现了该样本。
组织关系
Drokbk 恶意软件作为失陷主机中一种附加持久化方式,通常和其他恶意软件一同使用,COBALT MIRAGE 的首选远控方式仍然还是 FRPC。COBALT MIRAGE 的 A 小组对 FRPC 进行了定制化修改,名为 TunnelFish。但 COBALT MIRAGE 的 B 小组仍然喜欢使用未修改的版本。在 2022 年 3 月的一份分析报告中,攻击者表现出了 B 小组的攻击行为,其中也提及了 Drokbk.exe。并且攻击者使用的 C&C 域名 activate-microsoft.cf 也与 B 小组有关。
分析人员在调查 2 月使用 Log4j 漏洞(CVE-2021-44228 和 CVE-2021-45046)入侵 VMware Horizon 服务器时,发现 Drokbk.exe 是从合法服务下载的压缩文件 Drokbk.zip 中释放的。攻击者将其置于 C:\Users\DomainAdmin\Desktop\ 并执行。
Drokbk 进程树
Drokbk Dropper 会检查 C:\programdata\SoftwareDistribution 目录是否存在,如果不存在则创建该目录。随后,Dropper 将资源段中所有数据写入 c:\users\public\pla。紧接着,程序再将其复制到 c:\programdata\SoftwareDistribution\SessionService.exe。使用该文件,Dropper 添加名为 SessionManagerService 的服务进行持久化。最后,Dropper 删除 c:\users\public\pla 文件收尾。整体过程如上所示。B 小组的攻击者喜欢将 c:\users\public\ 作为恶意软件所使用的共用目录。
SessionService.exe 是最主要的 Payload,其 C&C 通信的域名在其中内置了。但 Drokbk 仍然连接到互联网的合法服务(例如 GitHub)来获取 C&C 服务器地址。C&C 服务器信息存储在云服务的账户中,该账户也内嵌在恶意软件中。
反编译代码
如上显示了 SessionService.exe 的反编译代码,样本通过 GitHub API 搜索名为 mainrepositorytogeta 的存储库。
如下所示,GitHub 对应仓库的 README.md 文件中记录着 C&C 服务器的信息。攻击者使用的 GitHub 账户名称为 Shinault23。
通过 GitHub 获取 C&C 信息
这种方式为攻击者提供了更大的灵活性,当账户被禁用时,攻击者可以利用其他账户创建相同名称的仓库,也可以通过不断重复此过程来更新 C&C 服务器信息。
README.md 文件首次提交是 2022 年 6 月 9 日,而在 6 月 9 日至 7 月 13 日期间,攻击者多次修改 C&C 服务器地址。如下所示:
commit 提交记录
下图列出了 6 月 9 日至 7 月 13 日期间配置的 C&C 服务器,这些域名与 URL 的结构与之前发现的 B 小组的攻击基础设施是类似的。
C&C 服务器列表
根据提供的 C&C 服务器信息,SessionService.exe 向 C&C 服务器发起请求,其中包含主机名与当前时间。
发起请求
Drokbk 创建了以下文件,但在分析期间未能收到有效命令。