不和谐,我想玩游戏
当玩家在玩在线电脑游戏时想与朋友聊天时,Discord 是他们的首选。此外,对于只想与朋友和家人沟通的用户来说,它也是一个主要选择。所有这些使 Discord 成为全球最常用的协作应用程序之一,聚集了数百万人。
这种流行使得 Discord 成为几乎所有计算机上的常见应用程序,包括那些专门用于工作的计算机。因此,Discord 流量在企业网络中频繁出现,恶意行为者已经意识到这一点。
Trellix 高级研究中心过去曾分析过滥用 Discord 基础设施的恶意软件。然而,大多数样本都是可以从互联网获取的信息窃取程序和远程访问木马(RAT),这与我们最近能够检索到的针对乌克兰关键基础设施的样本有很大不同。这是首次发现与 APT 活动相关的样本滥用 Discord。
为了了解威胁形势,Trellix 与 Threatray 合作以了解总体情况。因此,我们确定了几个利用 Discord 功能进行操作的家族,并发现了他们何时开始滥用这些功能,从而了解了此类恶意软件如今的流行程度。
不和谐问题
Discord 是一个基于 Web 的应用程序,这意味着它通过 HTTP/HTTPS 运行。这使得它对恶意行为者非常有吸引力,因为它通常在企业和非企业网络中启用。此外,它还允许他们在网络中混合流量,从而阻碍安全软件和研究人员的检测。
恶意软件滥用 Discord 的方式主要集中在两种技术:下载额外文件和窃取信息。
Discord 的 CDN
为了从 Discord 下载其他文件,恶意行为者利用了 Discord 的一项功能,即 Discord 的内容交付网络 (CDN)。此功能允许攻击者上传任何类型的文件以便稍后下载。
过程如下:攻击者创建一个Discord用户,用于上传稍后下载的文件。我们将此文件称为“第二阶段”。然后,攻击者将在私人聊天或群组中将“第二阶段”发送给任何其他用户,甚至是他自己。它不需要是公共的,任何人都可以访问。
一旦“第二阶段”上传,攻击者只需从文件中复制链接,就像这样(请注意,尽管这是一个无害的文件,但 Trellix 会阻止它作为预防措施):
https://cdn.discordapp.com/attachments/1132934093626155160/1132934665569845268/regular_file.gif
生成的链接将是示例使用简单的 GET 请求从任何启用了 HTTP/HTTPS 的系统下载“第二阶段”的链接。
Discord 的 webhook
Discord 上的渗透过程是使用其自动化功能之一 Webhooks 完成的,它允许攻击者不仅以文本消息的形式发送信息,还可以发送受害者计算机中存储的文件和其他数据。
要设置 Webhook,首先,攻击者需要一个 Discord 帐户,就像之前的技术一样。然后,它需要创建一台私人服务器,其中将包含一个默认通道,但攻击者可能会创建更多通道,将渗透数据发送到其中。之后,它可以创建一个仅应用于该服务器的指定通道的 Webhook(图 1)。
图 1:在 Discord 上创建 Webhook。
创建后,Webhook 将具有类似于下一个的关联 URL:
https://discord.com/api/webhooks/1132979047434031114/EE348nUDlBRLFmucBjUy8-EBVxiJLOYaIhEZkCF6fT5QaIO-BCoGZ1_xCv2hWFBUg0-E
Webhook URL 由两个变量组成,即示例中的 Webhook ID“1132979047434031114”和示例中的令牌 ID“EE348nUDlBRLFmucBjUy8-EBVxiJLOYaIhEZkCF6fT5QaIO-BCoGZ1_xCv2hWFBUg0-E”,这两个变量都是通过其发送消息所必需的。这意味着攻击者只需要 Webhook URL 即可开始从受害者那里窃取信息,但这也意味着任何人都可以通过同一 Webhook 发送消息(如果他们知道这些值)。
一旦发送消息,攻击者就会在关联的通道中接收该消息。图 2 显示了一个示例。
图 2:使用 cURL 通过 webhook 发送到 Discord 通道的信息。
APT 滥用 Discord?
Discord 的使用很大程度上仅限于任何人都可以从互联网上购买或下载的信息窃取程序和抓取程序。从历史上看,没有观察到主要 APT 组织滥用它,可能是因为他们没有完全控制命令和控制 (C&C) 服务器。这意味着 Discord 可以访问他们的数据并关闭他们的帐户,如果正在进行正在进行的操作,这对他们来说将是可怕的。
然而,根据 Trellix 高级研究中心最近发现的一个针对乌克兰关键基础设施的样本,这种情况可能在不久的将来发生变化。我们尚未发现任何强有力的指标将该样本与任何已知的 APT 组织联系起来,但我们将继续调查和监控。
技术分析
MD5
8bb65823af768f5d85c8f58d9592a845
SHA1
74790694d671fba103fed1a346c531e313421652
SHA256
5fec8e1eaff88a80fd3841c17bcfabb752f5af794f0fc87f1b572db8de166cd6
该样本是通过电子邮件分发的 OneNote 文件,名称为“dobroua.one”,模仿乌克兰非营利组织 dobro.ua 的名称。
打开后,该文件包含对乌克兰士兵的引用,这些士兵通过单击“Підтримати”(英文意思是“支持”)按钮来引诱受害者捐款(图 3)。此操作将执行嵌入的 Visual Basic 脚本 (VBS)。
图 3:亲乌克兰的 OneNote 文件用于引诱受害者。
MD5
c68207e86aa7f6c7798e3de528dcfeb7
SHA1
567c82f26e4469171e1e1746adaae9ad8d0e6d44
SHA256
010e11f748663de4269fcbf42511e0879754c52959763b467d7e66d48e80fb3c
嵌入式 VBS 将解密 PowerShell 脚本,该脚本又包含另一个 Base64 编码的 PowerShell 脚本。
此外,VBS 还创建一个名为“UpdateRoutine”的计划任务,该任务将每天执行该脚本(图 4)。
图 4:上图是嵌入在 OneNote 文件中的 VBS 的原始版本,下图是去混淆后的版本。
MD5
b80550d8b055be2173fdc541145e3a12
SHA1
2798a039f71fd47c5f89826bf6144420105e280c
SHA256
9eebf0a378076a838e2dd300a7f147d2b3385a96f9d7baae4d1ae2e610d5ca4c
Base64 编码的 PowerShell 脚本将通过“sndhrqqw”向 GitHub 存储库“codelance”执行 Web 请求,以下载“codelance.txt”,这是最后阶段的 AES 加密版本,也是另一个 PowerShell 脚本。链接中包含的 URL 如下:https://raw[.]githubusercontent[.]com/sndhrqqw/codelance/master/codelance.txt。
下载文件后,脚本将使用以下 IV(初始化向量)和密钥对其进行解密。
IV = [75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75] 键 = [146, 214, 73, 5, 186, 250
, 205、95、209、132、177、128、136、61、20、179、232、201、78、84、157、87、189、108、65、255、173、228、125、235、112、 64]
图 5:从 VBS 解密的 PowerShell 脚本。用于下载下一阶段。
最终脚本过去已被修改,我们可以在推送到 GitHub 存储库的提交中进行检查。然而,他们都有相同的目标和 Discord 的 webhook 来泄露收集到的数据。在这篇博客中,我们以当时的情况作为分析的参考。
MD5
5643c0d1dbdcfcce5512ef783f1c67b8
SHA1
75e159ce9a865bf928562565066196b5ad6667cc
SHA256
ceeb012723d6e9f53757c6a1692fa3ffec93fe688c50e619242b55fa9825f691
图 6:最终有效负载,一个从系统收集信息的 PowerShell 脚本。
进一步的阶段
截至撰写本文时,我们在遥测中尚未看到任何进一步的相关样本。这表明攻击仅针对恢复样本的乌克兰关键基础设施组织,并且无法检索除所描述的阶段之外的任何其他阶段。
最终有效负载的唯一目标是获取有关系统的信息,这一事实表明该活动仍处于早期阶段,这也符合使用 Discord 作为 C&C 的情况。但是,需要强调的是,攻击者通过修改 GitHub 存储库中存储的文件,将来可以向受感染的系统发送更复杂的恶意软件。
我们使用 Threatray 的恶意软件跟踪和情报功能来探索滥用 Discord 的 CDN 和 Webhook 的恶意软件的威胁态势。我们检查了包含过去三年约 1000 万个恶意软件样本的数据集,并确定了几种模式和趋势,为现代企业和组织面临的不断变化的威胁形势提供了新的视角。
Discord 的 CDN
对尝试连接到cdn[.]discordapp[.]com 的恶意软件样本的搜索导致大量样本使用 Discord 的 CDN 下载下一阶段的有效负载。其中,最流行的是加载器,它负责部署从 Discord 服务器获得的有效负载。
我们的研究结果表明,自 2022 年 8 月以来,使用 Discord 的 CDN 下载下一阶段的恶意软件已变得流行(图 7)。
图 7:自 2022 年以来恶意软件对 Discord 的 CDN 使用情况。Y 轴显示频率。
在大多数情况下,使用 CDN 的系列是用 .NET 语言编写的加载器。此类加载器的实现通常很简单(参见图 8 的示例)。
图 8:加载程序实现的功能,用于从 Discord 的 CDN 下载下一阶段。
在某些情况下,通过 Discord CDN 交付的阶段将加载更多阶段。例如,我们观察到像 SmokeLoader 或 ShortLoader(托管在 CDN 中)这样的知名加载程序部署了 Vidar 系列的窃取程序。
我们还看到 GuLoader (CloudEye) 和 PrivateLoader 经常使用 Discord CDN。最近的一次 GuLoader 活动(图 9)发生在 6 月底到 7 月 23 日月初之间。在分析时,所有下载链接均处于非活动状态,我们无法观察到正在传递的下一阶段有效负载。
图 9:对连接到 Discord CDN 的 GuLoader 示例的查询:2023 年 7 月的峰值表明活动活动。
使用 Threatray 的基于代码重用的分类功能,我们将加载程序和有效负载归因于恶意软件家族。我们总共使用 Discord 找到了大约 10,000 个样本。结果显示了使用 Discord 的 CDN 的系列以及分别交付的有效负载(见图 10 和 11)。我们看到许多主要的加载器系列都使用 Discord 的 CDN。所服务的有效负载是广泛的窃取者和 RAT。我们的研究结果表明,Discord 的 CDN 只是先前活跃参与者采用的新交付载体。
图 10:使用 Discord 的 CDN 的加载器系列。
图 11:最常通过 Discord 的 CDN 下载的恶意软件系列。
Discord 的 webhook
如前所述,攻击者使用 Webhook 将数据从受害者的计算机泄露到 Discord 通道。互联网上有大量的窃取程序,允许网络犯罪分子设置 Discord Webhook 来窃取数据。Mercurial Grabber 就是一个示例,它在构建有效负载时要求提供 Discord Webhook URL(图 12)。
图 12:Mercurial Grabber 构建器中显示的 Webhook 设置。
Umbral Stealer 是另一种信息窃取程序,它允许用户构建指定 Discord 的 Webhook 进行渗透的有效负载(图 13)。该构建器以其易用性和高效性而闻名,使 Umbral Stealer 成为网络犯罪分子的热门选择。
图 13:Umbral Stealer 构建器中显示的 Webhook 设置。
为了识别我们的恶意软件集合中的 Webhook 使用情况,我们使用了 Threatray 的函数逆向搜索功能,该功能能够在每个函数的粒度上找到代码重用。函数 Retro-hunt 与函数的结构特性相匹配,因此可以找到相似的匹配函数,但在指令方面与我们正在寻找的函数不同。
通过函数逆向搜索,我们能够发现使用 .NET 库“DiscordWebhookClient”(图 14)的示例,该库通常用于实现渗透功能。
图 14:用于函数追溯的 DiscordWebhookClient .NET 库函数。
功能级别逆向搜索结果的摘录如图 15 所示。
图 15:功能级逆向搜索搜索结果图示。只有一个恶意软件样本包含全部八个库函数,而其他样本包含七个或更少。
功能级逆向狩猎让我们能够发现不同恶意软件家族之间的相似之处,并在它们之间建立通过传统机制无法识别的联系。这使我们能够识别出几个使用“DiscordWebhookClient”库的恶意软件家族。总体而言,我们发现从 2021 年底开始,Discord Webhook 的大量使用(图 16)。
图 16:自 2021 年中期以来上传到 Threatray 的恶意软件对 Discord Webhook 的使用情况。
此外,我们观察到各种信息窃取者和 RAT 家族的大量使用 – 我们怀疑他们正在使用这种技术作为窃取受害者数据的一部分。我们看到的使用 Webhook 的最常见恶意软件系列有:
- MercurialGrabber
- 特斯拉特工
- 影盗者
- Stalerium
- 索拉诺
- 无线路由器
- 扇区RAT
- 新泽西RAT
- Calibre44Staler
- 因维克塔偷窃者
- 暴风猫
- 堤丰偷窃者
- 暗彗星
- 毒液鼠
- 盗神者
- 纳米核心RAT
- 种植园偷窃者
下图(图 17)显示了使用 Discord 的 Webhook 来选择观察到的最常见恶意软件系列的样本数量。
图 17:Threatray 上滥用 Discord Webhooks 的顶级恶意软件家族的流行程度演变。
我们观察到 Mercurial Grabber 在 2021 年底和 2022 年第一季度的流行率很高,随后在 2022 年剩余时间内迅速下降。从那时起,使用 Discord 的 webhooks 的 AgentTesla 版本开始流行。同样,我们观察到 UmbralStrealer 在 2023 年 6 月和 7 月出现显着增长。
结论
近年来,不断变化的安全威胁形势出现了一个令人担忧的趋势:利用 Discord 等流行通信平台进行恶意利用。
滥用 Discord 的 CDN 作为额外恶意软件负载的分发机制,展示了网络犯罪分子利用协作应用程序获取利益的适应性。通过在看似无害的内容中隐藏恶意文件,这些威胁行为者可以轻松逃避传统的安全措施。
此外,利用 Discord 的网络挂钩来泄露敏感信息凸显了该平台在促进数据盗窃方面的多功能性。这些挂钩最初是为自动化和集成而设计的,但无意中成为恶意行为者在不引起怀疑的情况下提取敏感数据的工具。
利用 Discord 功能的 APT 恶意软件活动的潜在出现给威胁环境带来了新的复杂性。APT 以其复杂和有针对性的攻击而闻名,通过渗透广泛使用的通信平台(如 Discord),它们可以有效地在网络中建立长期立足点,使关键基础设施和敏感数据面临风险。
然而,重要的是要记住,APT 组织过去没有使用 Discord 是有原因的:他们没有完全控制 C&C 通道。看来 APT 攻击者未来只会在早期阶段使用 Discord 或进行侦察,就像我们之前看到的那样,为后期阶段留下更可靠的方法。
然而,一般恶意软件的情况则不同,因为它们中的许多恶意软件多年来一直在使用 Discord 功能来执行其活动。从信息窃取木马到勒索软件等,企业面临的威胁范围广泛且不断演变。
使用 Discord 来逃避检测已经是一种现象,但 APT 攻击者已经开始使用它,这是安全研究人员必须面对的新现实。为了确保正确检测这些邪恶活动并保护系统,应监视和控制 Discord 通信,并在必要时阻止它们。
附录 SHA256 哈希值
5fec8e1eaff88a80fd3841c17bcfabb752f5af794f0fc87f1b572db8de166cd6 010e11f748663de4269fcbf42511e0879754c52959763b467d7e66d48e80fb3c 9ee bf0a378076a838e2dd300a7f147d2b3385a96f9d7baae4d1ae2e610d5ca4c ceeb012723d6e9f53757c6a1692fa3ffec93fe688c50e619242b55fa9825f691
网址
https://raw[.]githubusercontent[.]com/sndhrqqw/codelance/master/codelance
https://discord[.]com/api/webhooks/1106570095184052315/l2AtfWUd-YUVbgrl7z5oHRKLk7lVFFccddg3fu1k6nY5Vf7ttgcKvQhxTpUTi9eDj9B5
本文档和其中包含的信息描述了计算机安全研究,仅用于教育目的。