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, 会话池, 历史记录, 可视化攻击面图, 多语言支持, 子域名枚举, 安全测试框架, 异步扫描, 扫描配置, 报告格式, 数据去重, 无后门, 用户代理轮换, 系统安全, 线程池, 网络安全, 自适应速率限制, 计算机取证, 证据关联, 跨环境支持, 逆向工具, 隐私保护, 隐蔽模式, 风险评分