root@thehacksparrow:~/writeups$ SYSTEM ONLINE
root@sparrow:~/writeups$ cat reaper.md
// tools

REAPER

22 Jul 2026 · 3 min read

What it is — REAPER automates the initial reconnaissance and enumeration phase — everything you do before gaining access to a system. With a single command it maps ports, fingerprints web technologies, enumerates directories, hunts subdomains (active and passive), analyses SSL certificates via crt.sh, and finishes with a clear visual summary and recommended next steps. It's the first piece of my own toolkit — built to chain into LAZARUS as soon as it detects Active Directory.

TypeCLI · Python 3.10+
LicenseMIT
PlatformKali / Parrot
UseAuthorised environments only (HTB, THM, VulnHub, bug bounty in-scope)
Repogithub.com/DonTrebor1/REAPER

Requirements

python3 --version   # 3.10+, no external Python dependencies

# External tools (Kali/Parrot)
sudo apt install nmap netexec whatweb gobuster ffuf sshpass amass

# Subfinder (optional but recommended)
go install github.com/projectdiscovery/subfinder/v2/cmd/subfinder@latest

sudo apt install seclists dirb

How to use it

Full recon, with a known domain:

python3 reaper.py -t 10.10.11.x -d target.htb --auto

IP only, no domain:

python3 reaper.py -t 10.10.11.x --auto

Preview the attack plan without running anything:

python3 reaper.py -t 10.10.11.x -d target.htb --plan

Resume a previous session (handy if the connection drops mid-scan):

python3 reaper.py --resume reaper_output/reaper_state.json

Phases

#PhaseWhat it doesOPSEC
1NmapFull port scan + service detectionMEDIUM
2FTPTests anonymous access on port 21LOW
3SSHTries 11 default credential combinationsMEDIUM
4HTTP/HTTPSwhatweb (fingerprinting) + gobuster (directories)MEDIUM
5SMBUnauthenticated shares + RID brute user enumerationLOW
6DNSDNS records + AXFR + subfinder + amass + ffuf VHostsLOW
7crt.shSubdomains from public SSL certificates (no brute force)LOW
8SummaryVisual map of findings + recommended next steps—

The OPSEC column indicates how much noise each phase generates against the target — useful for deciding which phases to skip in a real engagement where stealth matters, versus a CTF where it doesn't.

Output

reaper_output/
├── reaper_state.json       # Full state (resume with --resume)
├── nmap_ports.txt          # Quick scan of every port
├── nmap_detail.txt         # Detailed service scan
├── ftp.txt / ssh.txt       # FTP/SSH results
├── whatweb_<port>.txt      # Detected web technologies
├── gobuster_<port>.txt     # Directories found
├── smb_shares.txt / smb_users.txt
├── dns.txt / dns_axfr.txt
├── subdomains.txt / amass.txt / vhosts.txt
└── crtsh.txt               # SSL certificate domains

Flow with the rest of the toolkit

REAPER  ->  full recon, target map
    |
  If AD is detected (port 445 + 88 + 389)
    |
LAZARUS ->  full AD attack chain

⚠️ Legal notice: exclusively for controlled, authorised practice environments (HackTheBox, TryHackMe, VulnHub, your own labs, bug bounty in scope). Using it against systems without explicit authorisation is illegal.

Repository

github.com/DonTrebor1/REAPER →