LinuxCommandLibrary

amass

Discover attack surface by subdomain enumeration

TLDR

Execute an Amass subcommand

$ amass [intel|enum] [options]
copy

Display help
$ amass -help
copy

Display help on an Amass subcommand
$ amass [intel|enum] -help
copy

Display version
$ amass -version
copy

SYNOPSIS

amass subcommand [options] [domains]

PARAMETERS

-active
    Perform active recon including queries and crawling

-brute
    Enable dictionary-based brute force subdomain discovery

-d, --domains
    Target domain(s); repeatable for multiple

-passive
    Use only passive data sources (stealthy)

-o, --output
    Output file for discovered names

-w, --wordlist
    Path to wordlist for brute forcing

-config
    Path to config file (YAML/JSON)

-dir
    Output directory for database and files

-json
    Output in JSON format

-v
    Enable verbose logging

-debug
    Print debug information

-max
    Maximum DNS queries per second

-exclude
    File with IPs/subdomains to ignore

-rf, --resolvers-file
    File with list of DNS resolvers

-timeout
    Max time per enumeration in minutes

-ip
    Include IP addresses in output

-recursion
    Perform recursive enumeration

-list
    Input file with list of domains

-org
    Organization name for tracking

-version
    Print version information

DESCRIPTION

Amass is an open-source reconnaissance and network mapping tool developed by OWASP for discovering external assets like subdomains, IP addresses, ASNs, and infrastructure details. It combines passive techniques (certificate transparency logs, web archives, DNS data sources) with active methods (brute-force, DNS queries, crawling) to provide comprehensive attack surface discovery.

Key strengths include wordlist-based brute forcing, permutation generation, multiple data sources (Rapid7, Shodan, AlienVault OTX), and a local database for deduplication and querying. Output supports formats like text, JSON, CSV for integration with tools like Maltego or custom scripts. Subcommands handle intel gathering, enumeration, visualization, and tracking.

Widely used in penetration testing, bug bounties, and red teaming, Amass uncovers hidden assets stealthily or aggressively. It respects rate limits and supports config files for customization. Installation via Go or Docker makes it accessible for Linux environments.

CAVEATS

Not a standard Linux package; install via Go ("go install") or Docker. Resource-intensive with active mode; respect rate limits and legal boundaries. Requires root for some features like raw sockets.

INSTALLATION

Go: go install -v github.com/owasp-amass/amass/v4/...@master
Docker: docker run -v "$(pwd):/data" owasp/www-project-amass amass enum ...

COMMON EXAMPLE

amass enum -passive -d example.com -o results.txt
Passive subdomain enum for example.com, save to file.

SUBCOMMANDS

enum: Enumerate subdomains.
intel: Gather passive intel.
viz: Visualize graph output.
db: Manage local database.
track: Monitor domains over time.

HISTORY

Created by Jeff Foley in 2016 as a personal tool. Joined OWASP in 2018 as official project. v3 (2020) introduced subcommands and DB; v4 (2023+) adds GraphQL API, better performance, new sources like FOFA and ZoomEye.

SEE ALSO

dig(1), host(1), dnsrecon, nmap(1), masscan(1)

Copied to clipboard