DNSEnum
Purpose
Use this skill for classic DNS enumeration when the engagement needs an additional DNS discovery path alongside other recon tools.
Phase Fit
- Primary: Discovery and Reconnaissance
- Secondary: Threat Modeling and Test Planning, Retest and Closure
Use When
- Need to expand the DNS-backed inventory of an approved domain.
- Need a second DNS discovery path to compare results.
- Need repeatable DNS retesting after exposure changes.
Avoid When
- Domain scope is unclear.
- Broad DNS brute forcing would exceed the approved depth.
Inputs
- Approved domain
- Wordlist and recursion limits
- Evidence and exclusion requirements
Procedure
- Start with the smallest enumeration set that answers the question.
- Correlate results with existing DNS and inventory data.
- Label unverified names clearly.
- Hand confirmed web candidates to
httpxorwhatweb. - Preserve the exact enumeration scope for retest.
Command Syntax
Replace sample domains with approved in-scope targets.
# Full enumeration (NS, MX, zone transfer attempt)
dnsenum contoso.com
# Full enumeration flag
dnsenum --enum contoso.com
# Subdomain brute-force with custom wordlist
dnsenum --enum contoso.com -f /usr/share/seclists/Discovery/DNS/subdomains-top1million-5000.txt
# Use specific DNS server
dnsenum --dnsserver 10.10.10.10 contoso.com
# Save output to XML
dnsenum --enum contoso.com -o contoso-dnsenum.xml
Evidence to Capture
- DNS names and records that materially expand exposure
- Exact enumeration mode and domain used
- Gaps between expected and observed DNS surface
Safety Boundaries
- Keep enumeration bounded to approved domains.
- Do not widen scope from adjacent or similar-looking names without approval.