drtychai / penum

Parallelized enumeration tool for red team engagements and bug bounty programs.
18 stars 11 forks source link
bugbounty dirsearch gobuster http-enumeration nmap recon-ng redteam

Parallel Enumerator

This project is still in progress.

The current master branch version performes the full subdomain enumeration, with JSON output to ./api/logs/subdomains-<tld>.json

This is an active enumerator. We take no responsibility for how or where this is used.

Overview

Give a host or list of hosts, the following actions are performed in this order:

  1. Concurrent subdomain discovery via:
    • subfinder
    • sublist3r
    • aiodnsbrute
    • gobuster
    • recon-ng
    • amass
  2. Subdomains resolved via massDNS (saved in database)
  3. [Not implemented] DNS flyover to discover, screenshot, and output list of HTTP servers via aquatone
  4. [Not implemented] Scan all valid HTTP servers via nikto

Installation

penum requires docker and docker-compose be installed on the host.

Usage

From the root of this repository, start all services:

docker-compose up -d

To stop all service and preserve the database:

docker-compose down

To stop all service and destroy the database:

docker-compose down -v

Backend functionality is queried through the Golang HTTP server at: http://localhost:8080

Specific Functionality

Enumerate against single FQDN/IP:

./penum -d example.com

This is equivalent to: curl -X POST -d "<target_host1>" http://<hostname>[:<port>]

Enumerate against newline-delineated list of FQDNs/IPs:

./penum -f /path/to/file

This is equivalent to: curl -F 'uploadedfile=@/path/to/hosts.txt' http://<hostname>[:<port>]/upload

View execution log:

tail -f api/logs/flask-api.log

Custom DB query:

psql -U postgres --password postgres -d penum -c "<CUSTOM_QUERY>"

Tools used

Subdomain Enumeration

HTTP Enumeration

Network Enumeration

ToDo

Network

HTTP

Misc