A simple Python-based subdomain enumeration tool using DNS resolution and wordlist brute force techniques.
This tool is intended for educational purposes and authorized security testing only.
- DNS resolution (A records)
- Subdomain brute force using wordlists
- Multithreaded subdomain brute force
- Real-time CLI status display
- Clean and stable terminal output
- Lightweight and easy to extend
- Modular Python structure
enum-sub/
├── enum_sub/
│ ├── __init__.py
│ ├── main.py
│ └── dns_enum.py
├── wordlists/
│ └── subs.txt
├── requirements.txt
└── README.md- Python 3.8+
- Linux (tested on Pop!_OS)
- dnspython
Install dependencies:
pip install -r requirements.txtgit clone https://github.com/staiton/enum-sub.git
cd enum-sub
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txtBasic usage:
python3 -m enum_sub.main example.com -w wordlists/subs.txtUse with more threads:
python3 -m enum_sub.main example.com -w wordlists/subs.txt -t 50Saving the results to a file:
python3 -m enum_sub.main example.com -w wordlists/subs.txt -o results.txt╔════════════════════════════════════════════╗
║ ENUM-SUB TOOL ║
║ Subdomain Brute Force Scanner ║
╠════════════════════════════════════════════╣
║ Author : staiton ║
║ Mode : Multithreaded DNS Enumeration ║
║ Status : Ready ║
╠════════════════════════════════════════════╣
║ Use only on authorized targets ║
╚════════════════════════════════════════════╝
[*] Checking for wildcard DNS...
[+] Target : example.com
[+] Wordlist : 5000 entries
[+] Threads : 20
--------------------------------------------------
[FOUND] www.example.com -> 93.184.216.34
[FOUND] mail.example.com -> 93.184.216.35
--------------------------------------------------
[+] Scan complete. 2 subdomain(s) found.
SUBDOMAIN IP
──────────────────────────────────────────── ───────────────
mail.example.com 93.184.216.35
www.example.com 93.184.216.34
- Loads a wordlist of common subdomain names
- Appends each word to the target domain
- Performs DNS A record lookup
- Uses multithreading for fast DNS resolution
- Displays live scanning status in terminal
- Ensures clean output during concurrent execution
This tool is for:
Educational purposes Authorized penetration testing Security research in controlled environments
Do NOT use against domains you do not own or have permission to test.
The author is not responsible for misuse.