Amass : In-Depth DNS Enumeration and Network Mapping

The OWASP Amass tool suite obtains subdomain names by scraping data sources, recursive brute forcing, crawling web archives, permuting/altering names and reverse DNS sweeping.

Additionally, it uses the IP addresses obtained during resolution to discover associated netblocks and ASNs. All the information is then used to build maps of the target networks.

Information Gathering Techniques Used:

  • DNS: Basic enumeration, Brute forcing (upon request), Reverse DNS sweeping, Subdomain name alterations/permutations, Zone transfers (upon request)
  • Scraping: Ask, Baidu, Bing, CommonCrawl, DNSDumpster, DNSTable, Dogpile, Exalead, FindSubdomains, Google, IPv4Info, Netcraft, PTRArchive, Riddler, SiteDossier, Yahoo
  • Certificates: Active pulls (upon request), Censys, CertDB, CertSpotter, Crtsh, Entrust
  • APIs: AlienVault, BinaryEdge, BufferOver, CIRCL, DNSDB, HackerTarget, PassiveTotal, Robtex, SecurityTrails, Shodan, ThreatCrowd, Twitter, Umbrella, URLScan, VirusTotal
  • Web Archives: ArchiveIt, ArchiveToday, Arquivo, LoCArchive, OpenUKArchive, UKGovArchive, Wayback

Also Read – SSHD Poison : A Tool To Get Creds Of Pam Based SSHD Authentication

Installation

Using Docker

sudo docker build -t amass https://github.com/OWASP/Amass.git

  • Run the Docker image:

sudo docker run amass –passive -d example.com

The wordlists maintained in the git repository are available in /wordlists/ within the docker container. For example, to use all.txt:

sudo docker run amass -w /wordlists/all.txt -d example.com

From Source

If you prefer to build your own binary from the latest release of the source code, make sure you have a correctly configured Go >= 1.10 environment. More information about how to achieve this can be found on the golang website.Then, take the following steps:

  • Download OWASP :

go get -u github.com/OWASP/Amass/…

  • If you wish to rebuild the binaries from the source code:

cd $GOPATH/src/github.com/OWASP/Amass
go install ./…

At this point, the binaries should be in $GOPATH/bin.

  • Several wordlists can be found in the following directory:

ls $GOPATH/src/github.com/OWASP/Amass/wordlists/

Packages Maintained by the Amass Project

Homebrew (macOS)

For Homebrew on Mac, the following two commands will install it into your macOS environment:

brew tap caffix/amass
brew install amass

Snapcraft

If your operating environment supports Snap, you can click here to install, or perform the following from the command-line:

sudo snap install amass

On Kali, follow these steps to install Snap and it + use AppArmor (for autoload):

sudo apt install snapd
sudo systemctl start snapd
sudo systemctl enable snapd
sudo systemctl start apparmor
sudo systemctl enable apparmor

Add the Snap bin directory to your PATH:

export PATH=$PATH:/snap/bin

Periodically, execute the following command to update all your snap packages:

sudo snap refresh

Packages Maintained by a Third-party

FreeBSD

cd /usr/ports/dns/amass/ && make install clean
pkg install amass

Nix or NixOS

nix-env -f ‘<nixpkgs>’ -iA amass

Pentoo Linux

sudo emerge net-analyzer/amass

Periodically, execute the following command to update all packages:

sudo pentoo-updater

R K

Recent Posts

groupdel Command in Linux: Remove a Group and Audit Files

The groupdel command in Linux removes a group from the system. It deletes the group's entry from /etc/group and /etc/gshadow,…

10 hours ago

wc Command in Linux: Count Lines, Words, Characters, and Bytes

The wc command in Linux counts lines, words, characters, and bytes in files or standard input. It…

10 hours ago

top Command in Linux: Monitor Processes and Resource Usage

The top command in Linux provides a real-time view of running processes and system resource usage. From…

11 hours ago

usermod Command in Linux: Modify User Accounts and Groups

The usermod command in Linux modifies existing user account attributes. You can use it to manage group…

11 hours ago

sort Command in Linux: Sort Text, Numbers, Columns, and More

The sort command in Linux reads lines from files or standard input and writes them to standard…

1 day ago

wall Command in Linux: Broadcast Messages to Logged-In Users

The wall command in Linux sends a message to the terminals of all currently logged-in users. The…

1 day ago