smartboy223/Smart-Domain-Detector
GitHub: smartboy223/Smart-Domain-Detector
面向SOC团队的域名侦察与暴露分析平台,通过Docker集成多种被动枚举工具,自动化检测潜在钓鱼域名与资产风险。
Stars: 1 | Forks: 0
# Smart Domain 探测器
Smart Domain Detector 是一款网络安全侦察工具,旨在识别可能表明网络钓鱼或品牌冒充的可疑、新注册或相似域名。
- SOC 分析师
- 威胁猎手
- Bug Bounty 研究员
- 安全研究员
Smart Domain Detector 是一个 Docker 优先的侦察和暴露分析平台,专为 SOC 团队、安全分析师和验证工作流程设计。
🌐 被动发现 • 🔎 实时验证 • 🕰️ 历史扩展 • 🧠 目标情报 • 📊 可导出报告
## 项目概述 Smart Domain Detector 整合了通常分散在许多独立工具和漫长的手动审查步骤中的工作: - ⚡ 从多个被动来源发现子域名 - 🧭 通过 DNS 和 HTTP 探测解析并验证存活主机 - 🗂️ 通过定向爬取扩展存档和实时 URL - 🚨 检测敏感文件、认证门户、VPN 面板、API 文档和暴露模式 - 🧠 利用 IP 所有权、SSL/TLS、所有者/联系人、邮件和 NS 数据构建目标情报 - 🧾 在本地保存扫描历史并导出整洁的 Excel 报告以供后续分析 ## 截图 ### 实时扫描工作流 在扫描仍在运行时跟踪实时进度、引擎输出和工具清单。  ### 工具健康时间线 按顺序跟踪管道,查看工具经历 `pending`(待定)、`running`(运行中)、`completed`(已完成)、`partial`(部分完成)和 `skipped`(已跳过)状态的过程。  ### 分析师指标条 一目了然地查看风险、已扫描 URL、关键发现、存活资产和跟踪的子域名。  ### 发现视图 审查按严重程度、置信度、存活/存档状态和来源归因排序的优先发现。  ### 发现详情抽屉 打开一个发现项以查看影响、建议措施、验证说明、证据和参考信息。  ### 扫描深度和高级控制 在有边界的控件下,在快速分类、侧重实时、全覆盖和深度预设模式之间切换。  ### 单工具超时调优 通过安全防护机制调整工具预算,而不是开放式数值输入。  ## 核心功能 ### 侦察与丰富 - `subfinder`, `assetfinder`, `findomain`, `amass`, `subcat` - `crt.sh`, `certspotter`, `BufferOver`, `chaos` - `dnsx`, `httpx`, `subzy` - `waybackurls`, `gau`, `katana`, `waymore`, `arjun` - 原生实时递归、定向路径检查、robots.txt 捕获和 SSL/TLS 收集 ### 检测覆盖范围 - 🔐 敏感文件和备份工件 - 🧱 管理面板和登录/认证面板 - 🛡️ VPN 和远程访问端点 - 🧪 API 文档、GraphQL、XML-RPC、重定向和 SSRF 线索 - 📬 邮件和目标基础架构线索 - 📁 带有证据的存档支持和实时支持发现 ### 报告 - 📘 Excel 导出,包含发现、资产、目标情报、IP 情报、工件、后续跟进目标和工具健康状况 - 🧷 包含来源/参考上下文,用于下游验证 - 🧹 数据已整理,便于后续泄露检查、nuclei 运行、手动审查和报告 ## Docker 优先运行时 本项目设计为通过 Docker 运行,从而避免大多数 Windows 与 WSL 与 Linux 之间的工具兼容性问题。 ### 快速开始 1. 安装 [Docker Desktop](https://www.docker.com/products/docker-desktop/) 2. 在项目根目录下运行: ``` docker compose up --build -d ``` 3. 打开 [http://localhost:3000](http://localhost:3000) ### Windows 辅助脚本 你也可以使用: - `docker-control.bat` 它允许你: - ▶️ 启动 Docker 技术栈 - ⏹️ 安全停止 Docker 技术栈 - 🩺 检查 Docker 状态 ## 可选配置 如果你想启用可选来源,请将 `.env.example` 复制为 `.env`: ``` PORT=3000 USE_VITE_DEV=false PDCP_API_KEY= BUFFEROVER_API_KEY= ``` - `PDCP_API_KEY`:启用 Chaos - `BUFFEROVER_API_KEY`:启用 BufferOver 被动 DNS 丰富 ## 项目结构 ``` backend/ data/ SQLite scan history services/ Recon, analyzer, runtime, persistence services images/ README screenshots public/ Static assets src/ React UI tests/ Node test suite server.ts Unified API + frontend server docker-control.bat Docker start/stop/check helper Dockerfile Container runtime docker-compose.yml Local Docker orchestration ``` ## 开发 安装依赖项: ``` npm install ``` 以开发模式运行应用: ``` npm run dev ``` 构建前端: ``` npm run build ``` 运行类型/lint 检查: ``` npm run lint ``` 运行测试: ``` npm test ``` ## 数据持久化 保存的报告存储在: - `backend/data/scans.db` Docker 挂载同一个文件夹,因此扫描历史在容器重启后依然存在。 ## 工具行为说明 - ✅ `completed`:工具正常完成 - 🟢 `partial`:工具在超时前返回了有用的结果 - 🟠 `pending`:工具已排队或正在等待其执行阶段 - ⚪ `skipped`:在此扫描模式下故意未使用、被配置禁用或缺少 API 设置 - 🔴 `failed`:工具已运行但未返回可用结果 说明: - 外部来源仍可能受到速率限制或暂时失效。 - 某些上游存档服务可能会针对特定主机返回 `429` 或无结果。 - Docker 消除了大多数原生 Windows 兼容性摩擦,但上游网络/提供商问题仍可能发生。 ## 故障排除 ### 浏览器显示“Network error” 如果 UI 显示网络错误: 1. 确认 Docker 仍在运行 2. 确认容器状态健康: ``` docker compose ps ``` 3. 检查日志: ``` docker compose logs --tail=200 ``` 4. 刷新 [http://localhost:3000](http://localhost:3000) ### 工具显示 `skipped` 这通常意味着以下情况之一属实: - 该工具在选定的扫描模式下被故意禁用 - 未配置 API 密钥 - 工作流程正在优先考虑更快的来源 ### 存档来源看起来数据薄弱 存档提供商在不同域名间的表现可能不一致。Smart Domain Detector 已经会重试并优先关注高价值主机,但某些目标确实会返回较少的历史数据。 ## 版本 **Smart Domain Detector v1.0** © 2026 专业项目,作者 [github.com/smartboy223](https://github.com/smartboy223) ## 贡献 欢迎贡献、改进和未来开发。标签:DInvoke, DNS分析, Docker, ESC8, GitHub, HTTP探测, MITM代理, Python, Sigma 规则, 侦查工具, 品牌保护, 域名分析, 威胁情报, 子域名挖掘, 安全工具库, 安全运营中心, 安全防御评估, 实时处理, 密码管理, 开发者工具, 敏感文件检测, 无后门, 暴露面管理, 汇编生成, 社会工程学, 结构化查询, 网络安全, 网络映射, 自动化安全, 自动化攻击, 被动侦察, 请求拦截, 资产测绘, 钓鱼检测, 隐私保护, 风险发现