| name | amass |
| description | Auth/lab ref: OWASP testing surface mapping tool for subdomain enumeration, DNS brute-forcing, and infrastructure discovery using 50+ data sources. |
| license | Apache-2.0 |
| compatibility | Go binary; Linux/macOS/Windows. |
| metadata | {"author":"AeonDave","version":"1.0"} |
Amass
OWASP attack surface mapper — thorough subdomain enumeration via 50+ passive + active sources.
Quick Start
amass enum -passive -d target.com
amass enum -active -d target.com -brute
amass enum -d target.com -o subdomains.txt
amass enum -d target.com -brute -o subs.txt -oA results/amass
Subcommands
| Subcommand | Purpose |
|---|
enum | Subdomain enumeration (main use) |
intel | Gather intel on an org (ASN, CIDRs, root domains) |
viz | Visualize attack surface (Maltego, Gephi, GraphViz) |
track | Track changes in attack surface over time |
db | Interact with local Amass database |
Core Flags (enum)
| Flag | Purpose |
|---|
-d <domain> | Target domain (repeat for multiple) |
-passive | Passive only (no direct DNS queries to target) |
-active | Active (DNS queries, zone transfer, cert grabbing) |
-brute | DNS brute-force with wordlist |
-w <wordlist> | Custom brute-force wordlist |
-r <resolvers> | Custom DNS resolvers file |
-o <file> | Plain text output |
-oA <prefix> | All output formats (json, txt, etc.) |
-json <file> | JSON output |
-ip | Include IP addresses in output |
-src | Show data source for each result |
-timeout <n> | Minutes before timeout (default: 30) |
-max-depth <n> | Max DNS brute-force recursion depth |
-config <file> | Config file path |
-dir <path> | Output directory for all files |
-dL <file> | File with list of domains |
Common Workflows
Passive recon (silent, no DNS to target):
amass enum -passive -d target.com -src -o passive_subs.txt
Active + brute force:
amass enum -active -d target.com -brute -o active_subs.txt
Multiple domains from file:
amass enum -passive -dL domains.txt -o all_subs.txt
D3.js visualization of attack surface:
amass viz -d3 -dir amass_out/ -d target.com
With IP resolution:
amass enum -d target.com -ip -o subs_with_ips.txt
Organization intelligence (find all CIDRs + domains):
amass intel -org "Target Corp"
amass intel -asn 12345 -ip
amass intel -cidr 203.0.113.0/24
Config File (API Keys)
[data_sources]
[data_sources.CertSpotter]
[data_sources.CertSpotter.Credentials]
apikey = YOUR_KEY
[data_sources.Shodan]
[data_sources.Shodan.Credentials]
apikey = YOUR_KEY
[data_sources.SecurityTrails]
[data_sources.SecurityTrails.Credentials]
apikey = YOUR_KEY
[data_sources.VirusTotal]
[data_sources.VirusTotal.Credentials]
apikey = YOUR_KEY
[data_sources.Hunter]
[data_sources.Hunter.Credentials]
apikey = YOUR_KEY
Post-Processing
sort -u subdomains.txt > unique_subs.txt
cat unique_subs.txt | dnsx -silent -a -resp > live_hosts.txt
cat unique_subs.txt | httpx -silent -status-code -title -tech-detect > web_services.txt
nmap -iL unique_subs.txt -sV -p 80,443,8080,8443 --open -T4
Resources
| File | When to load |
|---|
references/config.md | Full config file options, API source list, wordlist recommendations, pipeline with httpx/dnsx |