XecureLogic/origin-recon

GitHub: XecureLogic/origin-recon

本地自托管的 DNS 与源站基础设施被动侦察工具,整合多源 OSINT 数据实现域名风险判定与恶意基础设施识别。

Stars: 0 | Forks: 0

Origin Recon

# Origin 侦察 **开发者:** [XecureLogic](https://xecurelogic.com) — xecurelogic.com 一个独立运行、基于本地的 DNS / 源站 / 攻击者基础架构侦察工具。 只需提供一个域名,它一次扫描即可完成通常需要十几个浏览器标签页才能完成的工作: 映射 DNS、区分 CDN 边缘节点与真实源站、对主机进行地理定位, 并标记出防弹 ASN 以及被 abuse.ch 确认的已知恶意基础架构。 后端采用 FastAPI,前端采用 React/Vite/Tailwind。完全在您的本地机器上运行;API 密钥和 目标数据绝不外泄。 ## 截图

Scan interface
The scan interface. Single or bulk mode, the live enrichment sources lit up across the top, and this session's scans as click-through chips.

Verdict
The headline verdict — MALICIOUS — with the reasoning, the defanged origin IOC, and one-click actions to check or report the URL to URLhaus.

DNS graph
The DNS graph — apex to record types to resolved hosts to networks, laid out so the structure reads in seconds.

Geolocation and risk
Resolved hosts placed on a real-projection world map, color-coded by role and risk, with a hosting breakdown and a risk summary.

DNS records
The full DNS record tables — A, NS, SOA — each row enriched with ASN, the Team Cymru-announced origin, and a per-record risk flag.

## 功能介绍 针对目标域名,它会执行**被动**的 OSINT 侦察并呈现以下内容: - **核心判定** — `MALICIOUS`(恶意)/ `SUSPICIOUS`(可疑)/ `NO MALICIOUS SIGNALS`(无恶意信号)/ `INCONCLUSIVE`(无法确定),并明确给出判定依据 - **DNS 记录** — A/AAAA/MX/NS/TXT/SOA,每条记录均包含 ASN 及风险标记 - **真实子域名枚举** — 通过 Certificate Transparency (crt.sh) 实现,而非猜测列表 - **地理定位主机** — 展示在精准的世界地图上(Natural Earth 投影),标记颜色根据角色/风险进行区分 - **边缘 / 源站分类** — 判断根域是位于 CDN 之后(已被隐藏)还是直接解析到真实主机(已暴露) - **源站候选地址** — 来自被动 DNS 的历史记录(CDN 接入前的 A 记录) - **权威 ASN** — 通过 Team Cymru 获取每个主机的权威 ASN(会调和 RDAP/地理定位的数据冲突) - **防弹 ASN 标记** — 通过 Spamhaus ASN-DROP 进行识别 - **已知恶意确认** — 通过 abuse.ch ThreatFox 和 URLhaus 进行确认 - **无害化处理的 IOC** — 带有复制按钮,并支持导出为 **CSV**、**STIX 2.1** 以及 **MISP** 事件 JSON - **批量扫描**(支持粘贴列表,上限 50 个,并发执行) - **扫描历史** — 每次扫描均保存在本地,支持搜索和一键回顾 - **主动源站确认**(可选启用)— 使用伪造的 `Host` 标头获取候选源站,以验证其是否提供目标网站服务;拒绝扫描私有 IP,并在无法确定时报告 *inconclusive*(无法确定),而不是盲目猜测 - **URLhaus 提交**(受控功能)— 将已确认的恶意 URL 反馈给社区 默认情况下,所有数据源均为只读/被动模式。引擎针对每个数据源均采用故障安全机制(如果某个数据源不可用或缺少 API 密钥,该部分会降级处理并附带说明;引擎绝不伪造数据)。 ## 前置条件 `run.sh` 需要您的 PATH 中包含以下三项内容:**Python 3**(包含 `venv` 模块)、**Node.js** 和 **npm**。Python 已随大多数 Linux 发行版附带,但在 Debian/Kali/Ubuntu 系统中,`venv` 模块和 Node 需要单独安装: ``` sudo apt update sudo apt install -y python3-venv nodejs npm ``` 验证方法: ``` python3 --version && node -v && npm -v ``` ## 快速开始(单条命令) ``` ./run.sh ``` 然后打开 http://localhost:8000 如果上次运行被中断(例如缺少依赖包、安装过程中按下了 Ctrl+C),只需再次 运行 `./run.sh` —— 它会检测到未构建完成的后端 venv,重新进行构建,并且 在后端真正在 8000 端口提供服务之前,绝不报告成功。 `run.sh` 会创建一个 venv,安装后端依赖,构建前端,通过后端在 8000 端口 提供构建好的 UI 服务,并自动打开您的浏览器。`./run.sh --dev` 会改为运行 热重载开发服务器。按下 Ctrl+C 可停止所有进程。 ## 可选的 API 密钥(用于启用更丰富的信息补充) 请将它们放入项目根目录的 `.env` 文件中(推荐)或 `backend/.env` 中。代码中不进行 任何硬编码;每个密钥解锁一个模块,缺少该密钥时应用会优雅降级。 ``` export IPINFO_TOKEN=... # precise geolocation + ASN (raises rate limits) export SECURITYTRAILS_API_KEY=... # passive-DNS history (best for unmasking origins) export VT_API_KEY=... # passive-DNS history (VirusTotal) export ABUSECH_AUTH_KEY=... # known-bad confirmation (free: https://auth.abuse.ch/) ``` 页眉会显示哪些信息补充功能已激活。即使不提供任何密钥,您仍然可以使用 DNS、 CT 子域名、RDAP ASN、Team Cymru 发布的 ASN、Spamhaus 风险标记以及 大致的(基于国家重心点的)地理定位功能。 状态端点仅报告某个数据源**是否**已启用 —— 绝不会返回 密钥本身。`.env` 文件已被配置为 git 忽略;请保持这一设置。 ## 手动 / 开发模式 后端: ``` cd backend python3 -m venv .venv && source .venv/bin/activate pip install -r requirements.txt python -m uvicorn app.main:app --host 0.0.0.0 --port 8000 ``` 前端(热重载,需在单独的终端中运行): ``` cd frontend npm install npm run dev # http://localhost:5173 ``` ## 注意事项 - 请仅扫描您已获得授权评估的域名。 - IP 信息补充采用并发执行;即使域名包含大量子域名,依然能在数秒内完成。 - 世界地图已离线打包(位于 `frontend/src/assets/countries-110m.json`),因此应用无需依赖任何外部地图服务。 - 主动源站确认探测是唯一直接与目标基础架构交互的功能;该功能需针对每个候选对象单独选择启用。
标签:AV绕过, FastAPI, GitHub, MITM代理, React, SYN扫描, Syscalls, 域名解析, 威胁情报, 实时处理, 开发者工具, 无服务器架构, 暗色界面, 自动化攻击, 逆向工具