Sign inSign up

enrikenur/amass-api

By enrikenur

Updated over 1 year ago

Amass API is a Flask-based web application for automated domain enumeration using OWASP Amass.

Image
Networking
Security
Monitoring & observability
0

338

enrikenur/amass-api repository overview

Amass API

Amass API is a Flask-based web application designed to interact with OWASP Amass, enabling domain enumeration via a simple REST API. For example, this API can be used by cybersecurity professionals to automate the discovery of subdomains during penetration testing, saving time and effort compared to manual methods. It provides options for recursive enumeration and brute-forcing subdomains, with results saved in a structured format.

Features

  • Perform domain enumeration using Amass, providing an automated and efficient way to discover subdomains without manual intervention.
  • Support for recursive enumeration with a configurable minimum for recursion.
  • Enable brute-forcing of subdomains.
  • API endpoint to fetch results in JSON format.

Prerequisites

  • Docker
  • Docker Compose

Installation

Using Docker Compose

You can use the prebuilt Docker image from Docker Hub to quickly deploy the API:

docker pull enrikenur/amass-api

Follow these steps to set up the application:

  1. Clone the repository:
    git clone https://github.com/w95/amass-api && 
    cd amass-api
    
  2. Build and start the application using Docker Compose:
    docker-compose up --build
    
  3. Once running, access the API at http://localhost:5000.

API Endpoints

/api/amass/enum (POST)

Trigger a domain enumeration.

Request Body (JSON)
ParameterTypeRequiredDescription
domainStringYesThe target domain for enumeration.
bruteBooleanNoEnable brute-forcing of subdomains. Default: false.
min_for_recursiveIntegerNoMinimum number of findings to trigger recursion. Default: 2.
Example Request
{
  "domain": "example.com",
  "brute": true,
  "min_for_recursive": 2
}
Response
  • Success:
    {
      "status": "success",
      "message": "Amass enumeration completed.",
      "output": [
        "subdomain1.example.com",
        "subdomain2.example.com"
      ]
    }
    
  • Error:
    {
      "status": "error",
      "message": "Domain is required"
    }
    

License

This project is licensed under the MIT License. See LICENSE for more details.

Acknowledgments

Contributing

Contributions are welcome! Please fork the repository and submit a pull request with your changes.

Tag summary

Content type

Image

Digest

sha256:b484313ff

Size

64.9 MB

Last updated

over 1 year ago

docker pull enrikenur/amass-api