xalgord/reconx

GitHub: xalgord/reconx

基于 Go 的自动化安全侦察与漏洞扫描编排工具,将多款开源安全工具串联为持续运行的并行流水线并提供 Web 仪表盘与即时通知。

Stars: 0 | Forks: 0

# ReconX 7x24 小时自动化安全侦察与漏洞扫描 —— 单个 Go 二进制文件。 ## 功能特性 - **并行 Pipeline** — 侦察 worker 直接将数据送入扫描 worker(goroutines + channels) - **子域名枚举** — subfinder、findomain、assetfinder(并发执行) - **DNS 解析** — dnsx,支持可配置的速率限制 - **Nuclei CVE 扫描** — 筛选 Critical/High 严重级别并输出 JSONL 格式 - **DAST 扫描** — URL 收集(waymore + paramspider + gospider)→ 去重(uro)→ nuclei -dast - **Discord 通知** — 富文本嵌入,按严重程度进行颜色标记,支持多个 webhook 目标 - **Web 仪表盘** — 深色主题监控 UI,包含发现结果、统计信息、过滤器和分页功能 - **YAML 配置** — 通过 `~/.config/reconx/config.yaml` 配置所有内容 - **单一二进制文件** — 所有 Web 资源均已嵌入,无外部依赖 - **强制超时** — 每个子进程都有可配置的超时时间(不再有 worker 卡死的情况) - **优雅关机** — 在收到 SIGINT/SIGTERM 时传播 Context 取消信号 ## 安装 ### Go Install(推荐) ``` go install github.com/xalgord/reconx/cmd/reconx@latest ``` ### 预编译二进制文件 从 [Releases](https://github.com/xalgord/reconx/releases/latest) 下载: ``` # Linux (amd64) curl -sL https://github.com/xalgord/reconx/releases/latest/download/reconx_linux_amd64 -o reconx chmod +x reconx sudo mv reconx /usr/local/bin/ # Linux (arm64) curl -sL https://github.com/xalgord/reconx/releases/latest/download/reconx_linux_arm64 -o reconx chmod +x reconx sudo mv reconx /usr/local/bin/ # macOS (Apple Silicon) curl -sL https://github.com/xalgord/reconx/releases/latest/download/reconx_darwin_arm64 -o reconx chmod +x reconx sudo mv reconx /usr/local/bin/ ``` ### 从源码构建 ``` git clone https://github.com/xalgord/reconx.git cd reconx go build -o reconx ./cmd/reconx/ ``` ## 快速开始 ``` # 生成 config reconx init # 编辑 config — 设置 targets_file、dashboard 密码、Discord webhooks vim ~/.config/reconx/config.yaml # 验证 config + 检查 tools reconx check # 启动 pipeline reconx run ``` ## 配置 配置文件位于 `~/.config/reconx/config.yaml`。有关所有选项,请参见 [config.example.yaml](config.example.yaml)。 关键设置: ``` targets_file: "/path/to/targets.txt" discord: enabled: true webhooks: critical: "https://discord.com/api/webhooks/..." status: "https://discord.com/api/webhooks/..." dashboard: enabled: true host: "0.0.0.0" port: 8080 username: "admin" password: "changeme" ``` ## 命令 | 命令 | 描述 | |---------|-------------| | `reconx run` | 启动 7x24 小时 pipeline | | `reconx init` | 生成示例配置 | | `reconx check` | 校验配置并检查工具 | | `reconx service install` | 安装为 systemd 服务(后台运行) | | `reconx service stop` | 停止服务 | | `reconx service restart` | 重启服务 | | `reconx service status` | 显示服务状态 | | `reconx service logs` | 查看服务日志尾部 | | `reconx service uninstall` | 移除 systemd 服务 | | `reconx version` | 打印版本信息 | ## 所需工具 必须位于 `$PATH` 中或在 `tools:` 部分进行配置: | 工具 | 必需 | 用途 | |------|----------|---------| | subfinder | ✅ | 子域名枚举 | | dnsx | ✅ | DNS 解析 | | nuclei | ✅ | CVE + DAST 扫描 | | findomain | 可选 | 子域名枚举 | | assetfinder | 可选 | 子域名枚举 | | waymore | 可选 | URL 收集(存档) | | paramspider | 可选 | URL 参数发现 | | gospider | 可选 | Web 爬取 + URL 抓取 | | uro | 可选 | URL 去重 | ## 架构 ``` Targets File → [Recon Workers (5x)] → [Scan Queue] → [Scan Workers (10x)] ↓ ↓ subfinder Nuclei CVE findomain DAST Phase: assetfinder waymore → merge/dedup paramspider → dnsx resolve gospider → uro dedup → nuclei -dast ↓ Findings Store (JSONL) ↓ Discord Webhooks + Dashboard ``` ## 数据存储位置 | 路径 | 内容 | |------|---------| | `~/.config/reconx/config.yaml` | 配置文件 | | `~/.local/share/reconx/data/` | 状态,输出 | | `~/.local/share/reconx/findings/` | 发现结果 (JSONL) | | `~/.local/share/reconx/logs/` | 日志文件 | ## 许可证 MIT
标签:24x7监控, DAST扫描, Discord机器人, DNS解析, EVTX分析, GitHub, Google, Goroutines, Go语言, Nuclei, Web仪表盘, YAML配置, 单文件二进制, 占用监测, 子域名枚举, 安全侦察, 密码管理, 并发流水线, 开源项目, 持续监控, 插件系统, 日志审计, 白帽黑客, 程序破解, 系统安全, 网络安全, 资产管理, 通知推送, 隐私保护