SubMonsif is a powerful and advanced subdomain enumeration tool written in Go. It supports active and passive subdomain discovery from multiple real sources and can use bruteforce with customizable wordlists. Ideal for bug bounty, penetration testing, and recon workflows.
- Fast, multi-threaded subdomain enumeration
- Uses real public APIs: crt.sh, HackerTarget, VirusTotal, OTX, Shodan
- Supports bruteforce discovery
- Removes duplicate results automatically
- Custom wordlist support
- Works on Linux and Windows
- Go 1.18+
- Git (for cloning repo)
git clone https://github.com/monsifhmouri/SubMonsif.git
cd SubMonsif
go build -o SubMonsif main.go
chmod +x SubMonsifgit clone https://github.com/monsifhmouri/SubMonsif.git
cd SubMonsif
go build -o SubMonsif.exe main.go./SubMonsif -d example.com -t 100 -brute -v
./SubMonsif -dl domains.txt -t 200 -o results.txtSubMonsif.exe -d example.com -t 100 -brute -v
SubMonsif.exe -dl domains.txt -t 200 -o results.txt| Flag | Description |
|---|---|
-d |
Target domain (example.com) |
-dl |
File with list of domains |
-t |
Number of threads (default 100) |
-brute |
Enable bruteforce mode |
-v |
Verbose mode |
-o |
Output file for results |
Some sources require free registration to use their APIs.
You must put your API keys directly in the correct functions in providers/passive.go:
| Source | Register & Get Key | Where to put the key in code |
|---|---|---|
| VirusTotal | https://www.virustotal.com/gui/join-us | Replace value in getFromVirusTotal |
| OTX | https://otx.alienvault.com/api/ | Replace value in getFromOTX |
| Shodan | https://account.shodan.io/register | Replace value in getFromShodan |
Edit providers/passive.go:
Replace the placeholder apiKey := "............." with your actual key in each relevant function:
// Example:
apiKey := "YOUR_VIRUSTOTAL_API_KEY"
// and the same for OTX and Shodan[Brute] Found: www.target.com
[+] Found: api.target.com
...
[+] Found 5523 subdomains
- Author: MrMonsif
- Inspired by subfinder and other recon tools
Never commit or push your API keys to any public repository! If you plan to share or publish your code on GitHub, remove or replace all API keys before pushing.
MIT License