C4yberLan/SpringBoot-Exploit-Toolkit

GitHub: C4yberLan/SpringBoot-Exploit-Toolkit

一款针对Spring Boot应用的交互式渗透测试工具,集成了信息泄露扫描、Actuator端点探测、CVE漏洞利用及网络空间测绘资产收集功能。

Stars: 0 | 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`。 - **代理和自定义头支持:** 适用于需要代理路由、自定义头/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.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)** – 用于交互式 RCE 的 JSP webshell 上传 * **CVE-2022-22963** – 通过 Spring Cloud Function `routing-expression` 头进行的盲注 RCE * **CVE-2022-22947** – Spring Cloud Gateway SpEL 注入,用于捕获输出的 RCE * **CVE-2021-21234** – Spring Boot actuator 日志/视图目录遍历(`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 或自定义查询。 这些模块自动继承代理和自定义头设置。 ## 高级技巧 * **自定义头/cookie:** 在 `header.txt` 中定义基于 JSON 的头集合,用于 WAF 绕过或会话处理(`{"Authorization": "Bearer ...", "X-Forwarded-For": "..."}`)。 * **代理验证:** 使用 `-p` 时,工具会在继续之前通过 `https://www.baidu.com` 测试代理连通性。 * **延迟与并发:** 对于批量扫描(`-uf`),可以调整延迟和并发值以遵守 WAF/Rate Limit 策略。 * **输入文件:** 确保 `url.txt` 和其他文件使用 UTF-8 编码,每行一个主机。如果缺少 scheme,工具会自动在前面添加 `http://`。 ### 免责声明 本项目仅供教育和授权渗透测试使用。运行本工具即表示您确认: 1. 您已获得测试指定目标的许可, 2. 您对任何结果承担全部责任, 3. 开发人员不对任何损害或误用承担责任。 ## 许可证 本项目采用 MIT 许可证。有关更多信息,请参阅 [LICENSE 文件](LICENSE)。
标签:Actuator, aiohttp, asyncio, ATT&CK 框架, CVE-2021-21234, CVE-2022-22947, CVE-2022-22963, CVE-2022-22965, PoC, Python, RCE, Spring4Shell, SpringBoot, 信息泄露, 异步扫描, 无后门, 暴力破解, 未授权访问, 目录爆破, 结构化查询, 编程工具, 自动化安全, 计算机取证, 资产收集, 越权访问, 远程代码执行, 逆向工具