tc4dy/CVE-2026-15409-15410-Framework

GitHub: tc4dy/CVE-2026-15409-15410-Framework

针对 SonicWall SMA1000 双高危漏洞(SSRF+提权)的多功能 Python 漏洞利用与安全检测框架。

Stars: 3 | Forks: 2

![CVE-DoublePoC](https://static.pigsec.cn/wp-content/uploads/repos/cas/88/88443822a0455e64bbbd56bcdec4ffde4f482def127862d351bf1372d53704f6.png)

CVE-2026-15409 CVE-2026-15410 CVSS 10.0 CISA KEV

SSRF RCE Privesc Python 3.6+

[1] CVE-2026-15409 | [2] CVE-2026-15410

SonicWall SMA1000 - SSRF → Erlang RCE → Root 权限提升

漏洞利用框架与安全检测工具
仅供授权安全测试使用。

## ⚖️ 法律免责声明与负责任的使用 **本工具仅供教育和授权的渗透测试目的使用。** 作者和贡献者不对因使用本软件而造成的任何误用或损害负责。用户需独自负责在测试前确保已获得目标所有者的明确书面许可。根据《计算机欺诈和滥用法》(CFAA)及全球类似法律,未经授权访问计算机系统是违法行为。 使用本软件即表示您同意: - 仅在您拥有或已获得明确测试许可的系统上使用。 - 遵守所有适用的地方、州和联邦法律。 - 不将其用于任何恶意、破坏性或非法活动。 ## 🔥 漏洞概述 **CVE-2026-15409** 是在 SonicWall SMA1000 Appliance Work Place 界面中发现的一个严重的**未授权服务器端请求伪造(SSRF)**漏洞。 **工作原理:** 1. 攻击者利用 SSRF 通过 `wsproxy` endpoint 进行隧道传输。 2. 这使得攻击者能够访问内部的 Erlang 分布式服务(端口 1050/8188)。 3. 使用硬编码的默认 cookie,攻击者向 Erlang 节点进行身份验证。 4. 通过 `os:cmd/1` 调用实现远程代码执行(RCE)。 5. 然后利用 **CVE-2026-15410**,通过 AMC(Appliance Management Console)中的路径遍历将权限提升至 **root**。 **关键事实:** - 📅 **披露日期:** 2026年7月14日 - ⚠️ **CVSS 评分:** 10.0(严重) - 📋 **CISA KEV:** 2026年7月14日添加(截止日期:2026年7月17日) - 🎯 **受影响产品:** SMA 6210, SMA 7210, SMA 8200v - 🔄 **修复版本:** 12.4.3-03453+ 和 12.5.0-02835+ ## 🛠️ 漏洞利用框架 (`exploit.py`) **全副武装的漏洞利用程序**将 CVE-2026-15409 和 CVE-2026-15410 串联起来,以实现 root 级别的入侵。 ### ✨ 功能特点: | 功能 | 描述 | |---------|-------------| | 🚀 **SSRF → Erlang RPC** | 自动通过 `wsproxy` 进行隧道传输以连接内部 Erlang 节点。 | | 💻 **远程代码执行** | 通过 `os:cmd/1` 执行任意 OS 命令。 | | 🔐 **交互式 Shell** | 生成一个支持 `privesc` 和 `download` 命令的实时 shell。 | | 👑 **Root 权限提升** | 利用 CVE-2026-15410 通过 AMC 路径遍历提升至 root 权限。 | | 📁 **文件操作** | 读取和写入目标系统上的文件。 | | 🌐 **批量扫描** | 使用多线程对多个目标进行批量漏洞利用(`-l` 标志)。 | | 🎯 **SSRF 检测** | 可选的 `--detect` 标志,用于安全的漏洞验证。 | | ⚙️ **可定制化** | 可覆盖 WebSocket URL、Origin、User-Agent、Cookie 等。 | | 🧩 **无额外依赖** | 仅使用 Python 标准库(用于检测的可选 `requests` 除外)。 | ### 🖥️ 交互式命令: - `privesc` – 触发 CVE-2026-15410 root 提权。 - `download ` – 读取并显示文件内容。 - `exit` – 退出 shell。 ## 🔍 安全检测工具 (`checker.py`) 一个轻量级、**非侵入式**的扫描器,用于在不进行利用的情况下安全地检测 SSRF 漏洞。 ### ✨ 功能特点: | 功能 | 描述 | |---------|-------------| | 🛡️ **安全检测** | 仅探测外部 endpoint(例如 `httpbin.org/ip`)——不进行内部访问。 | | 📡 **多 endpoint** | 测试 10 多个 endpoint 和 8 个参数以寻找 SSRF 指标。 | | ⚡ **批量扫描** | 使用多线程从文件中批量扫描目标(`--list`)。 | | 📊 **清晰的报告** | 带有时间戳和详细结果的彩色输出。 | | 🔧 **灵活性** | 自定义端口、路径和超时设置。 | ## 📦 安装与要求 ### 前置条件: - Python 3.6+ - `pip`(用于 `requests` 库) ### 安装依赖: ``` pip install -r requirements.txt ``` ### [!] 注意:exploit.py 使用手动实现的 WebSocket —— 不需要 websockets 库。仅在需要使用 --detect 功能时才需要 requests。 # 🚀 使用示例 ### [2] 漏洞利用框架 (exploit.py) ``` # 目标上的交互式 shell python exploit.py -u 192.168.1.100 # 执行单条命令 python exploit.py -u 192.168.1.100 --exec "id && whoami" # 读取文件 python exploit.py -u 192.168.1.100 --read-file /etc/passwd # 在 exploitation 前启用 SSRF 检测 python exploit.py -u 192.168.1.100 --detect # 尝试 root privesc python exploit.py -u 192.168.1.100 --privesc # 从文件进行 mass exploit (50 线程) python exploit.py -l targets.txt -m 50 --exec "uname -a" # 自定义端口和路径 python exploit.py -u 10.0.0.5 -p 8443 --path /workplace # Pipe 模式 (从 stdin 读取命令) echo "cat /etc/hosts" | python exploit.py -u 192.168.1.100 ``` ### [2] 安全检测工具 (checker.py) ``` # 单目标扫描 python checker.py https://192.168.1.100 # 自定义端口和路径 python checker.py 192.168.1.100 --port 8443 --path /workplace # 从文件进行 mass 扫描 python checker.py --list targets.txt ``` ## 🎯 受影响版本 | 产品 | 受影响版本 | 修复版本 | |---------|-------------------|----------------| | **SMA 6210** | 12.4.3-03245, 12.4.3-03387, 12.4.3-03434
12.5.0-02283, 12.5.0-02624, 12.5.0-02800 | 12.4.3-03453+
12.5.0-02835+ | | **SMA 7210** | 同上 | 同上 | | **SMA 8200v** | 同上 | 同上 | ## 🧠 技术深入分析 ### SSRF (CVE-2026-15409) 端口 443 上的 `wsproxy` endpoint 接受以 `-3389` 开头的 `bmID` 参数以及 `host:port` 规范。通过将 `host` 指向 `127.0.0.1` 且 `port` 指向 `1050`,攻击者可以建立通往内部 Erlang 分布式服务的隧道。 ### Erlang RPC Erlang 节点使用了一个硬编码的默认 cookie:`10ecad5b446e86864832904cd439b6b70262`。这允许进行远程身份验证并执行任何 `os:cmd/1` 调用。 ### Root 提权 (CVE-2026-15410) 通过身份验证后,该漏洞利用程序会将一个 shell 脚本写入 `/var/tmp/`,并使用路径遍历(`../../../../var/tmp/script.sh`)触发 AMC 的 `remove_hotfix` XML-RPC endpoint,以 root 身份执行该脚本。 ## 🔍 入侵指标 SonicWall 建议检查: - `extraweb_access.log` 中是否存在 `/__api__/login` 或 `/__api__/logout`(200 状态码) - `extraweb_access.log` 中是否存在带有可疑 host 参数的 `/wsproxy`(101 状态码) - `ctrl-service.log` 中是否存在带有路径遍历的 hotfix 回滚记录 - 包含 `/__api__/login` 或 `/__api__/logout` 路由的 `/var/lib/unit/conf.json` ## 📚 参考资料 - [NVD - CVE-2026-15409](https://nvd.nist.gov/vuln/detail/CVE-2026-15409) - [SonicWall 安全公告 (SNWLID-2026-0008)](https://psirt.global.sonicwall.com/vuln-detail/SNWLID-2026-0008) - [CISA KEV 目录](https://www.cisa.gov/known-exploited-vulnerabilities-catalog) - [The Hacker News - 两个 SonicWall SMA 1000 零日漏洞被利用](https://thehackernews.com/2026/07/two-sonicwall-sma-1000-zero-days.html)
标签:CISA项目, Python, Web报告查看器, 无后门, 漏洞利用框架, 逆向工具