Bgsitopu/ReconForge
GitHub: Bgsitopu/ReconForge
ReconForge:强大的Web侦察框架,助力安全人员快速发现漏洞。
Stars: 2 | Forks: 0
# ReconForge v8.0 -> ReconForge v8.0
🦖🦖🦖
基于Python的Web侦察框架,具有交互式终端UI、异步扫描引擎、AI风险分析和32个专业模块——专为专业渗透测试人员和安全研究人员构建。
## 功能
- 5个连续阶段的**32个侦察模块**,每个阶段通过`asyncio.gather`并行化
- **AI风险引擎v9.1**——每个发现的评分具有置信度加权、执行摘要和攻击面分类
- **全局去重引擎v1.0**——语义去重、跨模块关联、证据图和置信度传播
- **SIEM评分引擎v1.0**——基于事件、具有关联意识的评分(Splunk/Elastic风格)
- **门卫验证器v10.0**——每个发现4步重请求管道(原始→重请求→差异→确认/拒绝)
- 基于`rich`构建的**交互式TUI**——键盘导航(↑↓ Enter),无需记住标志
- **自诊断v8.0**——启动时自动检测和修复缺失的依赖项
- **6个扫描配置文件**——`fast` / `balanced` / `deep` / `accuracy` + ⚡ Turbo模式用于`deep` & `accuracy`
- **4种报告格式**——JSON(模式v2)、纯文本摘要、交互式HTML仪表板(vis.js攻击面图)、CSV
- **隐身模式**——随机延迟(0.5–3s)、用户代理轮换、自适应速率限制
- **WAF检测v2**——20+ WAF签名、置信度评分和证据
- **会话池**——共享`aiohttp`会话,具有飞行中的去重和自适应重试
- **DNS缓存**——跨模块的内存TTL缓存,100个工作者的`ThreadPoolExecutor`
- **配置和历史管理**——保存/加载扫描配置,最后20次扫描历史
- **多语言TUI**——英语 / Bahasa Indonesia / Español / 中文 / العربية(在设置中可配置,包括菜单提示,全部翻译)
- **跨环境支持**——Termux、proot-ubuntu、标准Linux
## 安装
```
git clone
cd recon-framework-v.8.0
bash install.sh
```
`install.sh`自动检测环境(Termux / proot-ubuntu / Linux)并安装所有依赖项,包括默认词表。
## 使用
### 交互式模式(TUI)
```
bash run.sh
```
或者激活虚拟环境后:
```
source .venv/bin/activate
python main.py
```
### CLI模式(非交互式)
```
python main.py -t https://example.com
python main.py -t https://example.com -m subdomain,vuln_scan,ssl_check
python main.py -t https://example.com --stealth --threads 20 --timeout 15
python main.py -t https://example.com -o /tmp/output --proxy http://127.0.0.1:8080
```
**可用标志:**
| 标志 | 默认 | 描述 |
|------|---------|-------------|
| `-t`, `--target` | — | 目标URL(必需) |
| `-m`, `--modules` | `all` | 以逗号分隔的模块列表,或`all` |
| `-o`, `--output` | `reports/` | 报告输出目录 |
| `--threads` | `50` | 并发线程数 |
| `--timeout` | `10` | 每个请求的超时时间(秒) |
| `--stealth` | off | 启用随机延迟和UA轮换 |
| `--screenshot` | off | 启用通过Playwright的截图 |
| `--proxy` | — | 代理URL(`http://`,`socks5://`) |
| `--wordlist` | `wordlists/common.txt` | 自定义词表路径 |
## TUI菜单
| 键 | 操作 |
|-----|--------|
| `1` | 全部扫描——运行所有选定的模块 |
| `2` | 快速扫描——跳过`dir_discovery` & `wayback` |
| `3` | 设置目标和立即扫描 |
| `4` | 设置目标URL |
| `5` | 编辑配置(线程、超时、隐身、代理等) |
| `6` | 选择单个模块 |
| `7` | 选择扫描模式/配置文件 |
| `8` | 保存/加载配置配置文件 |
| `9` | 查看扫描历史(最后20次) |
| `10` | 浏览最后扫描结果 |
| `11` | 系统诊断和依赖项检查 |
| `12` | 设置(主题、输出样式、语言) |
| `13` | 关于——版本、作者、许可信息与致谢 |
| `0` | 退出 |
## 扫描模块
模块在5个有序阶段中运行。在每个阶段内,独立模块通过`asyncio.gather`并行运行。依赖于先前阶段结果的模块(`NEEDS_PRIOR`)在并行批处理完成后运行。
| 阶段 | 模块 |
|-------|---------|
| **0 — 侦察** | `subdomain`、`tech_detect`、`whois_dns`、`ssl_check`、`port_scan`、`datasources`、`zone_transfer`、`api_sources` |
| **1 — 发现** | `endpoint`、`js_analysis`、`login_finder`、`email_harvest`、`wayback`、`subdomain_alts`、`asn_discovery`、`tls_pivot` |
| **2 — 分析** | `dir_discovery`、`vuln_scan`、`parameter_discovery`、`cloud_discovery`、`api_security`、`graphql_probe`、`cors_advanced`、`http_smuggling`、`open_redirect` |
| **3 — 捕获** | `screenshot` |
| **4 — 准确性** | `fp_validator`、`multi_source_verify`、`endpoint_revalidate`、`secret_confirm`、`header_deep` |
**需要先前阶段结果的模块(`NEEDS_PRIOR`):**
`parameter_discovery`、`cloud_discovery`、`screenshot`、`subdomain_alts`、`asn_discovery`、`tls_pivot`、`api_security`、`cors_advanced`、`open_redirect`、`fp_validator`、`multi_source_verify`、`endpoint_revalidate`、`secret_confirm`
### 模块参考
| 模块 | 版本 | 描述 |
|--------|---------|-------------|
| `subdomain` | v9.0 | 从10个被动来源(crt.sh、HackerTarget、OTX、BufferOver、ThreatCrowd、RapidDNS、SiteDossier、DNSHistory、Bing、DuckDuckGo)进行子域枚举 + DNS暴力破解 + 通配符检测 |
| `tech_detect` | v10.0 | 通过多信号加权证据累积进行技术、框架、WAF和版本检测 + CVE关联 |
| `whois_dns` | — | WHOIS查找 + DNS记录(A、MX、TXT、NS、CNAME) |
| `ssl_check` | v10.0 | SSL/TLS证书分析:加密套件、弱协议、HSTS、链验证、自签名检测、SANs、过期 |
| `port_scan` | v9.0 | 顶级117端口扫描,带有标志抓取、HTTP标题提取、指纹识别和验证阶段(置信度评分) |
| `datasources` | — | 被动子域来源:SiteDossier、DNSHistory、Bing、DuckDuckGo(无需API密钥) |
| `zone_transfer` | — | DNS区域传输(AXFR)+ SRV记录枚举 |
| `api_sources` | — | 通过付费API进行子域发现:VirusTotal、SecurityTrails、BinaryEdge、Chaos、Hunter.io、LeakIX、PassiveTotal、Zetalytics |
| `endpoint` | — | 从HTML(href/src/action)中爬取端点,robots.txt、sitemap.xml、正则表达式API模式检测、隐藏输入字段 |
| `js_analysis` | — | 从JavaScript文件中提取秘密(API密钥、令牌、AWS密钥、Firebase配置、硬编码凭据)+ 基于熵的检测 + 源映射解析 |
| `login_finder` | — | 探测常见的登录/管理员路径,检测HTML中的登录表单,按技术分类 |
| `email_harvest` | v7.0 | 从HTML、JS、WHOIS、联系页面中收集电子邮件 + MX验证 + 反混淆 |
| `wayback` | v10.0 | Wayback Machine中的历史URL + Common Crawl + URLScan.io,24小时进程缓存 |
| `subdomain_alts` | — | 子域排列和修改(Amass风格):使用60多个常用词进行前缀/后缀 |
| `asn_discovery` | — | 从目标IP通过BGP数据发现ASN/网络块 |
| `tls_pivot` | — | 通过所有发现的子域中的TLS证书SAN进行跳转 |
| `dir_discovery` | v9.0 | 目录和敏感文件暴力破解(4,750路径 + 12扩展),自适应抖动,429退避,403节流 |
| `vuln_scan` | v9.0 | 安全标题分析(CSP/HSTS评分、COEP/COOP/CORP)、CVE路径探测、CORS、点击劫持、版本披露、危险HTTP方法 |
| `parameter_discovery` | v8.0 | 从HTML、JS、robots.txt、sitemap、端点和Wayback中发现隐藏参数;对敏感参数进行风险评估 |
| `cloud_discovery` | v8.0 | 暴露的云存储检测:AWS S3、CloudFront、Azure Blob/CDN、Google Cloud Storage、DigitalOcean Spaces、Backblaze B2 |
| `api_security` | v1.0 | OWASP API安全Top 10:BOLA/IDOR、损坏的认证(JWT弱密钥)、过度数据暴露、速率限制、大量分配、安全配置错误 |
| `graphql_probe` | — | 在5个常见路径上检测GraphQL端点 + 开放内省测试 |
| `cors_advanced` | — | CORS绕过测试:null origin、子域信任、任意反射、认证请求 |
| `http_smuggling` | — | 通过基于时间的探测检测CL.TE / TE.CL解同步(安全,无有效负载注入) |
| `open_redirect` | — | 模糊13个常见的重定向参数以检测未经验证的重定向漏洞 |
| `screenshot` | — | 通过Playwright/Chromium进行页面截图(可选;在proot环境中不可用) |
| `fp_validator` | — | 使用独立第二次请求重新探测`dir_discovery`、`login_finder`、`endpoint`、`vuln_scan`、`api_security`中的所有发现 |
| `multi_source_verify` | — | 通过DNS解析 + crt.sh + HackerTarget交叉验证子域;只有由2+个来源确认的子域才通过 |
| `endpoint_revalidate` | — | 重新探测所有发现的端点以确认它们仍然活跃;标记状态更改 |
| `secret_confirm` | — | 验证通过`js_analysis`发现的秘密的实际认证(AWS STS、GitHub、Slack、Stripe等) |
| `header_deep` | — | 主机头注入、CRLF注入、通过Vary头分析进行缓存中毒 |
| `ai_analysis` | v9.1 | 风险引擎:每个发现的评分具有置信度加权、执行摘要、攻击面分类、误配置+修复指南 |
## 扫描配置文件
从TUI(`7`)中选择配置文件或程序化应用:
| 配置文件 | 线程 | 超时 | 模块 | 端口 |
|---------|---------|---------|---------|-------|
| `fast` | 80 | 6s | 6个核心模块 | 15 |
| `balanced` | 50 | 10s | 17个模块 | 117 |
| `deep` | 30 | 15s | 25个模块 | 117 |
| `accuracy` | 20 | 20s | 31个模块 + 第4阶段验证 | 117 |
### ⚡ Turbo模式
`deep`和`accuracy`配置文件支持**Turbo**模式,该模式增加并发性并减少超时时间,从而实现显著更快的扫描——而不会更改模块集或收集到的结果。
| 配置文件 | 正常 | Turbo | 估计时间 |
|---------|--------|-------|----------------|
| `deep` | 30 threads · 15s timeout | 80 threads · 8s timeout | ~15 min → ~4–6 min |
| `accuracy` | 20 threads · 20s timeout | 60 threads · 10s timeout | ~15 min → ~6–8 min |
当在TUI(`7`)中选择`deep`或`accuracy`时,您将收到提示:
```
⚡ Enable Turbo? (threads↑, timeout↓) [y/N]
```
**Turbo优化:**
- 增加线程数(deep:30→80,accuracy:20→60)
- 减少每个请求的超时时间(deep:15s→8s,accuracy:20s→10s)
- 通过`ReconCache.dns`跨模块的内存DNS结果缓存
- 共享100个工作者的`ThreadPoolExecutor`用于DNS调用
- 信号量限制动态遵循`cfg.threads`
## 配置参考
所有可配置的`Config`字段:
| 字段 | 默认 | 描述 |
|-------|---------|-------------|
| `target` | `""` | 目标URL |
| `output_dir` | `"reports"` | 报告输出目录 |
| `threads` | `10`/`50`
标签:AI风险分析, CVE检查, DNS缓存, JS秘密发现, Python, SIEM关联, 交互式终端UI, 会话池, 历史记录, 可视化攻击面图, 多语言支持, 子域名枚举, 安全测试框架, 异步扫描, 扫描配置, 报告格式, 数据去重, 无后门, 用户代理轮换, 系统安全, 线程池, 网络安全, 自适应速率限制, 计算机取证, 证据关联, 跨环境支持, 逆向工具, 隐私保护, 隐蔽模式, 风险评分