n0xnull/Fathom

GitHub: n0xnull/Fathom

一款无需 API 密钥的 Windows 桌面端攻击面情报工具,帮助安全人员在攻击者之前发现并评估外部暴露资产。

Stars: 1 | Forks: 0

Fathom # 🌊 Fathom ### 攻击面情报引擎 — *在攻击者之前揭示所有暴露的内容。* 发现域名的子域,查看哪些存活、托管在哪里、运行什么,以及哪些看起来像 **影子 IT** —— 然后获取修复建议。 **无需 API 密钥。无需注册。** 一个 Windows 应用程序,点击即可运行。 [![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](LICENSE) [![Platform](https://img.shields.io/badge/platform-Windows%2010%2F11-blue.svg)]() [![Python](https://img.shields.io/badge/python-3.11%2B-3776ab.svg)]() [![Build](https://img.shields.io/github/actions/workflow/status/n0xnull/Fathom/build.yml)]() [![Release](https://img.shields.io/github/v/release/n0xnull/Fathom)](../../releases) [![LinkedIn](https://img.shields.io/badge/LinkedIn-Abil%20Khosim-blue?logo=linkedin&logoColor=white)](https://www.linkedin.com/in/abil-khosim-itsec/) [⬇️ 下载](#-installation) · [✨ 功能](#-key-features) · [📖 用法](#-how-to-use) · [⚙️ 工作原理](#-how-it-works) · [⚠️ 免责声明](DISCLAIMER.md) Fathom
## 🧩 问题所在 组织往往会在互联网上暴露过多内容而失去追踪。被遗忘的 `dev`、`staging` 和 `old-api` 子域,悬空的 DNS 记录,以及暴露的 管理面板 —— 统称为 **影子 IT** —— 正是攻击者首先寻找的目标。 专业的发现工具通常需要付费的 API 密钥和陡峭的学习曲线。 **Fathom** 仅使用 **免费的公共资源和离线数据库** 来映射域名的外部 攻击面 —— 封装在一个任何人都可以运行的简洁桌面应用程序中。 输入一个域名,即可获得可操作的情报报告。就像水手在继续航行前用测深线 测量深度一样,Fathom 能够测量出域名暴露足迹究竟有多深、有多广。 ## ✨ 核心功能 - 🔍 **子域名发现(无需 API 密钥)** — Certificate Transparency (crt.sh)、 Wayback Machine 和 DNS 暴力破解。 - 🧪 **感知通配符** — 检测通配符 DNS 并过滤误报。 - ⚡ **活动主机验证** — 通过精确状态(超时、TLS 错误、拒绝连接)、状态码、服务器和页面标题判断存活/死亡。 - 🌐 **离线地理定位与 ASN** — 每个 IP 对应的国家/城市/组织,无需联网。 - 🧬 **技术指纹识别** — WordPress、Next.js、Laravel、Nginx、Cloudflare 等。 - 🕵️ **影子 IT、暴露面板与子域接管检测**,并附带修复建议。 - 📊 **透明的风险评分** — 每一分都有详细解释。 - 🌍 **双语** — 完整的印尼语 / 英语界面和报告。 - 📁 **报告** — 独立的 HTML、JSON 和 CSV 格式;可重新打开已保存的扫描结果。 - 🎨 **现代 GUI** — 深色/浅色主题,可排序/过滤的表格,每个菜单都有实用的提示。 - 💻 **单个 `.exe`** — 无需安装其他任何内容。 ## 🖼️ 截图
![主窗口](https://static.pigsec.cn/wp-content/uploads/repos/cas/03/034446e8e9f9d8d3c95e9a45ab7776fbbe7fb63b96b06b8e1470f7014b548d33.png) ![资产详情与发现](https://static.pigsec.cn/wp-content/uploads/repos/cas/bf/bf2f765f544d04b3952e85bb421f882e4d4a7e1104df7d71818d97ae11bfa159.png) ![HTML 报告](https://static.pigsec.cn/wp-content/uploads/repos/cas/94/94bb39fa2f6b532ff37ac921720a91c6b2535520d66fee0d8c63a824c7a78c6b.png)
## 💻 系统要求 | | 最低要求 | |---|---| | 操作系统 | **Windows 10 或 11,64 位**(Qt 6 已放弃对 Windows 7/8 的支持) | | 内存 | 2 GB | | 磁盘 | ~150 MB 可用空间 | | 网络 | 需要互联网连接以访问在线资源(应用程序本身无需安装) | ## ⬇️ 安装说明 ### 普通用户(推荐) 两种选择 —— 选择最适合您的一种: 1. 前往 **[Releases](../../releases)**。 2. **安装程序** — 下载 `FathomSetup.exe`,运行它,即可获得“开始菜单”快捷方式 和正规的卸载程序。*(推荐大多数人使用。)* 3. **便携版** — 下载 `Fathom.exe` 并双击运行,无需安装。 适合 U 盘 / 无管理员权限的环境。 ### 开发者(从源码运行) ``` git clone https://github.com/n0xnull/Fathom.git cd Fathom python -m venv .venv && .venv\Scripts\activate # Windows pip install -r requirements.txt python main.py ``` ### 自行构建 .exe ``` # Windows,一键运行: build.bat # 或手动运行: pip install -r requirements-dev.txt pyinstaller fathom.spec --noconfirm # -> dist\Fathom.exe ``` ### 自行构建安装程序 ``` # 需要 Inno Setup 6 (https://jrsoftware.org/isdl.php) installer\build-installer.bat # -> installer\Output\FathomSetup.exe ``` ## 📖 使用说明 1. 在输入框中**输入域名**(例如 `example.com`)。 2. **选择模式:** - **被动模式(安全)** — 仅使用公共来源;绝不触碰目标服务器。 - **全面模式(主动)** — 增加 DNS 暴力破解 + HTTP/HTTPS 探测;要求您 确认已获得授权。 3. 点击 **开始扫描**。查看进度 + 实时日志;随时可点击 **取消**。 4. 浏览 **子域名表格**(排序/过滤),点击某行查看 **详情**。 5. 查看 **影子 IT / 发现结果** 和 **建议**。 6. **导出** HTML 报告、JSON 或 CSV — 每次导出都会以唯一的 `Fathom_[域名]_[时间戳]` 文件名保存,因此不会覆盖任何内容。 已保存的扫描结果可以在以后重新打开。 ### 各个菜单的功能(新手提示) 将鼠标悬停在菜单项上时,状态栏也会显示相应的提示。 | 菜单 | 功能说明 | |---|---| | **文件 ▸ 新建扫描** | 清除结果并扫描一个新的域名。 | | **文件 ▸ 打开结果** | 重新打开之前保存的 `.json` 扫描结果。 | | **文件 ▸ 保存结果** | 保存完整的扫描结果以供日后打开。 | | **文件 ▸ 导出** | HTML 报告(分享/打印)、JSON(自动化)、CSV(Excel)。 | | **扫描 ▸ 开始 / 取消** | 运行或停止扫描。 | | **扫描 ▸ 模式** | 在被动模式(安全)和全面模式(主动)之间切换。 | | **视图 ▸ 主题** | 切换深色/浅色主题。 | | **视图 ▸ 语言** | 印尼语 / 英语(也可在右上角切换)。 | | **帮助 ▸ 文档 / 免责声明 / 更新 / 关于** | 指南、条款、最新版本、鸣谢。 | ### 命令行(可选) ``` python -m fathom.cli example.com --mode passive --lang en --format all ``` ## ⚙️ 工作原理 ``` input domain → apex intel (DNS records, SPF/DMARC, RDAP, TLS) → wildcard guard → enumeration (crt.sh + Wayback + brute force[Full]) → DNS resolve → active probe[Full] → GeoIP/ASN (offline) → fingerprint + TLS → Shadow IT / takeover / posture analysis → transparent risk score → report (HTML / JSON / CSV) ``` **免费、无需密钥的数据源:** Certificate Transparency (crt.sh)、Wayback Machine CDX、实时 DNS、RDAP、直接 TLS 握手,以及 **离线** GeoIP 数据库 (DB-IP Lite / GeoLite2 — 参见 [`fathom/data/geoip/README.md`](fathom/data/geoip/README.md))。 ## 🗺️ 路线图 - **v1.1** — Wayback 链接挖掘、HTML/JS 爬取、AXFR、更丰富的 TLS 分析。✅(唯一的导出文件名 + 安装程序) - **v1.2** — 反向 DNS、PDF 报告、扩展的接管签名。 - **v2.0** — 多域名视图、扫描历史与差异对比、定时任务。 ## ⚠️ 免责声明 仅限用于**授权的安全测试和教育目的**。请仅扫描您拥有或被允许测试的 域名。请参阅 [DISCLAIMER.md](DISCLAIMER.md)。 ## 📄 许可证 [MIT](LICENSE) © Abil Khosim。GeoIP 数据基于其各自的许可证提供 (DB-IP: CC-BY / MaxMind: GeoLite2 EULA)。