利用KQL检测WinRAR零日漏洞(CVE-2025-8088)的利用痕迹

3 阅读4分钟

检测WinRAR零日漏洞利用:CVE-2025-8088

引言

ESET研究人员发现了WinRAR中的一个漏洞,并观察到该漏洞已在野外被利用。这是一个路径遍历漏洞,通过使用备用数据流实现。他们昨天发布了一份报告。

补丁

如果您、您的用户或客户使用WinRAR或其他受影响组件(如Windows版本的命令行工具、UnRAR.dll或可移植的UnRAR源代码),请立即升级到最新版本。已修复的WinRAR最新版本是7.13。

适用读者

由于存在漏洞的WinRAR版本(v7.12)已修复,且其最终版本已于2025年7月30日发布,我希望大多数使用WinRAR的组织都已运行最新的补丁版本。

但是,如果您或其他防御者正在使用Microsoft安全套件中的产品(例如Defender XDR、MS Sentinel),并希望查询端点日志以查找与WinRAR漏洞相关的任何历史性及潜在的后渗透利用迹象,请继续阅读。

ESET和Talos均将以下后渗透技术归因于RomCom组织(也称为Storm-0978、Tropical Scorpius或UNC2596)。

让我们开始吧 🧵

基于威胁报告的检测角度

我基于两份威胁报告构建了检测可能性:

  • [ESET报告链接]
  • [Talos报告链接]

角度 #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

只有在 HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\RecentDocs\ 注册表项中存在特定注册表值(此样本中为68)时,shellcode才会继续执行。

这次,%LOCALAPPDATA% 转换为 C:\Users\<username>\AppData\Local。让我们确保检测 \AppData\Local\ 中的其他备选路径,并将其添加到之前的查询部分。

此外,我们可以为ESET报告中提到的Recent Docs反分析技术添加一个 or 语句:如果最近打开的文档数至少为69,则使用注册表项名称(例如68,但会从字符串转换为整数)解密下一阶段的shellcode。

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==