Maiiaa30/ReconDashboard
GitHub: Maiiaa30/ReconDashboard
面向单人红队操作员的自托管侦察平台,以被动优先方式聚合攻击面与暴露面数据,并在严格授权控制下提供主动扫描能力。
Stars: 2 | Forks: 0
# 🛰️ Recon 仪表板
### 单人操作、自托管的红队攻击面与侦察平台
*被动优先侦察、暴露面监控、OSINT 聚合以及受控的主动扫描 —— 全部通过浏览器完成,无需终端。*
[](./LICENSE) [](#) [](#-legal--ethical-use)
       
## ✨ 概述
**Recon Dashboard** 是一个面向个人单用户的平台,用于在授权的授权测试项目中追踪资产和侦察数据。它倾向于**被动优先** —— 在不触碰目标的情况下,尽可能安全地拉取所有信息;并将具有明显网络特征的主动工具置于明确的授权控制之下。所有任务都**在服务端作为后台作业运行**,并完全通过深色的现代 Web UI 驱动。无需终端,无需复制粘贴工具输出。
- 🔎 **被动优先侦察** —— 证书透明度、DNS、WHOIS、技术指纹、存档 URL 来源以及“每个域名的 Shodan”暴露数据,尽可能在无 API key 的情况下运行。
- 🚨 **持续监控** —— 按计划对每个域名进行自动侦察,子域名差异对比,并在新子域名出现的瞬间发出 **Discord 提醒**。
- 🎯 **受控的主动扫描** —— `nmap`、`nuclei`、`ffuf` 等相关工具,受 `active_authorized` 标志锁定,绝对不会针对未授权目标发起扫描。
- 🧠 **发现结果分类** —— 基于确定性规则的评分、完整的从发现到解决的声明周期,以及可导出的单域名 Markdown 报告。
- 🗒️ **操作员工作区** —— Markdown 笔记(可一键推送到 Discord)和自动保存的内嵌 Excalidraw 画布。
- 🔐 **专为隐私构建** —— 单一强化登录并支持可选的 TOTP 2FA,旨在部署在 Tailscale 之后,并由您掌控加密的数据库备份。
## 🧩 模块
| 模块 | 功能 | 模式 |
| --- | --- | :---: |
| **Domains** | 追踪目标;支持针对单个域名设置 `passive_only` / `active_authorized` 模式;定时自动监控;KPI 概览 | — |
| **Subdomains** | 被动发现 (crt.sh · certspotter · subfinder)、HTTP probe 富化、差异对比并标记新发现、Discord 提醒、导出 | 🟢 passive |
| **Exposure** | 通过 Shodan InternetDB + cvedb 获取“每个域名的 Shodan”数据 —— 开放端口、CVE、CPE(免费,无需 API key) | 🟢 passive |
| **OSINT** | DNS · WHOIS · 证书透明度 · zone-transfer · server/tech 指纹 · 存档 URL (Wayback, Common Crawl, urlscan, OTX) | 🟢 passive |
| **WAF / Origin** | 发现隐藏在 Cloudflare / WAF 背后的真实源 IP | 🟢 passive |
| **Screenshots** | 使用 Headless-Chromium 的截图画廊及灯箱预览 | 🟢 passive |
| **Scans** | `nmap` · `nuclei` (template-tag 预设) · `ffuf` — **受控,高网络特征** | 🔴 active |
| **Tools** | `katana` · `naabu` · `dalfox` · `sslscan` · WordPress enum — **受控** | 🔴 active |
| **OWASP** | 进程内 HTTP 检查(headers、暴露的 `.env`/`.git`、反射型 XSS、开放重定向、CORS、TRACE、listings)+ nuclei 扫描,具备目标感知能力 | 🔴 active |
| **Fuzzing** | `ffuf` 内容发现,支持目标与字典选择器 | 🔴 active |
| **Findings** | 评分与去重,包含“评分依据” + CVE 详情、分类声明周期、CSV/JSON 导出、单域名 Markdown 报告 | — |
| **Notes / Canvas** | Markdown 笔记(推送到 Discord)· 自动保存至数据库的 Excalidraw 画板 | — |
| **Logs / Settings** | 带有任务控制的实时活动日志 · 2FA 注册 · 系统状态 · 加密备份 | — |
## 🏗️ 架构
```
┌────────────────────────┐ ┌──────────────────────────────┐
│ React + Vite SPA │ REST │ Fastify + TypeScript API │
│ (Tailwind, dark UI) │ ─────► │ ├─ auth (argon2 + TOTP) │
└────────────────────────┘ │ ├─ jobs table + worker loop │
│ └─ recon CLI tools (execFile)│
└──────────────┬───────────────┘
│
┌───────▼────────┐
│ SQLite (Drizzle)│
└──────────────────┘
```
- **Frontend** — React + Vite + TypeScript + Tailwind(单 SPA,对 PWA 友好)
- **Backend** — Node.js + Fastify + TypeScript(REST API)
- **Database** — 通过 Drizzle ORM 使用 SQLite (`better-sqlite3`)
- **Jobs** — 一个由进程内 worker 轮询的 `jobs` 表 —— **无需 Redis**
- **Packaging** — Docker + Docker Compose
## 🚀 快速开始
```
git clone https://github.com/Maiiaa30/ReconDashboard.git
cd ReconDashboard
cp .env.example .env # then edit it — never commit .env
docker compose up --build
```
- **Frontend** → [](./LICENSE) [](#) [](#-legal--ethical-use)
       
用 ☕ 和对安全边界的高度敬畏构建。
**[⬆ 返回顶部](#️-recon-dashboard)**
标签:Fastify, MITM代理, React, Syscalls, 动态插桩, 实时处理, 密码管理, 自动化攻击, 请求拦截