俄罗斯APT组织Water Gamayun利用CVE-2025-26633将恶意代码 MUIPath 武器化

- Trend Research 发现了俄罗斯威胁行为者 Water Gamayun 发起的一项活动,该活动利用 Microsoft 管理控制台框架中的零日漏洞执行名为 MSC EvilTwin (CVE-2025-26633) 的恶意代码。
- 在此次攻击中,威胁行为者操纵 .msc 文件和多语言用户界面路径 (MUIPath) 来下载和执行恶意负载、保持持久性并从受感染的系统中窃取敏感数据。
- 此类威胁可能会对企业造成严重影响,因为它们可能导致数据泄露和重大财务损失。各种企业,尤其是那些大量使用微软管理工具的企业,都可能面临成为此类攻击活动的受害者的风险。
- 微软与 Trend Zero Day Initiative™ (ZDI) 的漏洞赏金计划携手合作,披露了此漏洞并迅速发布了补丁。Trend Vision One™ - Network Security 为趋势科技客户提供 TippingPoint 入侵防御过滤器,以保护他们免受此威胁的侵害。
Trend Research 发现了疑似俄罗斯威胁行为者 Water Gamayun(又名EncryptHub和 Larva-208)发起的一项攻击活动,该活动利用 Microsoft 管理控制台 (mmc.exe) 框架中的零日漏洞在受感染的计算机上执行恶意代码。我们将该技术命名为 MSC EvilTwin (CVE-2025-26633),并跟踪其编号为 ZDI-CAN-26371(又名ZDI-25-150)。
这是关于此活动的两篇博文系列的第一篇。本文重点介绍 MSC EvilTwin 技术以及利用此漏洞的木马加载程序,解释其如何利用 Microsoft 控制台 (.msc) 文件在受害者系统上下载并执行恶意文件。下一篇博文将深入探讨该威胁行为者使用的不同模块和有效载荷。
该活动正在积极开发中;它采用多种传递方法和自定义有效载荷,旨在保持持久性并窃取敏感数据,然后将其泄露到攻击者的命令和控制(C&C)服务器。
以下模块是与 Water Gamayun 相关的已识别武器库,其详细信息将在第二篇博客文章中介绍:
- EncryptHub窃取者
- DarkWisp 后门
- SilentPrism后门
- MSC EvilTwin装载机
- 窃取
- 拉达曼迪斯窃贼
Trend Zero Day Initiative™ (ZDI)的漏洞赏金计划与微软合作,披露了此次零日攻击,并于 3 月 11 日发布了针对该漏洞的补丁。Trend 还通过本博文末尾提供的安全解决方案,为企业提供针对利用 CVE-2025-26633 漏洞的威胁行为者的保护。
图 1. Microsoft Windows MSC 文件 UI 警告不足远程代码执行漏洞 (CVE-2025-26633) 时间线
Microsoft 管理控制台和 Microsoft 控制台文件
Microsoft 管理控制台 (MMC) 是一款提供图形用户界面 (GUI) 和编程框架的应用程序,用于创建、保存和访问用于管理各种 Windows 硬件、软件和网络组件的管理工具集合(称为控制台)。这些管理工具称为管理单元 (snap-ins),是链接到 Microsoft 控制台文件的 COM 对象。Windows 防火墙 (wf.msc) 就是这样一个工具的示例,如图 2 所示。
图 2. Windows 防火墙文件 (wf.msc)
单个 .msc 文件可以包含对多个管理单元的引用(图 3)。这些文件可编写脚本,允许用户创建、修改并使用它们,通过一组预定义的工具和配置打开 MMC。
图 3. Microsoft 管理控制台 - 管理控制台中列出的管理单元
Water Gamayun 使用的技术
在攻击中,Water Gamayun 滥用三种技术通过 Windows MSC 文件在受感染的系统上执行恶意负载:
MSC EvilTwin(CVE-2025-26633)
这种技术涉及通过合法文件执行恶意 .msc 文件。在这种攻击中,木马加载程序会在系统中创建两个同名的 .msc 文件:一个文件干净,看似合法,没有任何可疑元素;另一个文件是恶意版本,放置在相同的位置,但位于名为_en-US_的目录中。运行干净的 .msc 文件时,mmc.exe 会加载恶意文件而不是原始文件并执行。
在这种情况下,攻击者会滥用 mmc.exe 的多语言用户界面路径 (MUIPath) 功能。默认系统语言——英语(美国)——的 MUIPath 通常配置为包含 MUI 文件 (.mui),这些文件用于存储应用程序特定于语言的资源。这些资源包括本地化文本、对话框以及针对不同语言定制的用户界面元素。
通过滥用mmc.exe使用MUIPath的方式,攻击者可以为MUIPath en-US配备一个恶意的.msc文件,导致mmc.exe加载这个恶意文件而不是原始文件,并在受害者不知情的情况下执行。
以下代码片段演示了如何在 mmc.exe 中滥用此技术(SHA256:80055590cf6573c6ef381c9b834c35c1a5e7463aedbcf4b5427a903f1e588c50):
10.0.26100.2033(WinBuild.160101.0800)文件。
图4. mmc.exe MUI文件处理
通过 mmc.exe 执行 .msc 文件时,ScOnOpenDocument_函数会调用_scGetMuiPath_函数,该函数使用_GetFileMUIPath Windows API 来检索 MUI 文件(如果存在)。
如果 MUIPath en-US 存在,mmc.exe 将从 en-US 目录中的 .msc 文件(而不是原始 MSC 文件)加载 XML 内容并执行。如果 en-US 目录不存在,则加载并执行选定的 .msc 文件内容。
通过 MSC 文件执行 shell 命令进行 Web 渲染
第二种技术是通过受害者机器上的View对象,通过MMC的_ExecuteShellCommand_方法执行命令shell。这可以通过利用特制的.msc文件和ActiveX控件中的Shockwave Flash对象来实现,该控件默认会打开一个Web浏览器(图5)。
图 5. 打开 ActiveX 控件管理单元的 mmc.exe 默认情况下在 StringTable 中给定具有高优先级的 URL
_ExecuteShellCommand_方法是 MMC 的 View Object 的一部分,它在窗口中运行命令(图 6)。
图 6. ExecuteShellCommand 方法是 MMC 视图对象的一部分
在此上下文中,当 MMC 管理单元承载 Microsoft Internet Explorer 浏览器组件时,视图对象充当外部对象。这意味着可以通过嵌入脚本标记,从 MMC 中显示的 HTML 页面远程访问 MMC 的视图对象方法,例如:
<script>external.ExecuteShellCommand(...)</script>
在这种情况下,攻击者托管以下命令,以在受害者的机器上下载并执行下一阶段的有效载荷(图7)。安全从业人员此前已讨论过此技术,并已获得概念验证。
图 7. 线程参与者用于下载和执行有效载荷的 MMC 的 ExecuteShellCommnad 方法
模拟受信任目录方法
第三种方法是通过在名称中添加尾随空格或特殊字符来创建与标准系统路径类似的模拟目录。例如,创建“C:\Windows\System32”(请注意\System32之前的空格)而不是标准的“C:\Windows\System32”。当应用程序的路径验证逻辑在字符串比较期间无法正确处理空格时,它可能会将修改后的目录解释为与真正的系统路径等效。这可能导致文件从备用位置加载,而不是从预期的系统目录加载。当应用程序加载具有较高访问级别的库或可执行文件时,此技术非常有用。MSC EvilTwin 加载程序使用此方法释放 WmiMgmt.msc(图 8)。
图 8. MSC EvilTwin 加载程序使用模拟可信目录方法来释放 WmiMgmt.msc
MSC EvilTwin 木马加载程序
MSC EvilTwin 加载程序是一个用 PowerShell 编写的木马加载程序,它利用上述所有技术在受感染的系统上下载并执行恶意负载(图 9)。我们的分析表明,攻击始于一个伪装成钉钉或 QQTalk 等热门中文软件的数字签名 MSI 文件(SHA256:5588d1c5901d61bb09cd2fc86d523e2ccbc35a0565fd63c73b62757ac2ee51f5)。这些文件旨在从攻击者的 C&C 服务器获取 MSC EvilTwin 加载程序,并在受害者的计算机上执行。
在调查过程中,我们发现该技术的早期版本于 2024 年 4 月投入使用。
图 9. MSC EvilTwin Loader 主逻辑
该加载程序包含两个 Base64 编码的 blob,分别名为_originalConsole_和_
originalConsole_和_
hackedConsole_。它们是 .msc 文件。originalConsole变量存储的是合法的非恶意 .msc 文件,而_hackedConsole__变量_则包含恶意制作的 .msc 文件,其中包含攻击者的 C&C 服务器地址。
首先,加载程序会创建两个目录:C:\Windows\System32_和_C:\Windows\System32\en-US,这两个目录与 Windows 系统上的合法 WmiMgmt.msc 路径类似(图 10)。然后,加载程序会解码并写入 .msc 文件的内容。对于 en-US 目录中的 WmiMgmt.msc 文件,它会将占位符_{htmlLoaderUrl}_替换为攻击者的 C&C 服务器 URL,即 hxxps://82[.]115.223.182/encrypthub/ram/。
图 10. Windows 系统上合法且预先存在的 WmiMgmt.msc(请注意系统路径中没有空格)
然后,恶意软件会执行位于_C:\Windows\System32\WmiMgmt.msc 的非恶意 WmiMgmt.msc 文件。这会触发 EvilTwin 技术,导致 mmc.exe 从 MUI 路径 en-US 加载并执行 WmiMgmt.msc 文件。该文件的__StringTable_部分包含攻击者的 C&C 服务器 URL 。
这会导致包含 ActiveX 控件管理单元的 mmc.exe 加载 Microsoft Internet Explorer 浏览器组件,并在 mmc.exe 中加载 URL 的 HTML 内容进行渲染和显示。在本例中,攻击者在恶意 HTML 页面的 script 标签中嵌入了_external.ExecuteShellCommand_方法(图 11),这会导致 MMC 在受害者的机器上执行给定的命令。在本例中,加载程序在受感染的系统上下载并执行 Rhadamanthys 窃取程序的下载程序_ram.ps1 。_
图 11. 执行 PowerShell 的 EvilTwin 技术
Water Gamayun 不仅在此加载器中使用这些技术,还在其他模块中广泛应用这些技术,以便从服务器下载并执行下一阶段的有效载荷或插件。利用这些技术,攻击者可以通过运行非恶意文件,通过合法的 Windows 二进制文件代理执行恶意有效载荷。
结论
Trend Research 对此次攻击活动的调查揭示了 Water Gamayun 利用 MMC 框架漏洞的方法。通过利用 MMC 框架中的一个漏洞(我们将其标记为 MSC EvilTwin (CVE-2025-26633)),该威胁行为者有效地设计了一种在受感染机器上执行恶意代码的方法。在本系列文章(共两部分)中,我们重点介绍了 MSC EvilTwin 技术以及用于利用此漏洞的木马加载程序的技术细节。此次攻击采用了多种创新技术来保持持久性并窃取敏感数据,并利用了对 .msc 文件和 Microsoft 的 MUIPath 的操作。
我们的调查结果显示,该活动正在积极发展,利用各种交付方法和自定义有效载荷,如 Water Gamayun 部署的模块中所述,包括 EncryptHub 窃取程序、DarkWisp 后门、SilentPrism 后门和 Rhadamanthys 窃取程序。
通过微软与 Trend ZDI 的合作,此次零日攻击已被披露,并已迅速发布补丁进行修复。企业需要全面的网络安全解决方案来应对 Water Gamayun 等活动所展现的不断演变的威胁。在威胁行为者不断改进其攻击手段的环境下,针对 MSC EvilTwin 等漏洞的技术,分层方法和先进的网络安全解决方案对于保护数字资产至关重要。
Indicators of compromise - CVE-2025-26633: How Water Gamayun Weaponizes MUIPath using MSC EvilTwin
===========================
Files
============================ MSI =========================
[Filename] [SHA256] [Detection] DingTalk_v7.6.38.122510801.msi cbb84155467087c4da2ec411463e4af379582bb742ce7009156756482868859c Trojan.Win32.RHADAMANTHYS.YXFCR015f0fdf24a19b98447fab5fa16abf929c1cf9be33e9455ce788909dd5a8dbfe Trojan.Win32.RHADAMANTHYS.YXFCT
EchonexMeets.exe b1fa0ded2f0cc42a70b7a0c051f772cd6db76b15d50ec119307027e670998728 TrojanSpy.Win32.RHADAMANTHYS.YXFCT
QQTalk.msi 725df91a9db2e077203d78b8bef95b8cf093e7d0ee2e7a4f55a30fe200c3bf8f Trojan.Win32.STEALC.YXFCG
VooV Meeting.msi db3fe436f4eeb9c20dc206af3dfdff8454460ad80ef4bab03291528e3e0754ad TROJ_FRS.VSNTCI25
============================ MSC EvilTwin loader ============================
[SHA256] [Detection] b1b3d27deb35dd8c8fed75e878adae3f262475c8e8951d59e5df091562c2779b Trojan.PS1.FICKLESHADE.YXFCR7f8bd2d63bb95d61fcbdb22827c3a3e46655f556da769d3880c62865e6fde820 Trojan.PS1.FICKLESHADE.YXFCR
43eab8488dce80c1086aafdf4594b1a438347e32275abeaa8b2bb14475fb3f98 Trojan.PS1.FICKLESHADE.YXFCR
1b3309c7a4c3940eff1e1ab1905641b23ea743c4f11d82107ce36fa1ec2299e9 Trojan.PS1.FICKLESHADE.YXFCR
2aeb9aeca5739ea1cb5a30d284d65e36fe18f47db9e5e504063d982b9c3bc3e9 Trojan.PS1.FICKLESHADE.YXFCR
9b830c2979cbce45573aa21d765adda76f52db254155ae49648ef5050ceaf774 Trojan.PS1.FICKLESHADE.YXFCR
4e6f35ab5eb9242335bee01d6df9b50f665043f9930a630df7e170b904f52a24 Trojan.PS1.FICKLESHADE.YXFCR
d76c25e2761210783055b43349370253d794e94ee913a2be7596b9554eacf107 Trojan.PS1.FICKLESHADE.YXFCR
5357279bad530c3af89713aaf6befe19a22e438f22952aed46097590130551fa Trojan.PS1.FICKLESHADE.YXFCR
413dea8ea8cb09cd3ac49531a8e0a13f767c09f78fb77856f4668377532a64ef Trojan.PS1.FICKLESHADE.YXFCR
0943b0f328282504c2661cd56e4bd83e3b3e5a4cce89e2e5523f83a2d535a07e Trojan.PS1.FICKLESHADE.YXFCR
f5c97f23543e904944120ef738f300049eae85c3b0bf8b86b346572f7bc6dec1 Trojan.PS1.FICKLESHADE.YXFCR
9e9ca325f44eeff4087bb67052536ba565da18e70e5b29c79ed77c14c5548131 Trojan.PS1.FICKLESHADE.YXFCR
94ee2227696da3049ff67592834b4b6f98186f91e6d1cd1eeec44f24b9df754b Trojan.PS1.FICKLESHADE.THLACBD
cedf4589428ae05d3d2dca1d1bd7fa28f6cafe54a077a6090f873053e04fd5ce Trojan.PS1.FICKLESHADE.YXFCR
bb563180196989dcee91417aa56d6f1bfc9320b2427536c200dffcd784774906 Trojan.PS1.FICKLESHADE.YXFCR
9d2aaa8672d583af4c03c23127d6cac509799a49ff9293ed63628d5b710b7528 Trojan.PS1.FICKLESHADE.YXFCR
3761060c509b9444bdd3d0e65d7f68e39ff5c52fa87fdc59db02c1553e21e403 Trojan.PS1.FICKLESHADE.YXFCR
47e4142fa6ab10a2d7dc0423d41f9bdbb3ced0f4fae5c58b673386d11dd8c973 Trojan.PS1.FICKLESHADE.THLACBD
6b99530953010dd8061a3a328c04c30653bba26439dd30a752262582b0d02933 Trojan.Win32.FICKLESHADE.YXFCN
045a1cbcc99c53c092bb61d43b89a6f7308fd01d9ceaeb9a72bbf81669dcbef8 Trojan.Win32.FICKLESHADE.YXFCN
cd301bdc07518027567a5ed242ae2075f9f0bdf73315e99d4d949280f151fefe Trojan.PS1.FICKLESHADE.YXFCR
405d1dcdbba56bce99a308734c39ac8ca62ffb55dbd69565293a79b468e4dad1 Trojan.PS1.FICKLESHADE.YXFCN
f381a3877028f29ec7865b505b5c85ce77d4947d387d3f30071159fa991f009a Trojan.PS1.RHADAMANTHYS.YXFCG
b3ed3f2bc5334e54ca8d6020d37da0764f123fa5717638229422bd95a028097b Trojan.PS1.FICKLESHADE.YXFCN
ba195a227fb76e8820d6db36cd00c89095b88faf01471fcdd9c0c7de61a63a5d Trojan.PS1.FICKLESHADE.YXFCR
af4d26b987093be6b442e655ffdafa8e1542e80f6a47a6895aa523f2f180025c Trojan.PS1.FICKLESHADE.YXFCR
cfafc9b2d6cbc65769074bab296c5fbacc676d298f7391a3ff787307eb1cbce0 Trojan.PS1.FICKLESHADE.YXFCR
86e4115111e88bbaf09fe73cfc8255a4aac64f7ffed4a3229bbc8d626566f0c8 Trojan.PS1.FICKLESHADE.YXFCN
cd301bdc07518027567a5ed242ae2075f9f0bdf73315e99d4d949280f151fefe Trojan.PS1.FICKLESHADE.YXFCR
691087ec9b50022d3e23695c0b41e2927cb4c4825a1f5fd7e2f21ae3465e8973 Trojan.PS1.FICKLESHADE.YXFCR
e31ce5803bb68222eeac117614ddb92ed3c137bcf129f873d44960ab9d8bab33 Trojan.PS1.FICKLESHADE.YXFCR
===========================
Related modules
[Filename] [SHA256] [Detection]
ram.ps1 b4f66a5e2876e04db93aae029049a07efed2d6dca05c89c393fe5aba03b949a7 Trojan.PS1.RHADAMANTHYS.YXFCG.dldr
ram.exe bad43a1c8ba1dacf3daf82bc30a0673f9bc2675ea6cdedd34624ffc933b959f4 TrojanSpy.Win32.RHADAMANTHYS.YXFAKZ
fcfb94820cb2abbe80bdb491c98ede8e6cfa294fa8faf9bea09a9b9ceae35bf3 TrojanSpy.Win32.RHADAMANTHYS.YXFAWZ
Game Over.html d639cd267b05b4cd420e4547dd7aa4d99fff2d070598de044c7cf0d1b99cd264 Trojan.JS.RHADAMANTHYS.YXFCU
5f6dbe487af0fe7d1cf9beca7e31fcd804d6bdfe9a80308d7aeb3ed9abd9bba3 Trojan.JS.RHADAMANTHYS.YXFCU
ab58281273e7299f86cfadc1c8235789379543339035c5b4d80becd785bad552 Trojan.JS.RHADAMANTHYS.YXFCU
Listener.ps1 22bf8f6a408f59a1a9a1871b2a809851e0e4c0e75ca9ed14867f9bbdcf9363d2 Trojan.JS.KILLMMC.YXFCT
miner.ps1 0ac748baaad6017e331a8d99aae9e5449a96ba76fb7374f5d8c678ae52b7db9f Trojan.PS1.FICKLESHADE.YXFCN
tgmes.ps1 6df96984d5ba709282b6c92287262bd81f980811b58b0c03b9b421ba1e580c6b Trojan.PS1.FICKLESHADE.YXFCN
ad95786b2402c6a2cc36a513937a10503aff74e180ea1213cbfe40ca820d3b13 Trojan.PS1.FICKLESHADE.YXFCN
payload_1.ps1 969c7ee8709a519c4a4878b230d4ba7f81fb9563320b5983f8f1f95d4d215ece Trojan.PS1.FICKLESHADE.YXFCR
20da5e4736a91eb6aa55892d1497c724fb16767da43ccf3227db5c9647bb0793 Trojan.PS1.FICKLESHADE.YXFCN
stub.exe 6b99530953010dd8061a3a328c04c30653bba26439dd30a752262582b0d02933 Trojan.Win32.FICKLESHADE.YXFCN
045a1cbcc99c53c092bb61d43b89a6f7308fd01d9ceaeb9a72bbf81669dcbef8 Trojan.Win32.DROPPER.YXFCN
97a766db470c44347b65a0bc282582f96a47d96ed8d7946f4da33775d384033a Trojan.PS1.FICKLESHADE.YXFCN
b7b72d141ed56c8e5a924dfa959771548883b88e84646150447f85eb97f88e62 Trojan.PS1.FICKLESHADE.YXFCN
60f5d8eadaba230b95339011daf4800f81e35ac721bf908f68ed8191388addcb Trojan.PS1.FICKLESHADE.YXFCN
9854322760307c04aacd78f136e4d1496950811ee2f24978915d7cd322ecb36c Trojan.PS1.FICKLESHADE.YXFCN
===========================
C&C servers
[Domain] [Description]
82[.]115[.]223[.]182 Disease Vectorfuckedserver[.]net Disease Vector
encrypthub[.]net Disease Vector
encrypthub[.]org Disease Vector
Ciphercall[.]net Disease Vector
cryptolabstudio[.]com Disease Vector
raw.githubusercontent.com/encrypthub/steal/main/ Disease Vector
skorikjr.github[.]io/sploit/ Disease Vector
raw.githubusercontent[.]com/SkorikJR/ Malware Accomplice
解释