WinRAR零日漏洞(CVE-2025-8088)利用检测
使用 KQL 通过 Microsoft Defender XDR 检测 CVE-2025-8088 的后利用尝试。
简介
ESET 研究人员在 WinRAR 中发现了一个漏洞,并观察到该漏洞已在野外被利用。这是一个路径遍历漏洞,通过使用备用数据流(Alternate Data Streams)得以实现。他们已于昨日发布了一份报告。
补丁更新
如果您、您的用户或客户正在使用 WinRAR 或其他受影响组件,例如其命令行工具的 Windows 版本、UnRAR.dll 或可移植的 UnRAR 源代码,请立即升级到最新版本。
已打补丁的最新 WinRAR 版本是 7.13,请查看最新版本: WinRAR 7.12 最终版发布 WinRAR - 适用于 Windows 的数据压缩、加密和归档工具,支持打开 RAR 和 ZIP 文件。兼容…
目标读者
由于之前存在漏洞的 WinRAR 版本(v7.12)已得到修补,其最终版本已于 2025 年 7 月 30 日发布,我希望大多数使用 WinRAR 的组织都在运行最新的修补版本。
但是,如果您或您的防御同行正在使用 Microsoft 安全套件(例如 Defender XDR、Microsoft Sentinel)中的产品,并希望查询端点日志以查找与 WinRAR 漏洞相关的任何历史痕迹和潜在的后利用尝试迹象,请继续阅读。
ESET 和 Talos 都将以下后利用技术归因于 RomCom 组织(也称为 Storm-0978、Tropical Scorpius 或 UNC2596)。
让我们开始深入探讨 🧵
基于威胁报告的检测角度
我基于两份威胁报告构建了检测可能性:
角度 #1: Mythic 代理执行链
在第一个执行链中,恶意的 LNK 文件 Updater.lnk 会添加注册表值 HKCU\SOFTWARE\Classes\CLSID\{1299CF18-C4F5–4B6A-BB0F-2299F0398E27}\InprocServer32,并将其设置为 %TEMP%\msedge.dll。
因此,在受害者启动恶意 .rar 文件后,某些注册表项中会留下预期的痕迹。
首先,%TEMP% 转换为 C:\Users\<username>\AppData\Local\Temp。结合监控 InprocServer32 注册表值数据中的引用应该能达到检测目的:
DeviceRegistryEvents
| where RegistryKey has_all ("InprocServer32","CLSID")
and RegistryValueData has @"AppData\Local\Temp" // %TEMP% 转换后的路径
角度 #2: SnipBot 变体执行链
在第二个执行链中,恶意的 LNK 文件 Display Settings.lnk 会运行 %LOCALAPPDATA%\ApbxHelper.exe。
只有当特定注册表值(此样本中为 68)存在于 HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\RecentDocs\ 注册表项中时,Shellcode 才会继续执行。
这一次,%LOCALAPPDATA% 转换为 C:\Users\<username>\AppData\Local。请确保检测 \AppData\Local\ 中的其他备选路径,并将其添加到之前的查询部分。
此外,我们可以为 ESET 报告中提到的 Recent Docs 反分析技术添加一个 or 语句:如果最近打开了至少 69 个文档,下一阶段的 Shellcode 将使用注册表项名称(例如,68,但会从字符串转换为整数)进行解密。
DeviceRegistryEvents
| where (RegistryKey has_all ("InprocServer32","CLSID")
and RegistryValueData has_any (@"AppData\Local\Temp",@"AppData\Local\"))
or (RegistryKey has @"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\RecentDocs\"
and RegistryValueName == "68")
角度 #3: MeltingClaw 执行链
最后,ESET 报告了与 WinRAR 利用活动相关的、最初由 Talos 追踪为基于 C++ 的变体 "MeltingClaw"。
下一阶段的载荷 ShadyHammock 被放置到类似的位置,例如:C:\Users\<user>\AppData\Local\AppTemp\libapi.dll
通过在注册表项中指定此 DLL,它会被加载到 explorer[.]exe 进程中:
HKEY_USERS\S-1-..-CLASSES\CLSID\{F82B4EF1–93A9–4DDE-8015-F7950A1A6E31}\InprocServer32\
上述查询已经涵盖了这些后利用指标:
- 注册表项:
InprocServer32 - 详细文件释放位置:
AppData\Local\
最终检测查询
我预计下面的查询为大多数环境中的威胁狩猎提供了一个很好的起点。当然,在将其部署为检测规则之前,请先进行验证。需要在注册表值中指定或列入白名单某些预期的文件位置(例如,AppData\Local\Programs\<programname> 可能是预期的且良性的)。
// 列出常见或预期的白名单条目。根据您的环境定义更多条目。
let exclusions = dynamic([@"\AppData\Local\Microsoft\"]);
DeviceRegistryEvents
| where not (RegistryValueData has_any (exclusions))
| where (RegistryKey has_all ("InprocServer32","CLSID")
and RegistryValueData has_any (@"AppData\Local\Temp",@"AppData\Local\",@"%TEMP%",@"%LOCALAPPDATA%"))
or (RegistryKey has @"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\RecentDocs\"
and RegistryValueName == "68")
| project-reorder TimeGenerated, DeviceName, InitiatingProcessAccountName, ActionType, RegistryKey, RegistryValueData, RegistryValueType
附赠查询
据报道,各种载荷是通过鱼叉式钓鱼活动传播的,您还可以通过以下查询在您的环境中搜索 .dat 和 .rar 邮件附件的普遍性:
EmailEvents
| join EmailAttachmentInfo on $left. NetworkMessageId == $right.NetworkMessageId
| where FileType == "rar" or FileType == "dat"
| where DeliveryAction == 'Delivered'
| join DeviceFileEvents on $left.FileName == $right.FileName
| project-reorder DeliveryAction, Subject, FileName, FileExtension, EmailDirection, ThreatTypes, FolderPath, InitiatingProcessFileName, PreviousFileName
以上就是全部内容。希望你喜欢这篇文章,很乐意听到你的想法或反馈。祝好,注意安全。 CSD0tFqvECLokhw9aBeRqkTyXJZO5MFKTZZhZyvGlIegPgdKVb/uPXpjvJp172mE+zkIm2TFvEFyQcdYsMi4s6XogVnsK9H0Cu/EulbgwdCVGdEhXw4/e1VRiWYyDE4CRTBUAynCG5UeZtd5dGH2Xg==