hesham09090/recon-orchestrator

GitHub: hesham09090/recon-orchestrator

一款本地优先的侦察编排桌面应用,整合 27 款开源安全工具并通过智能推理引擎和知识图谱实现全自动化的攻击面发现与管理。

Stars: 1 | Forks: 0

# ◈ Recon Orchestrator **一款用于授权漏洞赏金和安全研究的本地单用户侦察操作系统。** Recon Orchestrator 将最佳的开源侦察工具统一在一个原生桌面应用程序中,添加了一个能对其发现进行推理的响应式 **Intelligence Engine**,并将所有结果保存在动态的 **Knowledge Graph** 中——这一切完全在您的本地机器上运行。 *Version 1.0.0 · MIT License · Windows + WSL*
## ⚠️ 法律声明 主动侦察只能针对您获得**明确授权**的目标运行——漏洞赏金计划范围内的资产、您自己的系统,或官方测试目标(例如 `scanme.nmap.org`)。本应用程序仅负责*编排*工具;保持在范围内并遵守法律**由您自行承担全部责任**。内置的 **scope guard** 有助于执行此操作,但责任仍在于您。 ## 概述 将 Recon Orchestrator 指向**域名、IPv4、IPv6 或 CIDR**,它就会运行完整的侦察 pipeline——被动和/或主动——同时事件驱动的智能层会对每个资产进行实时解析、指纹识别、关联和推理。所有这些都展示在一个精致的桌面窗口中:实时各阶段进度、可搜索的知识库、攻击面图表、运行时时间轴以及任务控制遥测。 - **本地优先与隐私**——服务器仅绑定到 `127.0.0.1`,从不暴露网络端口。您的数据和机密永远不会离开您的机器。 - **复用生态系统**——精选了 27 款工具(subfinder、httpx、naabu、nmap、nuclei、katana、tlsx、dalfox 等),每款工具都是可选的,并且在缺失时会优雅地跳过。 - **推理,而不仅仅是扫描**——并发分析器引擎将原始输出转化为类型化的知识、假设以及集成了 MITRE ATT&CK 的发现。 ## 功能 | 领域 | 功能描述 | |------|--------------| | **侦察 pipeline** | 子域名 → 被动 URL → DNS 解析 → HTTP 探测 → WAF → TLS 情报 → 虚拟主机 → 爬虫 → 内容发现 → 端口/服务 → 屏幕截图 → 漏洞。 | | **一流的 IP/CIDR 目标** | 域名、IPv4、IPv6 和 CIDR 范围均是原生支持;对于 IP 目标,面向名称的阶段会被跳过(并附带原因)。 | | **Intelligence Engine** | 事件驱动、基于 DAG 推导的分析器池,通过内容寻址的 memoization 进行解析、指纹识别、置信度融合和工作去重。 | | **Planner** | 了解每款工具的优势、劣势和健康状态,并为每种能力推荐最强大的可用工具。 | | **Knowledge Graph** | 类型化资产(域名、主机、IP、端口、技术、证书、endpoint、机密……)及其关系,随着扫描流式传入而实时更新。 | | **Knowledge Evolution** | 跟踪不同扫描之间攻击面的变化情况。 | | **Mission Control** | 实时遥测——当前阶段、进度、ETA、引擎指标、CPU/RAM、知识计数。 | | **Tool Manager** | 将每款工具作为受管组件:启用/禁用(真正的调度门控)、后端路由、健康状态、预设、拖放排序、导入/导出。 | | **全局搜索与方法论** | 跨所有发现的资产进行搜索;将方法论视为一个有序的、按阶段分组的计划。 | | **机密检测** | 在爬取的内容中查找泄露的凭证,并将其存储为安装范围内的指纹——绝不存储原始值。 | | **安全的 GitHub 集成** | 静态加密的 Personal Access Token 支持经过身份验证的 GitHub 支持的扫描。 | | **本地化** | 支持完整的英文和阿拉伯语 UI 及 RTL 支持。 | ## 架构 ``` ┌───────────────────────────────────────────────────────────────┐ │ Desktop window (pywebview) · http://127.0.0.1:8777 │ │ Recon · Mission Control · Tool Manager · Intelligence │ └───────────────┬───────────────────────────────────────────────┘ │ REST + events ┌───────────────▼───────────────────────────────────────────────┐ │ FastAPI server (backend/server.py) │ │ │ │ Orchestrator ──▶ Recon stages ──▶ streaming ingestion │ │ │ │ │ │ │ │ WSL / Windows Intelligence Engine │ │ │ tool backends (analyzers, memo, fusion) │ │ ▼ │ │ │ Scope guard · Vault (Fernet) · Settings ▼ │ │ Knowledge Graph / Inventory │ │ (SQLite, typed assets+edges) │ └─────────────────────────────────────────────────────────────────┘ ``` - **`backend/`** — FastAPI 服务器、orchestrator、核心服务(DB、vault、scope、设置、依赖、tool manager、GitHub 认证)以及功能(侦察阶段、inventory/graph、intelligence、knowledge/ATT&CK)。 - **`frontend/`** — 桌面 UI(原生 JS,无需构建步骤):Recon、Mission Control、Tool Manager、Intelligence 工作区。 - **`data/`** — 本地 SQLite 数据库、内容寻址的 artifact 存储,以及加密的 vault 密钥(均为 git-ignored)。 - 存储使用单个 **SQLite** 数据库;主动扫描工具优先在 **WSL** 中运行(回退到 Windows 二进制文件),以避免杀毒软件的误报,并启用完整的 `naabu → nmap → httpx` 链。 有关设计决策(ADR)和架构路线图,请参阅 [`docs/`](docs/)。 ## 安装说明 ### 前置条件 - **Windows 10 / 11** - **Python 3.10+** — (启用 *Add Python to PATH*) - **(推荐)WSL**,搭配 Ubuntu/Kali 发行版以用于主动扫描后端 ### Windows 设置 ``` # 1. 安装 Python 依赖 pip install -r requirements.txt # 2. 下载侦察工具 (Windows + WSL) powershell -ExecutionPolicy Bypass -File .\install_tools.ps1 # 3. 启动桌面应用 python run.py ``` 桌面窗口会自动打开。如果 `pywebview` 不可用,UI 将回退到您的默认浏览器。 ### WSL 设置(推荐用于主动扫描) 主动扫描工具(naabu、nmap、httpx、nuclei、katana、tlsx……)在可用时会自动在 WSL 内运行: ``` wsl --install -d Ubuntu ``` 如果未安装 WSL,应用程序会打印出确切的命令,并在可用时使用 Windows 二进制文件,而不是停止运行。每款工具都是**可选的**——缺少的工具会被跳过,绝不会导致致命错误。 ### 工具安装 `install_tools.ps1` 从其官方 GitHub 发布版本(Windows amd64)获取每款工具,并在 WSL 中安装 Linux/Go 工具。也可以通过应用内的 **Tool Manager** 和 **Dependencies** 面板管理工具,这些面板显示健康状态、版本、后端以及针对每个工具的修复提示(例如 `go install …`、`pip install …`)。 ### 独立可执行文件 构建单窗口可执行文件(无控制台,无浏览器): ``` powershell -ExecutionPolicy Bypass -File .\build_exe.ps1 ``` 输出:`dist\ReconOrchestrator\ReconOrchestrator.exe`。之后在输出文件夹内运行 `install_tools.ps1`,将工具放置在可执行文件旁边。 ## 配置 ### API key 配置 (GitHub) 经过身份验证后,某些信息源会变得更加强大。打开 **Tools → GitHub integration** 并点击 **Replace token** 粘贴 GitHub Personal Access Token(建议使用细粒度的只读 token)。该 token 将被: - 针对 GitHub 进行**验证**,然后**静态加密** (Fernet) 存储在本地 vault 中; - **绝不**显示、记录、导出或写入源码、报告或截图中; - 由 GitHub 支持的扫描(`github-subdomains`、GitHub 搜索)自动使用。 面板仅显示 `✓ GitHub configured` / `✗ failed`、账户、scope 数量、实时 API 速率限制和上次验证时间——绝不显示 token 本身。您可以随时通过 **Validate / Revalidate / Replace / Remove** 进行管理。 ## 关键子系统 - **Intelligence Engine** — 分析器声明其*消耗*和*产生*的事件;引擎推导出 DAG,运行并发 worker pool,通过内容哈希进行 memoization,并单调地融合置信度。可以从 **Intelligence** 工作区切换并调整 worker 数量。 - **Planner** — 一个由 `_RANK` 驱动的推荐界面,标记每种能力中最强大的**健康且已启用**的工具(在 Tool Manager 中用 ★ 显示);禁用的工具绝不会被调度。 - **Knowledge Graph** — 每一个发现都会成为一个带有关系边和精细事件的类型化节点,并随着每个阶段流式传输结果而被实时且幂等地摄取。 - **Mission Control** — 一个 1 秒刷新的遥测工作区:当前工具/阶段、进度、ETA、引擎吞吐量、进程 CPU/RAM 以及知识计数。 - **Tool Manager** — 所有 27 款工具的控制中心,按方法论阶段分组,具有真正的启用/禁用门控、后端选择(auto/windows/wsl)、预设(Balanced / Fast / Passive / Active / Stealth / Deep / BugBounty)、拖放排序以及配置导入/导出。 ## 界面 应用程序以单一原生桌面窗口形式打开(深色“作战室”主题,英文 + 阿拉伯文),包含四个工作区: - **Recon** — 目标控制、实时各阶段进度、方法论计划、实时计数器、流式日志,以及可搜索的选项卡式结果(子域名、存活主机、技术、WAF、虚拟主机、DNS、端口、内容、爬虫、漏洞、URL)。 - **Mission Control** — 实时遥测:当前阶段、进度、ETA、引擎吞吐量、进程 CPU/RAM 和知识计数。 - **Tool Manager** — 所有 27 款工具按方法论阶段分组,每款工具都有健康指示点、后端、版本、用途、★“推荐”标记、启用开关和后端选择器;此外还有预设、拖放排序和配置导入/导出。 - **Intelligence** — 性能中心(引擎开启/关闭,worker 调整)、实时仪表板、推理/假设、运行时时间轴和攻击面图表。 页眉的 **About** 对话框显示版本、作者、版权、组织和仓库链接;**Tools** 对话框管理工具健康状态和加密的 GitHub 集成。 ## 常见工作流 **快速被动足迹** 1. 输入域名,选择 **Passive**,点击 **Start recon**。 2. 观察子域名和存档的 URL 流入 Knowledge Graph 和全局搜索中。 **完整主动评估(授权范围)** 1. 输入范围内的域名或 CIDR,选择 **Both**。 2. 跟踪实时各阶段进度和 Mission Control;随着它们的出现,查看存活主机、端口/服务、TLS 证书和漏洞。 3. 将结果导出为 JSON/TXT(同时会自动保存在 `results/` 目录下)。 **调整工具集** 1. 打开 **Tool Manager**,应用预设(例如 **Stealth** 或 **BugBounty**),或切换单个工具。 2. 被禁用的工具将立即从调度中排除。 ## 故障排除 | 症状 | 解决方案 | |---|---| | 主动工具显示为缺失 | 安装 WSL (`wsl --install -d Ubuntu`) 并运行 `install_tools.ps1`;检查 **Tool Manager → Dependencies** 以获取针对每个工具的修复提示。 | | Screenshots 阶段未产生任何结果 | WSL Chromium 需要共享库;应用程序会在非特权模式下修复它们,并在 Dependencies 面板中报告确切状态。 | | `github-subdomains` 被跳过 | 在 **Tools → GitHub integration** 下配置 token。 | | 端口扫描被杀毒软件标记 | 默认情况下,主动扫描工具专门在 WSL 内运行以避免出现这种情况;请确保已安装 WSL。 | | 桌面窗口未打开 | 安装 pywebview (`pip install pywebview`);否则 UI 将在您的浏览器中打开。 | ## 常见问题 **我的数据会被发送到任何地方吗?** 不会。服务器仅限于本地 (`127.0.0.1`),从不打开网络端口。机密会静态加密,绝不会离开您的机器。 **我需要每款工具吗?** 不需要。每款工具都是可选的,缺失时会优雅地跳过;Planner 会为每种能力推荐最佳的可用工具。 **我可以扫描 IP 范围吗?** 可以——域名、IPv4、IPv6 和 CIDR 范围都是一等的目标。 **没有 WSL 也能运行吗?** 可以,使用 Windows 二进制文件——但为了完整的主动扫描链,建议使用 WSL。 **我的机密存储在哪里?** 加密 (Fernet) 存储在 `data/` 目录下的本地 vault 中,该目录已被 git-ignored 且从不发布。 ## 许可证 基于 **MIT License** 发布——请参阅 [LICENSE](LICENSE)。选择 MIT 是因为其简洁和宽松的特性,旨在鼓励安全社区尽可能广泛地使用、学习和贡献。第三方工具和库保留其各自的许可证;请参阅 [NOTICE](NOTICE)。
**Recon Orchestrator** · 由 **Hesham Hazem Abed** 开发 · Copyright © 2026 Hesham Hazem Abed 由 **Enlil Solutions** 提供支持
标签:ESC6, GitHub, 侦察框架, 实时处理, 密码管理, 数据可视化, 本地部署, 桌面应用, 逆向工具