etshxxx/DeepRecon
GitHub: etshxxx/DeepRecon
DeepRecon 是一个自动化的目标侦察与威胁建模框架,通过十阶段方法论在漏洞评估前全面映射攻击面并生成交互式报告。
Stars: 2 | Forks: 0
# DeepRecon
**DeepRecon** 是一个专家级、模块化的目标情报与侦察框架,专为安全专业人员、Bug Bounty 猎手和红队操作人员设计。由 **etshx** 创建,DeepRecon 可自动化执行深度发现、文档分析、应用理解、角色建模、API 清单梳理、JavaScript 解构、数据模型推断、威胁建模以及测试路线图生成——在任何漏洞评估开始之前,生成一份美观且交互式的 HTML 报告,以全面了解目标。
## 概述
DeepRecon 针对目标 URL、API、移动应用或 GitHub 仓库执行严谨的 10 阶段侦察方法论。它能够映射攻击面、从 JavaScript 中提取 secrets、枚举 API、构建威胁模型,并生成一个包含 Mermaid 图表、可折叠部分、全局搜索和风险分级发现的专业级暗黑模式 HTML 仪表板。
## 功能
- **10 个深度侦察阶段**
1. 发现(指纹识别、子域名枚举、endpoint 抓取、资产映射)
2. 文档(Swagger/OpenAPI、GraphQL、README、更新日志、GitHub 仓库)
3. 应用理解(用途、用户旅程、数据流、关键资产)
4. 角色分析(权限、信任边界、提权向量)
5. API 知识(endpoint 丰富、认证检测、CORS 分析、依赖图)
6. JavaScript 分析(secret 恢复、隐藏 API、feature flags、source maps、调试路由)
7. 数据模型(对象推断、关系、所有权、标识符分类)
8. 威胁模型(信任边界、攻击面、滥用案例、风险登记册)
9. 测试路线图(优先级测试映射到 OWASP Top 10、OWASP API Top 10、CWE、MITRE ATT&CK)
10. 最终报告(包含搜索、导航、图表和表格的专业交互式 HTML)
- **交互式 HTML 报告**
- 暗黑模式专业仪表板
- 可折叠部分
- 全局搜索
- 导航侧边栏
- Mermaid 图表(架构、认证流程)
- 风险分级徽章(严重 / 高危 / 中危 / 低危)
- 响应式且支持打印
- **可扩展架构**
- 模块化的阶段式引擎
- 可插拔的 HTTP 客户端,支持 proxy、cookie、header 和认证
- 基于 YAML 的配置
- 用于自定义报告的 Jinja2 模板
## 安装说明
```
git clone https://github.com/etshx/deeprecon.git
cd deeprecon
pip install -r requirements.txt
```
## 快速开始
针对目标 URL 运行:
```
python -m deeprecon -u https://target.com -o ./output
```
使用自定义配置文件:
```
python -m deeprecon --config config.yml
```
同时生成 HTML 和 JSON 报告:
```
python -m deeprecon -u https://target.com --json
```
## 配置
创建一个 `config.yml`:
```
target:
name: "Example Corp"
url: "https://example.com"
type: "web"
scope:
- "https://example.com"
out_of_scope:
- "https://thirdparty.com"
headers:
X-Bug-Bounty: "etshx"
proxy: "http://127.0.0.1:8080"
threads: 20
rate_limit: 10
depth: 3
recon:
output_dir: "./output"
report_format: "html"
verbose: true
skip_ssl_verify: false
max_pages: 1000
max_js_files: 500
```
## 架构
```
DeepRecon/
├── deeprecon/
│ ├── __init__.py
│ ├── __main__.py # CLI entry point
│ ├── core/
│ │ ├── config.py # Configuration dataclasses
│ │ ├── base.py # BasePhase & ReconContext
│ │ └── reporter.py # HTML/JSON report generator
│ ├── phases/
│ │ ├── discovery.py
│ │ ├── documentation.py
│ │ ├── application.py
│ │ ├── roles.py
│ │ ├── api_knowledge.py
│ │ ├── js_analysis.py
│ │ ├── data_model.py
│ │ ├── threat_model.py
│ │ └── testing_roadmap.py
│ ├── utils/
│ │ ├── http_client.py
│ │ └── dns_enum.py
│ └── templates/
│ └── report.html # Professional interactive template
├── tests/
├── examples/
├── requirements.txt
└── README.md
```
## 方法论
DeepRecon 遵循系统化、情报驱动的方法:
### 阶段 1 -- 发现
对目标技术栈进行指纹识别,枚举子域名,抓取 endpoint,发现 API,并映射公开资产。
### 阶段 2 -- 文档
自动发现并读取所有文档来源:Swagger、OpenAPI、Postman、GraphQL schema、README、开发者文档、SDK、GitHub 仓库、版本说明和更新日志。
### 阶段 3 -- 应用理解
推断应用用途,映射用户旅程(访客 -> 仪表板 -> 账单 -> 导出),识别业务关键资产,并检测状态更改操作。
### 阶段 4 -- 角色分析
识别所有角色(访客、成员、所有者、管理员、支持人员、账单、开发者、组织所有者、超级管理员),构建权限矩阵,映射信任边界,并突出权限提升机会。
### 阶段 5 -- API 知识
为每个发现的 endpoint 丰富信息,包括认证类型、授权模型、参数、header、cookie、CORS 策略、速率限制、业务影响和风险等级。
### 阶段 6 -- JavaScript 分析
读取每个 JavaScript 文件,以恢复 endpoint、secrets(AWS key、API key、JWT)、feature flags、隐藏 API、调试路由、环境变量、source maps 和内部函数。
### 阶段 7 -- 数据模型
推断对象、关系、所有权链和标识符模式(UUID、顺序 ID、MongoDB ObjectId)。评估租户隔离风险。
### 阶段 8 -- 威胁模型
生成完整的威胁模型,包含信任边界、攻击面映射、资产清单、参与者、滥用案例,以及涵盖业务逻辑、认证、授权和数据暴露风险的优先级风险登记册。
### 阶段 9 -- 测试路线图
生成专家级测试路线图,包含优先级测试(严重 / 高危 / 中危 / 低危)、手动步骤、自动化机会、所需工具,并完全映射到 OWASP Top 10、OWASP API Top 10、CWE 和 MITRE ATT&CK。包含推荐的 Burp Suite 工作流、ffuf 字典、nuclei 模板和侦察命令。
### 阶段 10 -- 最终报告
将所有内容汇编成一份专业的交互式 HTML 报告,包含执行摘要、架构图、技术栈表格、角色矩阵、API 清单、认证流程、数据模型、威胁模型、测试清单以及所有发现。
## 输出
最终的交付物是一个交互式 HTML 文件(`report.html`),包含:
- 包含关键指标的执行摘要
- 包含 Mermaid 图表的架构概览
- 技术栈指纹识别结果
- 应用流程与用户旅程
- 角色矩阵和权限表
- 带有风险徽章的 API 清单
- 认证流程图
- JavaScript 分析(secrets、隐藏 API、source maps)
- 数据模型(对象、关系、所有权)
- 威胁模型(信任边界、风险登记册)
- 测试路线图(优先级测试、工具推荐、侦察命令)
- 带有严重性分级徽章的完整发现表
## 免责声明
DeepRecon 仅用于授权的安全测试和研究。在扫描任何目标之前,请务必确保您已获得明确许可。作者不对滥用行为承担任何责任。
## 作者
**etshx** -- 安全研究员与开发者
## 许可证
MIT License。详情请参阅 LICENSE。
标签:API发现, GitHub, 多模态安全, 威胁建模, 实时处理, 自动化报告, 资产测绘, 逆向工具