ESET研究发现一个新APT组织:GopherWhisper,目标是蒙古政府机构

ESET研究发现一个新APT组织:GopherWhisper,目标是蒙古政府机构

ESET研究人员发现了一个此前未公开的与中国相关APT组织,我们将其命名为GopherWhisper。该组织使用多种主要用Go编写的工具,利用注入器和加载器部署和执行各种后门。在观察到的行动中,威胁行为者针对蒙古的一个政府实体。

GopherWhisper滥用合法服务,尤其是Discord、Slack、Microsoft 365 Outlook和 file.io,用于指挥与控制(C&C)通信和数据外泄。关键是,在我们识别出多个Slack和Discord API令牌后,成功从这些服务中提取了大量C&C消息,这为我们提供了对该组织活动的深入了解。

这篇博客文章总结了我们对GopherWhisper工具集和C&C流量调查的发现,相关内容可在我们关于该主题的白皮书中找到。

博客文章的关键点:

  • ESET Research发现了一个新的与中国结盟的APT组织,我们命名为GopherWhisper,该组织针对蒙古的一个政府实体。
  • 该团队的工具集包括基于 Go 的自定义后门 LaxGopher、RatGopher 和 BoxOfFriends,注入器 JabGopher,数据导出工具 CompactGopher,加载器 FriendDelivery 以及 C++ 后门 SSLORDoor。
  • GopherWhisper利用Discord、Slack、Microsoft 365 Outlook和 file.io 进行C&C通信和数据外泄。
  • 我们分析了攻击者在Slack和Discord频道的C&C流量,获得了该组织内部运作及被攻破后活动的信息。

后门多不胜数

我们在2025年1月发现了这个组织,当时我们在蒙古一个政府实体的系统中发现了一个此前未被记录的后门,我们将其命名为LaxGopher。深入调查后,我们发现了更多恶意工具,主要是各种后门,全部由同一组织部署。这些工具中的大多数,包括LaxGopher,都是用Go编写的。

由于我们发现的恶意软件集合没有任何代码相似性,无法将其与已知的威胁行为者联系起来,且在战术、技术和程序(TTP)上与其他组织没有重叠,我们决定将这些工具归属于一个新的团队。我们选择将其命名为GopherWhisper,因为该组织的大部分工具都是用Go编程语言编写的,Go语言的吉祥物是地鼠,并且基于文件名whisper.dll,是一个侧载的恶意组件。

我们最初发现的恶意软件包括以下几种:

  • JabGopher:一个以whisper.dll名执行LaxGopher后门的注入器。它创建新的实例svchost.exe并将LaxGopher注入svchost.exe进程内存。
  • LaxGopher:基于Go的后门,可与私有Slack服务器交互以获取C&C消息。它通过cmd.exe执行命令,并将结果发布回代码中配置的Slack通道。LaxGopher还可以向被攻破的机器下载更多恶意软件。
  • CompactGopher:一种基于Go的文件收集工具,由操作员部署,用于快速压缩命令行文件并自动导出到 file.io 文件共享服务。它是LaxGopher部署的有效载荷之一。
  • RatGopher:基于 Go 的后门,可与私有 Discord 服务器交互以获取 C&C 消息。命令成功执行后,结果会发布回配置好的 Discord 频道。
  • SSLORDoor:一个用C++构建的后门,使用OpenSSL BIO,通过443端口的原始套接字进行通信。它可以枚举驱动器,并根据C&C输入执行命令,主要涉及打开、读取、写入、删除和上传文件。

基于分析中获得的知识,我们找到了另外两个GopherWhisper工具,这些工具同样被部署在针对同一蒙古政府实体时:

  • FriendDelivery:一个恶意的 DLL 文件,作为加载器和注入器,执行 BoxOfFriends 后门。
  • BoxOfFriends:基于Go的后门,利用Microsoft Graph的Microsoft 365 Outlook邮件REST API创建和修改其C&C通信的草稿邮件。

GopherWhisper武器库的示意概述见图1。

Figure 1. GopherWhisper toolset overview
图1。GopherWhisper 工具集概述

揭示信息

如前言所述,GopherWhisper 的特点是广泛使用合法服务,如 Slack、Discord 和 Outlook 进行 C&C 沟通。在调查过程中,我们成功提取了数千条Slack和Discord消息,以及几封来自Microsoft Outlook的草稿邮件。这让我们深入了解了该组织的内部运作。

对Slack和Discord消息的时间戳检查显示,大部分消息是在工作时间内发送的,即UTC+8的上午8点到下午5点之间(见图2和图3),这与中国标准时间相符。此外,Slack元数据中配置用户的所在地也设置为该时区。因此,我们认为GopherWhisper是一个与中国结盟的团体。

Figure 2. Slack messages every hour
图2。每小时Slack Messages(散文)
Figure 3. Number of Discord messages every hour
图3。每小时的Discord消息数量

根据我们的调查,该组织的Slack和Discord服务器最初被用来测试后门的功能,随后在未清除日志的情况下,也被用作多台被攻破机器上LaxGopher和RatGopher后门的C&C服务器。

LaxGopher 的 Slack 频道

我们收集的消息显示,LaxGopher C&C通信主要用于发送磁盘和文件枚举命令。

此外,在Slack消息中发现了几个有趣的链接,指向含有恶意代码的GitHub仓库,如表1所示。根据每个仓库的源代码,我们推测这些仓库可能作为学习资源和开发参考。

表1。在运营商测试上传中发现的GitHub仓库

存储库描述
https://github.com/kardianos/service安装、启动及相关活动到所有操作系统的服务守护进程中。
https://github.com/NHAS/stab为x86和x64选择本地和远程进程注入。
https://github.com/kirinlabs/utils比如加密和压缩工具等。
https://github.com/wumansgy/goEncryptGo中实现的各种加密方法。

RatGopher 的 Discord 频道

除了C&C沟通外,RatGopher的Discord频道还包含了Go源代码,可能是后门的早期版本。

此外,我们还获得了操作员机器的详细信息,因为他们经常用操作员进行测试的枚举过程。这显示了包括操作员使用的虚拟机基于VMware,且该机器启动和安装时间与UTC+8时区非常吻合。

Microsoft 365 Outlook 通信

除了Slack和Discord的通信外,我们还能够提取用于BoxOfFriends后门与其C&C之间通过Microsoft Graph API通信的邮件。我们注意到,Microsoft 创建账户时的欢迎邮件从未被删除。这条消息确认了该账户barrantaya.1010@outlook[.]com 成立于 7 月 11 日th2024年,距离FriendDelivery DLL创建仅11天——该DLL用于执行BoxOfFriends的加载器——于7月22日诞生ND, 2024.

结论

我们对GopherWhisper的调查揭示了一个APT团队,使用各种定制加载器、喷射器和后门工具。通过分析攻击者运营的Slack和Discord渠道获取的C&C通信,以及Outlook邮件草稿,我们获得了关于该组织内部运作及被攻破后活动的更多信息。

如需详细分析工具组及获得的C&C流量,请阅读我们完整的白皮书

全面的攻破指标(IoCs)列表可在白皮书和我们的GitHub仓库中找到。

GopherWhisper:一个充满恶意软件的洞穴阅读完整报告