2026-10-22 17:49:52
CVE-2024-36991漏洞可通过构造特定路径请求验证文件读取能力,使用Goby工具可自动化检测该漏洞。以下为漏洞验证的详细步骤及原理分析:
一、漏洞原理与触发条件路径处理缺陷
Splunk Enterprise(Windows版)在/en-US/modules/messaging模块中使用Python的os.path.join函数拼接路径时,若攻击者构造的路径中包含与系统驱动器字母匹配的标记(如C:),函数会错误移除驱动器字母,导致路径解析异常。
例如:攻击者请求/en-US/modules/messaging/../../windows/system32/config/SAM,可能绕过路径限制,直接读取系统敏感文件。
触发条件
目标系统运行受影响的Splunk Enterprise版本(Windows版):
9.2.0 ≤ 版本 < 9.2.2
9.1.0 ≤ 版本 < 9.1.5
9.0.0 ≤ 版本 < 9.0.10
Splunk Web服务处于启用状态(默认端口8000或自定义端口)。
工具获取
下载Goby:访问
更新漏洞库:确保Goby已加载CVE-2024-36991的检测规则。
扫描配置
FOFA查询:通过app="splunk-Enterprise"定位目标资产。
扫描范围:输入目标IP或IP段,选择“Splunk任意文件读取漏洞(CVE-2024-36991)”插件。
参数设置:
启用“深度检测”以验证文件读取可行性。
指定测试文件路径(如C:Windowswin.ini或/etc/passwd)。

结果分析
若返回文件内容(如win.ini中的配置信息),则确认漏洞存在。
若返回404或权限错误,需检查目标版本或网络访问权限。
构造恶意URL
基础路径:
添加路径遍历参数:
/../../windows/system32/drivers/etc/hosts完整URL示例:
发送请求并观察响应
使用curl或浏览器直接访问:
curl -v "成功响应:返回文件内容(如hosts文件中的IP映射记录)。
失败响应:返回Splunk默认错误页面或403禁止访问。
关键点
需尝试多个系统文件路径(如boot.ini、SAM数据库等)。
若目标启用身份验证,需先获取有效会话Cookie。
升级版本
立即升级至安全版本:
9.2.2及以上
9.1.5及以上
9.0.10及以上
升级前备份配置文件和数据。
临时缓解措施
关闭Splunk Web服务:
# Windows服务管理器中停止"Splunkd"服务# 或通过命令行:sc stop Splunkd限制访问IP:通过防火墙规则仅允许授权IP访问管理端口(默认8000)。
长期防护
定期使用Goby扫描内网资产,确保无遗漏受影响系统。
订阅
通过上述方法,可高效验证CVE-2024-36991漏洞的存在性,并采取针对性修复措施。