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攻击, 信息泄露, 密码管理, 对称加密, 异步扫描, 插件系统, 敏感文件扫描, 网络安全, 网络安全审计, 自动化审计, 计算机取证, 资产测绘, 逆向工具, 隐私保护