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配置, 单文件二进制, 占用监测, 子域名枚举, 安全侦察, 密码管理, 并发流水线, 开源项目, 持续监控, 插件系统, 日志审计, 白帽黑客, 程序破解, 系统安全, 网络安全, 资产管理, 通知推送, 隐私保护