Tool Dependencies · ExploitCraft/ReconNinja Wiki · GitHub
Skip to content

Tool Dependencies

ExploitCraft edited this page May 5, 2026 · 1 revision

Tool Dependencies

ReconNinja wraps many external binaries. Python-only fallbacks exist for the most critical functions, but installing the full toolset gives you the best results.


Check What's Installed

reconninja --check-tools

Prints a table showing which tools are available and which are missing.


Tool List

Port Scanning

Tool Required? Install (Arch) Purpose
nmap Recommended sudo pacman -S nmap Deep service/version/script analysis
rustscan Optional paru -S rustscan Ultra-fast port discovery
masscan Optional paru -S masscan SYN packet sweep (requires root)

Subdomain Enumeration

Tool Required? Install Purpose
subfinder Recommended go install -v github.com/projectdiscovery/subfinder/v2/cmd/subfinder@latest Fast passive subdomain enum
amass Optional paru -S amass Deep passive + active subdomain enum
assetfinder Optional go install github.com/tomnomnom/assetfinder@latest Quick passive subdomain search

Web Discovery

Tool Required? Install Purpose
httpx Recommended go install -v github.com/projectdiscovery/httpx/cmd/httpx@latest Live web detection + fingerprint
feroxbuster Recommended paru -S feroxbuster Directory brute-force
ffuf Optional go install github.com/ffuf/ffuf/v2@latest Directory brute-force fallback
dirsearch Optional pip install dirsearch Directory brute-force fallback
whatweb Optional sudo pacman -S whatweb Technology fingerprinting
nikto Optional sudo pacman -S nikto Classic web scanner
nuclei Recommended go install -v github.com/projectdiscovery/nuclei/v3/cmd/nuclei@latest Template-based vuln scanner
wafw00f Optional pip install wafw00f WAF detection

Screenshots

Tool Required? Install Purpose
aquatone Optional paru -S aquatone Web screenshot capture
gowitness Optional go install github.com/sensepost/gowitness@latest Screenshot fallback

DNS

Tool Required? Install Purpose
dig Recommended sudo pacman -S bind DNS zone transfer, NS lookup

GUI

Tool Required? Install Purpose
flask Yes (for GUI) pip install flask Local web GUI

Arch Linux — Quick Install

Since you're on Arch with paru, here's a one-shot install of the most important tools:

# System packages
sudo pacman -S nmap whatweb nikto bind

# AUR packages
paru -S rustscan masscan amass feroxbuster aquatone

# Go tools (install Go first: sudo pacman -S go)
go install -v github.com/projectdiscovery/subfinder/v2/cmd/subfinder@latest
go install -v github.com/projectdiscovery/httpx/cmd/httpx@latest
go install -v github.com/projectdiscovery/nuclei/v3/cmd/nuclei@latest
go install github.com/ffuf/ffuf/v2@latest
go install github.com/tomnomnom/assetfinder@latest
go install github.com/sensepost/gowitness@latest

# Python tools
pip install wafw00f dirsearch

# Add Go bin to PATH if not already there
echo 'export PATH=$PATH:$HOME/go/bin' >> ~/.zshrc
source ~/.zshrc

After install, verify:

reconninja --check-tools

BlackArch Repository (Optional)

The install.sh script can optionally add the BlackArch repository to your Arch system. This unlocks 2800+ security tools installable via pacman.

When prompted during ./install.sh, type y to add it.


Minimal Setup (Python Only)

If you only want the Python core without any external binaries:

./install.sh --python-only

The async TCP scanner (Phase 2b) serves as a fallback port scanner. JavaScript extraction, CORS scanning, JWT scanning, and most v7/v8 modules are pure Python and work without external tools.


Related

Clone this wiki locally