Skip to content

n0xnull/Fathom

Repository files navigation

Fathom

🌊 Fathom

Attack Surface Intelligence Engine β€” reveal everything exposed before attackers do.

Discover a domain's subdomains, see which are alive, where they're hosted, what they run, and which look like Shadow IT β€” then get fix recommendations. No API keys. No sign-ups. One Windows app, click and run.

License: MIT Platform Python Build Release LinkedIn

⬇️ Download Β· ✨ Features Β· πŸ“– Usage Β· βš™οΈ How it works Β· ⚠️ Disclaimer

Fathom

🧩 The Problem

Organizations lose track of what they expose on the internet. Forgotten dev, staging, and old-api subdomains, dangling DNS records, and exposed admin panels β€” collectively Shadow IT β€” are exactly what attackers look for first. Professional discovery tools usually need paid API keys and a steep learning curve.

Fathom maps a domain's external attack surface using only free, public sources and an offline database β€” wrapped in a clean desktop app that anyone can run. Type a domain, get an actionable intelligence report. Like a sailor's sounding line measuring the depths before sailing further, Fathom measures how deep and how wide a domain's exposed footprint really goes.

✨ Key Features

  • πŸ” Subdomain discovery (no API key) β€” Certificate Transparency (crt.sh), Wayback Machine, and DNS brute force.
  • πŸ§ͺ Wildcard-aware β€” detects wildcard DNS and filters out false positives.
  • ⚑ Active host validation β€” alive/dead with precise statuses (timeout, TLS error, refused), status code, server, and page title.
  • 🌐 Offline geolocation & ASN β€” country/city/org per IP, no network call.
  • 🧬 Technology fingerprinting β€” WordPress, Next.js, Laravel, Nginx, Cloudflare, and more.
  • πŸ•΅οΈ Shadow IT, exposed-panel & subdomain-takeover detection with fix recommendations.
  • πŸ“Š Transparent risk score β€” every point is explained.
  • 🌍 Bilingual β€” full Indonesian / English UI and reports.
  • πŸ“ Reports β€” self-contained HTML, JSON, and CSV; reopen saved scans.
  • 🎨 Modern GUI β€” dark/light themes, sortable/filterable table, helpful hints on every menu.
  • πŸ’» Single .exe β€” install nothing else.

πŸ–ΌοΈ Screenshots

Main window

Asset details & findings

HTML report

πŸ’» System Requirements

Minimum
OS Windows 10 or 11, 64-bit (Qt 6 dropped Windows 7/8)
RAM 2 GB
Disk ~150 MB free
Network Internet connection for online sources (the app itself needs no install)

Cross-platform note: the code also runs on Linux/macOS from source (python main.py), but official binaries are Windows-only for now.

⬇️ Installation

For users (recommended)

Two options β€” pick whichever suits you:

  1. Go to Releases.
  2. Installer β€” download FathomSetup.exe, run it, get a Start Menu shortcut and a proper uninstaller. (Recommended for most people.)
  3. Portable β€” download Fathom.exe and double-click to run, no installation needed. Good for USB sticks / no-admin environments.

First launch on Windows may show SmartScreen ("Windows protected your PC") because the .exe is not yet code-signed. Click More info β†’ Run anyway. You can verify integrity with the published *.sha256.txt checksum.

For developers (run from source)

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

Build the .exe yourself

# Windows, one click:
build.bat
# or manually:
pip install -r requirements-dev.txt
pyinstaller fathom.spec --noconfirm
# -> dist\Fathom.exe

Build the installer yourself

# Requires Inno Setup 6 (https://jrsoftware.org/isdl.php)
installer\build-installer.bat
# -> installer\Output\FathomSetup.exe

πŸ“– How to Use

  1. Type a domain (e.g. example.com) in the input box.
  2. Pick a mode:
    • Passive (safe) β€” public sources only; never touches the target server.
    • Full (active) β€” adds DNS brute force + HTTP/HTTPS probing; asks you to confirm you're authorized.
  3. Click Start Scan. Watch progress + live log; Cancel any time.
  4. Browse the subdomain table (sort/filter), click a row for details.
  5. Review Shadow IT / findings and recommendations.
  6. Export an HTML report, JSON, or CSV β€” each export is saved with a unique Fathom_[domain]_[timestamp] filename, so nothing gets overwritten. Saved scans can be reopened later.

What each menu does (beginner hints)

Every menu item also shows a hint in the status bar when you hover it.

Menu What it does
File β–Έ New Scan Clear results and start a fresh domain.
File β–Έ Open Result Reopen a previously saved .json scan.
File β–Έ Save Result Save the full scan to reopen later.
File β–Έ Export HTML report (share/print), JSON (automation), CSV (Excel).
Scan β–Έ Start / Cancel Run or stop a scan.
Scan β–Έ Mode Switch between Passive (safe) and Full (active).
View β–Έ Theme Toggle dark/light.
View β–Έ Language Indonesian / English (also top-right).
Help β–Έ Docs / Disclaimer / Updates / About Guide, terms, latest version, credits.

Command line (optional)

python -m fathom.cli example.com --mode passive --lang en --format all

βš™οΈ How it Works

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)

Free, no-key data sources: Certificate Transparency (crt.sh), Wayback Machine CDX, live DNS, RDAP, direct TLS handshakes, and an offline GeoIP database (DB-IP Lite / GeoLite2 β€” see fathom/data/geoip/README.md).

Honest note: without paid intelligence APIs, subdomain coverage is smaller than tools like Amass + Shodan. In exchange, Fathom is offline-friendly, dependency-free for the user, and ideal as a trusted internal tool.

πŸ—ΊοΈ Roadmap

  • v1.1 β€” Wayback link mining, HTML/JS crawling, AXFR, richer TLS analysis. βœ… (unique export filenames + installer)
  • v1.2 β€” reverse DNS, PDF reports, expanded takeover signatures.
  • v2.0 β€” multi-domain view, scan history & diffing, scheduling.

🀝 Contributing

Issues and PRs welcome. Add a new subdomain source by subclassing BaseSource and registering it in sources/registry.py β€” the engine needs no other change.

⚠️ Disclaimer

For authorized security testing and educational use only. Scan only domains you own or are permitted to test. See DISCLAIMER.md.

πŸ“„ License

MIT Β© Abil Khosim. GeoIP data is provided under its respective license (DB-IP: CC-BY / MaxMind: GeoLite2 EULA).



πŸ‘€ Developed by Abil Khosim

Cybersecurity Specialist

LinkedIn

Fathom is an original project by Abil Khosim, part of the NoxNull toolkit. Released under the MIT License β€” Β© 2026 Abil Khosim. Please keep this attribution when reusing or redistributing.

Know your depth before you're in over your head. 🌊

About

🌊 Fathom β€” Attack Surface Intelligence, Made Simple. Discover subdomains, uncover Shadow IT, fingerprint technologies, and prioritize your external attack surfaceβ€”no API keys required.

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages