Amass

Outil complet de cartographie de surface d'attaque de l'OWASP. Réalise de l'énumération DNS, de la découverte de sous-domaines via des APIs, du scraping et l'analyse des logs de certificate transparency. OWASP's comprehensive attack surface mapping tool. Performs DNS enumeration, subdomain discovery via APIs, scraping, and certificate transparency logs.

↗ https://github.com/owasp-amass/amass

Overview

Amass is the most comprehensive subdomain enumeration tool available. It combines passive DNS enumeration (certificate transparency, search engines, API integrations) with active brute-forcing and graph-based relationship mapping. Essential for thorough external recon.

Subcommands

  • enum — Subdomain enumeration (main use case)
  • intel — Collect intelligence about target organizations
  • viz — Visualize enumeration results
  • track — Track changes over time
  • db — Interact with the graph database

Common Usage

Passive enumeration only (no DNS bruteforce, no active probing)

amass enum -passive -d target.com

Active enumeration (includes brute-force)

amass enum -active -d target.com

Full enumeration with wordlist brute-force

amass enum -d target.com -brute -w /usr/share/seclists/Discovery/DNS/subdomains-top1million-5000.txt

Multiple domains

amass enum -d target.com,target.org,target.net

Output to file

amass enum -d target.com -o subdomains.txt

JSON output

amass enum -d target.com -json output.json

Verbose output showing sources

amass enum -d target.com -v
# Enumerate an IP range for related domains (intel mode)
amass intel -ip 192.168.1.0/24
amass intel -asn 12345
amass intel -org "Target Corp"

Use API keys from config file

amass enum -d target.com -config ~/.config/amass/config.ini

API Configuration

Amass integrates with many passive sources. Add API keys to ~/.config/amass/config.ini:

[Shodan]
apikey = YOUR_KEY

[VirusTotal]
apikey = YOUR_KEY

[SecurityTrails]
apikey = YOUR_KEY

[Censys]
apikey = YOUR_ID
secret = YOUR_SECRET

Tips

  • Passive-only mode respects stealth requirements and still yields excellent coverage
  • amass db -show -d target.com dumps results from a previous run stored in the graph DB
  • Combine with httpx or httprobe to filter discovered subdomains to live hosts
  • amass track between engagements can reveal newly exposed assets
Help / Man page
amass enum [flags]

-d domain         Target domain (repeatable)
-df file          File containing target domains
-o file           Output text file
-json file        JSON output file
-passive          Only passive enumeration (no DNS requests to target)
-active           Active enumeration (zone transfers, cert grabbing)
-brute            Brute-force subdomains
-w wordlist       Wordlist for brute-force
-r resolvers      DNS resolvers file
-rqps N           DNS queries per second per resolver
-v                Verbose output (shows sources)
-norecursive      Disable recursive brute-force
-config file      Path to config file
-dir directory    Local directory for output and cache

amass intel [flags]
-ip CIDR          IP address or CIDR
-asn ASN          Autonomous System Number
-org string       Organization name to search

Vue d’ensemble

Amass est l’outil d’énumération de sous-domaines le plus complet disponible. Il combine l’énumération DNS passive (certificate transparency, moteurs de recherche, intégrations d’APIs) avec du brute-force actif et une cartographie des relations basée sur un graphe. Indispensable pour une reconnaissance externe approfondie.

Sous-commandes

  • enum : Énumération de sous-domaines (cas d’usage principal)
  • intel : Collecter du renseignement sur les organisations cibles
  • viz : Visualiser les résultats d’énumération
  • track : Suivre les changements dans le temps
  • db : Interagir avec la base de données graphe

Utilisation courante

# Énumération passive uniquement (pas de brute-force DNS, pas de sondage actif)
amass enum -passive -d target.com

# Énumération active (inclut le brute-force)
amass enum -active -d target.com

# Énumération complète avec brute-force par wordlist
amass enum -d target.com -brute -w /usr/share/seclists/Discovery/DNS/subdomains-top1million-5000.txt

# Plusieurs domaines
amass enum -d target.com,target.org,target.net

# Sortie vers un fichier
amass enum -d target.com -o subdomains.txt

# Sortie JSON
amass enum -d target.com -json output.json

# Sortie verbeuse affichant les sources
amass enum -d target.com -v

# Énumérer une plage d'IP pour trouver les domaines liés (mode intel)
amass intel -ip 192.168.1.0/24
amass intel -asn 12345
amass intel -org "Target Corp"

# Utiliser les clés d'API depuis le fichier de config
amass enum -d target.com -config ~/.config/amass/config.ini

Configuration des APIs

Amass s’intègre à de nombreuses sources passives. Ajoutez vos clés d’API dans ~/.config/amass/config.ini :

[Shodan]
apikey = YOUR_KEY

[VirusTotal]
apikey = YOUR_KEY

[SecurityTrails]
apikey = YOUR_KEY

[Censys]
apikey = YOUR_ID
secret = YOUR_SECRET

Conseils

  • Le mode passif uniquement respecte les exigences de discrétion tout en offrant une excellente couverture
  • amass db -show -d target.com extrait les résultats d’une exécution précédente stockés dans la base graphe
  • Combinez avec httpx ou httprobe pour filtrer les sous-domaines découverts et ne garder que les hôtes actifs
  • amass track entre deux missions peut révéler des actifs nouvellement exposés
Aide / Page de manuel
amass enum [flags]

-d domain         Target domain (repeatable)
-df file          File containing target domains
-o file           Output text file
-json file        JSON output file
-passive          Only passive enumeration (no DNS requests to target)
-active           Active enumeration (zone transfers, cert grabbing)
-brute            Brute-force subdomains
-w wordlist       Wordlist for brute-force
-r resolvers      DNS resolvers file
-rqps N           DNS queries per second per resolver
-v                Verbose output (shows sources)
-norecursive      Disable recursive brute-force
-config file      Path to config file
-dir directory    Local directory for output and cache

amass intel [flags]
-ip CIDR          IP address or CIDR
-asn ASN          Autonomous System Number
-org string       Organization name to search