Karararam/SpringBoot-Exploit-Toolkit
GitHub: Karararam/SpringBoot-Exploit-Toolkit
一款针对 Spring Boot 应用的渗透测试工具,集信息泄露扫描、资产发现和高危漏洞利用于一体。
Stars: 5 | Forks: 0
# SpringBoot-Toolkit
一款交互式渗透测试工具,旨在挖掘基于 Spring Boot 的应用程序中的信息泄露、配置错误以及严重的远程代码执行 (RCE) 漏洞。您可以逐步检查单个目标,也可以同时扫描 TXT 文件中列出的数百个主机。该工具可以下载和分析 actuator 文件泄露,或使用您的 ZoomEye/FOFA/Hunter API 密钥来枚举潜在的 Spring 攻击面。
## 功能特性
- **多功能扫描引擎:** 支持单 URL 扫描、URL 列表扫描、敏感文件搜寻以及批量 PoC 执行。
- **交互式漏洞利用模块:** 为最新和历史漏洞提供交互式命令执行流程,例如 CVE-2022-22965 (Spring4Shell)、CVE-2022-22963、CVE-2022-22947、CVE-2021-21234 等。
- **异步目录爆破:** 使用 `-uf` 参数,可以通过基于 `asyncio + aiohttp` 的引擎和可配置的并发设置并发扫描数百个目标。
- **外部数据扩展:** 使用您的 ZoomEye、FOFA 和 Hunter API 密钥收集 Spring 相关资产,并将结果导出到 `zoomout.txt`、`fofaout.txt` 和 `hunterout.txt`。
- **代理和自定义 Header 支持:** 适用于需要代理路由、自定义 header/cookie 注入或会话处理的企业环境。
- **结构化输出日志:** 每个模块将发现结果写入专用日志文件(例如 `urlout.txt`、`output.txt`、`dumpout.txt`、`vulout.txt`)以简化报告流程。
## 目录结构
```
SpringBoot/
├── SpringBoot.py # Main CLI
├── inc/
│ ├── console.py # Argument router
│ ├── run.py # Directory and file scanning workflows
│ ├── vul.py # Single-target exploit module (11+ PoCs)
│ ├── poc.py # Batch PoC execution
│ ├── zoom.py / fofa.py / hunter.py # External integrations
│ ├── springcheck.py # Spring fingerprint validation
│ ├── proxycheck.py # Proxy & header handling
│ └── output.py # Banner & usage output
├── Dir.txt # Directory brute-force wordlist
├── url.txt / header.txt / urlout.txt ... # Input/output helper files
└── requirements.txt
```
## 安装说明
1. 确保您已安装 Python 3.8+。
2. 克隆或下载仓库。
3. 安装依赖:
pip install -r requirements.txt
4. (可选)如果使用代理,请通过 `-p` 按 `ip:port` 格式指定;工具会自动测试连通性。
## CLI 参数
| 参数 | 描述 |
| ------------------ | ------------------------------------------------------------------------ |
| `-u / --url` | 对单个目标进行信息泄露扫描 |
| `-uf / --urlfile` | 对 TXT 文件中的目标进行并发扫描 |
| `-v / --vul` | 启动单个目标的漏洞利用控制台 |
| `-vf / --vulfile` | 在列表中的目标上运行选定的 PoC |
| `-d / --dump` | 下载敏感 actuator 文件(`heapdump`、`hystrix.stream` 等) |
| `-df / --dumpfile` | 跨多个目标搜寻敏感文件 |
| `-z / --zoomeye` | 使用 ZoomEye API 枚举 Spring 资产 |
| `-f / --fofa` | 使用 FOFA API 枚举资产 |
| `-y / --hunter` | 使用 Hunter API 枚举资产 |
| `-p / --proxy` | HTTP/HTTPS 代理 (`127.0.0.1:8080`) |
| `-t / --newheader` | JSON 格式的自定义 Header (`header.txt`) |
| `-c / --cookie` | 用于所有请求的 Cookie 值 |
## 典型用例
1. **单 URL 信息泄露扫描**
python SpringBoot.py -u https://target.com/
2. **从 URL 列表进行异步扫描**
python SpringBoot.py -uf url.txt
* 该工具会交互式地询问延迟和并发值。
3. **单目标漏洞利用控制台**
python SpringBoot.py -v https://target.com/
* 从菜单中选择要运行的 CVE 模块,并根据需要以交互方式执行命令。
4. **敏感 actuator 文件下载器**
python SpringBoot.py -d https://target.com/
* 自动测试 `heapdump`、`gateway/actuator/heapdump`、`hystrix.stream` 等端点。
5. **ZoomEye 资产枚举**
python SpringBoot.py -z YOUR_API_KEY
* 该工具会询问所需的资产数量和搜索查询(默认:`app:"Spring Framework"`)。
## 输出文件
| 文件 | 描述 |
| --------------------------------------------- | -------------------------------------------------- |
| `urlout.txt` | 单 URL 扫描检测到的敏感端点 |
| `output.txt` | 批量 URL 扫描的结果 |
| `dumpout.txt` | 敏感 actuator 文件发现结果 |
| `vulout.txt` | 来自漏洞利用/PoC 模块的端点和 CVE 标签 |
| `zoomout.txt`, `fofaout.txt`, `hunterout.txt` | 资产枚举结果 |
| `error.log` | 网络错误 / 异常 |
## 支持的漏洞利用模块
* **CVE-2022-22965 (Spring4Shell)** – JSP webshell 上传,用于交互式 RCE
* **CVE-2022-22963** – 通过 Spring Cloud Function `routing-expression` header 实现盲 RCE
* **CVE-2022-22947** – Spring Cloud Gateway SpEL 注入,用于 RCE 并捕获输出
* **CVE-2021-21234** – Spring Boot actuator log/view 目录遍历(`win.ini`、`/etc/passwd`)
* **SnakeYAML RCE**、**Eureka XStream RCE**、**Jolokia JNDI RCE**、**CVE-2018-1273**,以及 2023/2024/2025 年的 PoC
* **JeeSpring 2023 文件上传** – 在 `static/uploadify` 下上传 JSP shell
模块同时适用于单目标 (`-v`) 和批量 PoC (`-vf`) 流程;如果未进行选择,所有 CVE 将按顺序运行。
## 外部集成
* **ZoomEye (`-z`):** 提供您的 API 密钥和资产限制;默认查询为 `app:"Spring Framework"`。
* **FOFA (`-f`):** 查询以 Base64 发送;默认值为 `icon_hash="116323821" OR body="Whitelabel Error Page"`。
* **Hunter (`-y`):** 奇安信 Hunter API,用于 Spring Whitelabel 或自定义查询。
这些模块会自动继承代理和自定义 header 设置。
## 高级技巧
* **自定义 header/cookie:** 在 `header.txt` 中定义基于 JSON 的 header 集,用于 WAF 绕过或会话处理(`{"Authorization": "Bearer ...", "X-Forwarded-For": "..."}`)。
* **代理验证:** 当使用 `-p` 时,工具会在继续之前通过 `https://www.baidu.com` 测试代理连通性。
* **延迟与并发:** 对于批量扫描 (`-uf`),可以调整延迟和并发值以遵守 WAF/速率限制策略。
* **输入文件:** 确保 `url.txt` 和其他文件使用 UTF-8 编码,每行一个主机。如果不存在 scheme,工具会自动添加 `http://`。
### 免责声明
本项目仅供教育和授权渗透测试使用。运行此工具即表示您确认:
1. 您已获得测试指定目标的许可,
2. 您对任何结果承担全部责任,
3. 开发者不对任何损害或滥用承担责任。
## 许可证
本项目根据 MIT 许可证授权。欲了解更多信息,请参阅 [LICENSE 文件](LICENSE)。
标签:Actuator, Attack Surface, CVE-2022-22947, CVE-2022-22965, CVE利用, Python安全工具, RCE漏洞, SpEL注入, Spring4Shell, SpringBoot, XXE攻击, 信息泄露, 密码管理, 对称加密, 异步扫描, 插件系统, 敏感文件扫描, 网络安全, 网络安全审计, 自动化审计, 计算机取证, 资产测绘, 逆向工具, 隐私保护