有关于Netfilter,FiveSys和Fire Chil等代码签名rootkit的报道。这些 rootkit 通常使用被盗的证书进行签名或经过错误验证。但是,当合法驱动程序用作rootkit时,情况就不同了。mhyprot2.sys 就是这种情况,它是流行的角色扮演游戏Genshin Impact的易受攻击的反作弊驱动程序。勒索软件参与者目前正在滥用该驱动程序,以杀死用于大规模部署勒索软件的防病毒进程和服务。安全团队和防御者应注意,mhyprot2.sys可以集成到任何恶意软件中。
在 2022 年 7 月的最后一周,在正确配置了端点保护的用户环境中触发了勒索软件感染。通过分析序列,我们发现一个名为"mhyprot2.sys"的代码签名驱动程序被滥用,该驱动程序为Genshin Impact作为设备驱动程序提供反作弊功能,以绕过特权。因此,来自内核模式的命令会终止端点保护进程。
在撰写本文时,mhyprot2.sys的代码签名仍然有效。原神不需要安装在受害者的设备上即可正常工作;此驱动程序的使用与游戏无关。
该勒索软件只是我们注意到的第一个恶意活动实例。威胁行为者旨在在受害者的设备中部署勒索软件,然后传播感染。由于mhyprot2.sys可以集成到任何恶意软件中,因此我们正在继续调查以确定驱动程序的范围。
组织和安全团队应该小心,因为有几个因素:获得mhyprot2.sys模块的难易程度,驱动程序在绕过特权方面的多功能性,以及存在制作精良的概念证明(PoC)。所有这些因素都意味着此驱动程序的使用率可能高于以前发现的 rootkit(例如上一节中提到的那些)。
同时,我们在此处介绍的威胁参与者活动的时间线和攻击顺序对于安全团队来说值得注意。此操作中使用的技术列表可以在本文末尾的MITRE ATT&CK分析中找到。
活动时间表
图1.攻击概述
攻击概述
最早的泄露证据是从目标组织的未识别终结点到其中一个域控制器的*机密转储。随后在内置域管理员帐户的上下文中使用 wmiexec执行发现命令。secretsdump(从远程机器转储机密而不执行任何代理)和 wmiexec*(通过Windows管理工具(WMI)远程执行命令)都是Impacket的工具,Impacket是用于处理网络协议的Python类的免费集合。
妥协的早期证据
不久之后,威胁参与者使用另一个受感染的管理员帐户通过 RDP 连接到域控制器。从那里,一切都在该用户帐户的上下文中执行。
通过 RDP 连接到域控制器的威胁参与者
注意:在遭到入侵的管理员帐户的上下文中运行的进程 rdpclip.exe是唯一支持对域控制器使用 RDP 的目标系统项目。它有助于在 RDP 会话之间共享剪贴板。
恶意文件kill_svc.exe (C:\users{compromised user}\kill_svc.exe) 和 mhyprot2*.sys (C:\users{compromised user}\mhyprot2.sys)被传输到桌面。这是第一次看到脆弱的司机。该文件 kill_svc.exe安装了mhyprot2*服务并终止了防病毒服务。
执行的可疑kill_svc.exe文件
已安装的易受攻击的设备
另一个恶意文件 avg.msi 被传输到netlogon share\{domaincontroller}\NETLOGON\avg.msi 。此 Windows 安装程序包含avg.exe,这是一个伪装成 AVG Internet Security 的恶意文件,负责删除和执行以下内容:
- logon.bat -- 执行HelpPane.exe、终止防病毒和其他服务以及执行 svchost.exe 的批处理文件。
- HelpPane.exe -- 伪装成微软帮助和支持可执行文件的恶意文件;与kill_svc.exe 类似,它安装了mhyprot2.sys并杀死了防病毒服务。
- mhyprot2.sys-- 一个易受攻击的原神冲击反作弊驱动程序。
- svchost.exe--勒索软件有效负载。
这也表明威胁参与者打算通过启动/登录脚本使用域控制器大规模部署勒索软件。
托管在netlogon共享上的Windows安装程序平均.msi通过组策略对象(GPO)部署到一个工作站终结点。我们怀疑这是为了测试通过 GPO 部署是否会成功,但这种情况导致失败。
通过 GPO 部署的 Windows 安装程序平均.msi
之后,威胁参与者从未识别的端点登录到工作站。观察到登录类型 3(网络登录)和登录类型 10(远程交互)。Windows安装程序avg.msi手动安装三次,这也导致了失败 - 没有加密。但是,它成功地杀死了防病毒服务。
手动安装平均.msi失败
注意:avg.msi 的安装可能失败,但产品也不再工作。
从 avg.msi 中提取的文件avg.exe 也被传输到桌面并执行了三次。但是,在我们的分析中,我们发现即使防病毒软件不再工作,此步骤也不起作用。显然,使用 .msi 或 .exe 文件会导致应用程序卡住。
恶意文件平均.exe传输到桌面并执行三次
为了使事情正常进行,威胁参与者将登录.bat 转移到桌面并手动执行。文件登录.bat ,据说由avg.exe 删除并执行,被用作独立文件。
logon.bat的第 1 部分,用于启动HelpPane.exe
logon.bat的第2节,用于杀毒软件和其他服务
logon.bat的第 3 节,用于禁用引导加载程序加载 Windows 恢复环境、禁用 Windows 恢复环境、清除 Windows 事件日志、杀死 mhyprot2 服务并将其删除,最后启动勒索软件 svchost.exe。
令人惊讶的是,执行登录.bat 有效,勒索软件svchost.exe 开始丢弃赎金记录和加密文件。知道这一点后,威胁参与者在名为"lol"的共享文件夹中托管了大规模部署所需的三个文件:mhyprot2.sys ,kill_svc.exe (用于杀死防病毒服务)和svchost.exe(勒索软件)。
包含大规模部署所需的组件文件的共享文件夹
名为"b.bat"(C:\Users{已泄露用户}\Desktop\b.bat)的批处理文件负责复制和执行上述文件,使用内置域管理员帐户的凭据通过 PsExec 进行部署。它在文件 ip.txt 中列出了目标工作站。
b.bat的部分内容(由威胁参与者多次修改)
将 b.bat 部署到其他工作站的威胁参与者
仔细看看mhyprot2.sys
驱动程序mhyprot2.sys 由kill_svc.exe/HelpPane 加载.exe 使用NtOpenFile函数。
驱动程序 mhyprot2.sys由 kill_svc.exe/HelpPane 加载.exe
加载mhyprot2.sys 后,kill_svc.exe/HelpPane.exe会检查要终止的进程列表。
由 kill_svc.exe/帮助窗格选中的要终止的进程的列表.exe
之后,它使用DeviceIoControl功能将此信息传递给驱动程序。
设备控制功能
控制代码0x81034000将发送给驱动程序,指示它终止列表中的进程。
0x81034000 中的 ZwTerminateProcess,它终止一个进程及其所有线程
在此序列中找到的mhyprot2.sys 驱动程序是 2020 年 8 月制造的驱动程序。回到社交媒体流,我们可以看到,在 2020 年 9 月发布 Genshin Impact 后不久,该模块在游戏社区中进行了讨论,因为即使在卸载游戏后也没有将其删除,并且因为它允许绕过特权。
由用户kagurazakasanae提供的PoC显示,图书馆终止了360 Total Security。由Kento Oki提供的更全面的PoC具有以下功能:
- 从用户模式读取/写入具有内核权限的任何内核内存。
- 从用户模式读取/写入具有内核权限的任何用户内存。
- 按特定进程 ID 枚举多个模块。
- 获得系统正常运行时间。
- 枚举特定进程中的线程,允许直接从命令行界面 (CLI) 读取内核中的 PETHREAD 结构。
- 使用ZwTerminateProcess 按进程 ID 终止特定进程,该进程在易受攻击的驱动程序上下文 (ring-0) 中调用。
Kento Oki也向Genshin Impact的开发者miHoYo报告了这个问题,认为这是一个漏洞。Kento Oki的PoC引发了更多的讨论,但提供商没有承认该问题是一个漏洞,也没有提供修复程序。当然,代码签名证书仍然有效,直到现在还没有被吊销,作为设备驱动程序的代码签名的数字签名此时仍然有效。
作为设备驱动程序的代码签名的复杂性
仍然很少找到具有代码签名作为设备驱动程序的模块可能会被滥用。这种情况的要点是,具有有效代码签名的合法设备驱动程序模块能够绕过从用户模式到内核模式的权限。即使供应商将特权绕过确认为漏洞并提供修复,模块一旦分发就无法擦除。此文件具有驱动程序的代码签名,允许在内核模式下加载此模块。如果签名是通过私钥盗窃为恶意模块签名的,则可以吊销证书以使签名无效。但是,在这种情况下,这是对合法模块的滥用。似乎私钥没有妥协,因此仍然不知道证书是否会被吊销。至少目前它仍然有效。
如上所述,该模块非常容易获得,并且将可供所有人使用,直到它从存在中删除。它可以作为绕过特权的有用实用程序保留很长时间。证书吊销和防病毒检测可能有助于阻止滥用,但目前没有解决方案,因为它是合法模块。
如何打击滥用:监测和检测
只有有限数量的具有有效签名的驱动程序文件,这些文件的行为应与我们在此处报告的绕过权限相当。我们建议安全团队和网络防御者监视其组织内哈希值的存在。我们已经确认至少在此文件中可以绕过权限:
- mhyprot2.sys(0466e90bf0e83b776ca8716e01d35a8a2e5f96d3)
此外,我们建议监视 Windows 事件日志,以安装与驱动程序对应的服务。如果不打算安装服务,则强烈怀疑存在危害:
- Windows 事件日志 (系统) -- 7045:系统中安装了新服务。服务名称:mhyprot2.
Windows 事件日志的属性 (系统) -- 7045
建议和解决方案
勒索软件运营商一直在寻找将恶意软件秘密部署到用户设备上的方法。使用流行的游戏或其他娱乐来源是诱使受害者下载危险文件的有效方法。对于企业和组织来说,监控正在部署到其计算机上的软件或制定适当的解决方案以防止感染发生非常重要。