Amass API - REST API Solution for Domain Reconnaissance

For a long time, I searched for a solution like this and finally decided to create my own. This project is a Flask-based web application integrated with OWASP Amass, designed to automate domain reconnaissance for security professionals. This innovative solution significantly simplifies subdomain discovery during penetration testing, saving substantial time and effort compared to manual methods. What is AMASS? OWASP Amass is a powerful tool for network infrastructure reconnaissance. It collects data from over 55 external sources to identify subdomains, IP addresses, and other network information of target systems. Amass combines passive and active reconnaissance techniques to provide security professionals with extensive and accurate data. By leveraging DNS data collection, SSL certificate analysis, and other techniques, it offers a detailed view of the target system's network landscape. This tool was created to solve a longstanding problem and aims to simplify the daily workflows of cybersecurity professionals. Key Features: Fully automated domain reconnaissance via Amass Recursive search capability with configurable minimum recursion depth Subdomain discovery using brute-force methods API endpoint to retrieve results in JSON format Installation Requirements: Docker and Docker Compose must be installed on the system. The application can be run using a pre-built image from Docker Hub: docker pull enrikenur/amass-api Installation Steps: Clone the repository: git clone https://github.com/w95/amass-api cd amass-api Build and start the application using Docker Compose: docker-compose up --build The application will be accessible at http://localhost:5000. API Usage: To initiate domain reconnaissance, use the /api/amass/enum endpoint with the POST method. Request parameters include the target domain (domain), brute-force mode (brute), and the minimum number of findings for recursion (min_for_recursive). Sample Request: { "domain": "example.com", "brute": true, "min_for_recursive": 2 } Developers interested in contributing can fork the repository and propose changes. All contributions are welcomed.

Jan 15, 2025 - 00:28
Amass API - REST API Solution for Domain Reconnaissance

For a long time, I searched for a solution like this and finally decided to create my own. This project is a Flask-based web application integrated with OWASP Amass, designed to automate domain reconnaissance for security professionals. This innovative solution significantly simplifies subdomain discovery during penetration testing, saving substantial time and effort compared to manual methods.

What is AMASS?

OWASP Amass is a powerful tool for network infrastructure reconnaissance. It collects data from over 55 external sources to identify subdomains, IP addresses, and other network information of target systems. Amass combines passive and active reconnaissance techniques to provide security professionals with extensive and accurate data. By leveraging DNS data collection, SSL certificate analysis, and other techniques, it offers a detailed view of the target system's network landscape.

This tool was created to solve a longstanding problem and aims to simplify the daily workflows of cybersecurity professionals.

Key Features:

  • Fully automated domain reconnaissance via Amass
  • Recursive search capability with configurable minimum recursion depth
  • Subdomain discovery using brute-force methods
  • API endpoint to retrieve results in JSON format

Installation Requirements:

Docker and Docker Compose must be installed on the system. The application can be run using a pre-built image from Docker Hub:

docker pull enrikenur/amass-api

Installation Steps:

  1. Clone the repository:
git clone https://github.com/w95/amass-api
cd amass-api
  1. Build and start the application using Docker Compose:
docker-compose up --build
  1. The application will be accessible at http://localhost:5000.

API Usage:

To initiate domain reconnaissance, use the /api/amass/enum endpoint with the POST method. Request parameters include the target domain (domain), brute-force mode (brute), and the minimum number of findings for recursion (min_for_recursive).

Sample Request:

{
  "domain": "example.com",
  "brute": true,
  "min_for_recursive": 2
}

Developers interested in contributing can fork the repository and propose changes. All contributions are welcomed.