OWASP Amass Project
OWASP Amass Project
In-depth DNS Enumeration and Network Mapping written in Go!
The OWASP Amass project was originally created when the project lead was showing organizations what they look like on the Internet, and he noticed that the tools available were returning incomplete results relative to what could be discovered manually. With the identification of this gap in capabilities for security experts, the Amass project was born.
The OWASP Amass project is focused on DNS enumeration and network infrastructure mapping techniques. These techniques include: obtaining subdomain names by scraping web pages, accessing web APIs, recursive brute forcing, crawling web archives, permuting/altering names, reverse DNS sweeping, and querying ASNs and netblocks associated with IP addresses. The information collected during an enumeration is used to build a network map of an organization's presence on the Internet.
Amass reaches out to over 30 passive data sources to learn about the DNS namespace of a target domain. By default, Amass validates all the names by performing DNS queries across a pool of DNS resolvers, which spreads out the activity generated by the enumeration. For all IP addresses collected during this process, Amass queries for associated netblocks and ASNs. As additional data sources become available to provide visibility of the Internet, implementations can quickly be developed within Amass due to the simple interfaces worked into the design.
When the enumeration is complete, an Amass suite tool is capable of converting the results into several different formats accepted by popular network graph visualization engines. This aids analysts and infosec experts attempting to quickly identify network layout and external networks being utilized by the target organization.
If users wish to maintain the information collected by the Amass software, data handlers interface with storage systems, such as Neo4j. Additional handlers can easily be implemented in order to support other databases or even custom solutions.
The project has software deliverables that are implemented in the Go programming language. These deliverables include command-line tools and a Go package that can be imported into other software projects. The software is portable across popular operating systems such as Windows, Linux, MacOS, FreeBSD, etc. The command-line tools can be obtained via several mechanisms described on the installation page, such as through a Go development environment, the release binaries, the Snap package manager for Linux systems, and various package managers maintained by other projects.
This program is free software: you can redistribute it and/or modify it under the terms of the Apache 2.0 license. OWASP Amass and any contributions are Copyright © by Jeff Foley 2017.
News and Events
How can I participate in the project?
All you have to do is make the Project Leader aware of your available time to contribute to the project. It is also important to let the leader know how you would like to contribute and pitch in to help the project meet its goals and milestones. There are many different ways you can contribute to an OWASP Project, but communication with the leader is key.
If I am not a programmer can I participate in the project?
Yes, you can certainly participate in the project if you are not a programmer. The project needs different skills and expertise at different times during its development. Currently, we are looking for researchers, programmers, writers, and graphic designers. See the Road Map and Getting Involved tab for more details.
The first contributor to the project was:
- Jeff Foley
Additional contributors that have joined the project include:
- Mikail Tunç
- Wael Nasreddine
- Randall Marsden
- Anthony Rhodes
- Adam Zinger
- Philip Drakopoulos
As of July, 2018, the highest priorities for the next 12 months are:
- Feature enhancement: Allow Amass to connect to proxies
- Feature enhancement: Inform users of what Amass will do once an enumeration is executed
- Feature enhancement: Add additional constraints to the enumeration process
- Continue to update data sources that provide DNS names
- Implement additional data handlers that save information gathered into various data stores
- Implement documentation regarding Amass architecture and the enumeration process
- Develop slides and videos to serve as demonstration material
There are many ways you can support the OWASP Amass project. Below are some of the roles that definitely need additional support:
We could implement some of the later items on the roadmap sooner if some Go network programmers wanted to join the project.
Amass leverages concurrency and produces quite a bit of network traffic, which can always use additional testing. Anyone interested in stressing the software and helping to improve its quality is welcome.
The project could currently use technical writers to join the team in order to capture how the software works.
| PROJECT INFO
What does this OWASP project offer you?
| RELEASE(S) INFO|
What releases are available for this project?