agentsclimarketplace

Autorecon

Skill jph4cks/redhound-arsenal/autorecon

Operate AutoRecon — a multi-threaded network reconnaissance tool that automatically runs appropriate enumeration tools based on detected services. Use during OSCP labs, CTF initial enumeration, or real-world external/internal network pentests to automate the discovery phase. Covers installation, target specification, port scan profiles, per-service tool execution, custom plugins, output structure, concurrency controls, and a full OSCP/CTF enumeration workflow.From its SKILL.md

Install
npx -y skills add jph4cks/redhound-arsenal --skill autorecon

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

2 things to look at

  • 6 stars6 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
  • runs commandsInstructs the agent to run 8 commands, including `pip3 install autorecon` and 7 more.

SKILL.md

13.5 KB, ~3.8k tokens by cl100k_base, as published. Nobody here has run it

autorecon Agent Skill

When to Use This Skill

Use this skill when:

  • Starting a new CTF box or OSCP lab machine and need comprehensive initial enumeration
  • Running parallel reconnaissance against multiple targets (pentest internal network)
  • Automating the "run all the things" phase: nmap → per-service tools → report-ready output
  • Customising AutoRecon plugins to add bespoke enumeration tools
  • Understanding AutoRecon's output directory structure to navigate findings quickly
  • Building an OSCP methodology around AutoRecon as the enumeration backbone

What AutoRecon Does

AutoRecon (Tib3rius/AutoRecon, ~5.6k GitHub stars) is a Python-based multi-threaded reconnaissance tool that runs multiple scanners simultaneously. It starts with broad port discovery, then automatically launches service-specific enumeration tools for every open port it finds — HTTP ports get nikto/feroxbuster/whatweb, SMB ports get enum4linux/ smbclient, FTP gets anonymous login checks, and so on. The result is a structured output directory containing all scan results, ready for manual review.

Installation

pip (recommended)

# Python 3.8+ required
pip3 install autorecon

# Verify
autorecon --help

pipx (isolated environment, no conflicts)

pipx install autorecon
pipx inject autorecon toml   # if needed

From Source

git clone https://github.com/Tib3rius/AutoRecon.git
cd AutoRecon
pip3 install -r requirements.txt
python3 autorecon.py --help

Required External Tools

AutoRecon calls external tools — they must be installed separately:

# Core
sudo apt install -y nmap curl wget seclists

# Web
sudo apt install -y nikto gobuster feroxbuster whatweb wkhtmltopdf

# SMB / Windows
sudo apt install -y enum4linux smbclient smbmap nbtscan

# LDAP / AD
sudo apt install -y ldap-utils

# FTP / other services
sudo apt install -y ftp tnftp onesixtyone snmp

# DNS
sudo apt install -y dnsrecon dnsenum

# Brute force
sudo apt install -y hydra medusa

# NFS
sudo apt install -y nfs-common

Verify Tool Availability

autorecon --list-plugins          # List all plugins and their required tools
# AutoRecon will skip plugins whose required tools are missing

Core Concepts

Scan Phases

  1. Port Discovery: Fast TCP/UDP port scans using nmap
  2. Service Detection: Nmap service version detection against open ports
  3. Service Enumeration: Per-service plugins run automatically based on detected services
  4. Reporting: All output written to structured directory tree

Plugin System

AutoRecon uses a TOML-based plugin configuration. Each plugin defines:

  • Which service tags trigger it (e.g., http, https, smb, ftp)
  • The command to run (with template variables)
  • Output file name
  • Whether it's run once per host or once per port

Template Variables

Available in plugin commands:

{address}     — Target IP address
{port}        — Port number
{scheme}      — http or https
{hostname}    — Resolved hostname (if available)
{scandir}     — Output directory for this target
{nmap_extra}  — Extra nmap flags from --nmap-append

CLI Reference

Basic Usage

# Single target
autorecon 10.10.10.10

# Single target with hostname
autorecon 10.10.10.10 --single-target

# Domain name (resolves to IP)
autorecon target.htb

# CIDR range
autorecon 10.10.10.0/24

# Multiple targets
autorecon 10.10.10.10 10.10.10.20 10.10.10.30

# Targets from file
autorecon -t targets.txt

Output Directory

# Default output location: ./results/
# Custom output directory
autorecon 10.10.10.10 -o /opt/engagements/target/

# Results structure:
# results/10.10.10.10/
# ├── scans/
# │   ├── _full_tcp_nmap.txt          (all TCP ports)
# │   ├── _top_udp_nmap.txt           (top 20 UDP ports)
# │   ├── tcp_22_ssh_nmap.txt         (SSH-specific nmap scripts)
# │   ├── tcp_80_http_nikto.txt       (nikto output)
# │   ├── tcp_80_http_feroxbuster.txt (feroxbuster output)
# │   ├── tcp_445_smb_enum4linux.txt  (enum4linux output)
# │   └── ...
# ├── exploit/                        (manual exploitation notes placeholder)
# ├── loot/                           (captured credentials, hashes, etc.)
# └── proof.txt                       (proof placeholder)

Concurrency Controls

# Max concurrent targets (default: 5)
autorecon 10.10.10.0/24 -ct 3

# Max concurrent scans per target (default: 10)
autorecon 10.10.10.10 -cs 5

# Max concurrent plugins of the same type
autorecon 10.10.10.10 --single-target -cs 3

# Useful for slow/fragile targets
autorecon 10.10.10.10 -cs 2 -ct 1

Port Scan Profiles

AutoRecon uses profile TOML files to define scan strategies:

# List available profiles
ls $(pip3 show autorecon | grep Location | awk '{print $2}')/autorecon/config/

# Use a specific profile
autorecon 10.10.10.10 --profile default
autorecon 10.10.10.10 --profile udp

# Custom profile file
autorecon 10.10.10.10 --profile-file /opt/myprofiles.toml

Default profile behaviour:

  1. nmap -p- --min-rate=2500 (full TCP)
  2. nmap -sV -sC -p {open_ports} (service detection on found ports)
  3. nmap -sU --top-ports=20 (top UDP ports)

Nmap Customisation

# Append extra nmap flags to all nmap scans
autorecon 10.10.10.10 --nmap-append "--script-timeout 5s"

# Override nmap scan speed
autorecon 10.10.10.10 --nmap-append "-T4"

# Add nmap scripts
autorecon 10.10.10.10 --nmap-append "--script=vuln"

Verbosity and Logging

# Verbose (see commands as they run)
autorecon 10.10.10.10 -v

# Very verbose (see all output)
autorecon 10.10.10.10 -vv

# Heartbeat (show progress every N seconds)
autorecon 10.10.10.10 --heartbeat 30

# Disable heartbeat
autorecon 10.10.10.10 --heartbeat 0

Tags and Plugin Filtering

# Only run specific service plugins
autorecon 10.10.10.10 --only-scans-dir --tags http

# Exclude specific plugins
autorecon 10.10.10.10 --exclude-tags brute

# Run only a specific plugin
autorecon 10.10.10.10 --plugins "nikto"

# Skip UDP scanning (faster for CTF boxes)
autorecon 10.10.10.10 --exclude-tags udp

Per-Service Tool Matrix

HTTP / HTTPS (tcp/80, tcp/443, tcp/8080, tcp/8443)

ToolWhat It Does
nmap http scriptshttp-title, http-server-header, http-methods, http-auth
whatwebTechnology fingerprinting (CMS, frameworks, plugins)
niktoKnown vulnerabilities, misconfigs, default files
gobuster/feroxbusterDirectory and file brute-force
curl -kGrab full response headers
wkhtmltopdfScreenshot the page for report

SMB (tcp/445, tcp/139)

ToolWhat It Does
nmap smb scriptssmb-os-discovery, smb-security-mode, smb-vuln-ms17-010
enum4linuxNull session enumeration: users, shares, groups, policies
smbclientList shares, attempt anonymous auth
smbmapMap shares and permissions
nbtscanNetBIOS name scan

FTP (tcp/21)

ToolWhat It Does
nmap ftp scriptsftp-anon, ftp-bounce, ftp-syst
AutoRecon pluginAttempt anonymous login and list files
hydra (if tagged)Brute-force FTP credentials

SSH (tcp/22)

ToolWhat It Does
nmap ssh scriptsssh-hostkey, ssh-auth-methods
AutoRecon pluginEnumerate supported auth methods

DNS (tcp/53, udp/53)

ToolWhat It Does
nmap dns scriptsdns-zone-transfer, dns-recursion
dnsreconZone transfer, reverse lookup, brute
dnsenumZone transfer, Google enumeration

SNMP (udp/161)

ToolWhat It Does
onesixtyoneCommunity string brute-force
snmpwalkFull MIB walk with found community strings

LDAP (tcp/389, tcp/636)

ToolWhat It Does
nmap ldap scriptsldap-rootdse, ldap-search
ldapsearchAnonymous bind, base DN dump

NFS (tcp/2049)

ToolWhat It Does
nmap nfs scriptsnfs-showmount, nfs-ls
showmountList exported shares

Custom Plugin Development

Plugin TOML Structure

[plugin.custom-wfuzz]
name = "Custom WFuzz Scan"
tags = ["http", "custom"]
ports.tcp = [80, 443, 8080, 8443]
run_once_per = "service"

[plugin.custom-wfuzz.command]
linux = "wfuzz -c -z file,/usr/share/seclists/Discovery/Web-Content/common.txt \
  --hc 404 -u {scheme}://{address}:{port}/FUZZ \
  -o {scandir}/tcp_{port}_{scheme}_wfuzz.txt 2>&1"

Where to Place Custom Plugins

# User plugin directory (created automatically)
mkdir -p ~/.config/AutoRecon/plugins/

# Copy existing plugin as template
cp $(pip3 show autorecon | grep Location | awk '{print $2}')/autorecon/plugins/http_nikto.toml \
  ~/.config/AutoRecon/plugins/http_custom.toml

# Edit and reload
autorecon --list-plugins | grep custom

Plugin Variables Reference

# In command string, use these templates:
{address}    # target IP
{port}       # target port
{scheme}     # http or https
{hostname}   # resolved hostname
{scandir}    # scan output directory for this target
{nmap_extra} # nmap extra flags from CLI
{wordlist}   # default wordlist (configurable)

OSCP / CTF Enumeration Workflow

Standard Box Workflow

# Step 1: Start AutoRecon (add to /etc/hosts first if needed)
echo "10.10.10.10  target.htb" >> /etc/hosts
autorecon 10.10.10.10 --single-target -v

# Step 2: While AutoRecon runs, review nmap results as they appear
tail -f results/10.10.10.10/scans/_full_tcp_nmap.txt

# Step 3: Check service-specific results
ls -la results/10.10.10.10/scans/

# Step 4: Prioritise findings
# HTTP: cat results/10.10.10.10/scans/tcp_80_http_whatweb.txt
# SMB: cat results/10.10.10.10/scans/tcp_445_smb_enum4linux.txt
# FTP: cat results/10.10.10.10/scans/tcp_21_ftp_nmap.txt

# Step 5: Manual investigation of flagged services

Multi-Target Internal Network Scan

# Create target list from CIDR
nmap -sn 192.168.1.0/24 -oG - | grep Up | awk '{print $2}' > live_hosts.txt

# Run AutoRecon against all live hosts
autorecon -t live_hosts.txt -o /opt/engagement/recon/ -ct 5 -cs 10 -v

# Review results
ls /opt/engagement/recon/

# Aggregate HTTP findings
grep -r "200 OK\|302\|401\|403" /opt/engagement/recon/*/scans/*http*ferox* 2>/dev/null

Quick UDP Scan Only

# AutoRecon includes UDP scanning — ensure it runs
autorecon 10.10.10.10 --single-target --profile udp -v
cat results/10.10.10.10/scans/_top_udp_nmap.txt

Reading Output Efficiently

# See all scan files sorted by service
ls results/10.10.10.10/scans/ | sort

# Quick wins: find interesting strings across all results
grep -r -i "password\|admin\|secret\|flag\|login\|token\|api.key" \
  results/10.10.10.10/scans/ 2>/dev/null

# Find all discovered web paths
grep -r "200\|301\|403" results/10.10.10.10/scans/*ferox* \
  results/10.10.10.10/scans/*gobuster* 2>/dev/null | \
  awk '{print $NF}' | sort -u

Advanced Techniques

Running AutoRecon Without Root (No SYN Scan)

# TCP connect scan instead of SYN scan
autorecon 10.10.10.10 --nmap-append "-sT" --single-target
# Note: slower but works without root

Integrating Custom Wordlists

# Override default wordlist in plugin config
# Edit: ~/.config/AutoRecon/config.toml
[global]
wordlist = "/usr/share/seclists/Discovery/Web-Content/raft-large-directories.txt"

Saving and Archiving Results

# Tar results for transfer
tar -czf target_10.10.10.10_recon.tar.gz results/10.10.10.10/

# Search all results for creds
grep -r -E "(user|pass|password|username|credential)" \
  results/10.10.10.10/ --include="*.txt" -i | \
  grep -v "Binary"

Troubleshooting

AutoRecon exits immediately with no output

# Check Python version (needs 3.8+)
python3 --version

# Run with max verbosity to see errors
autorecon 10.10.10.10 -vv

# Check required tools are installed
autorecon --list-plugins

Missing plugin results

# Tool not installed — install it
sudo apt install -y feroxbuster nikto

# Or exclude missing tool's plugin
autorecon 10.10.10.10 --exclude-tags feroxbuster

Scans running too slowly

# Increase concurrent scans
autorecon 10.10.10.10 -cs 20

# Disable UDP (slowest phase)
autorecon 10.10.10.10 --exclude-tags udp

# Use faster nmap timing
autorecon 10.10.10.10 --nmap-append "-T4"

Out of memory on large CIDR scans

# Reduce concurrent targets
autorecon 10.10.10.0/24 -ct 2 -cs 5

Gobuster/feroxbuster not found

sudo apt install -y gobuster feroxbuster
# Or specify alternative in plugin config

Built by Red Hound InfoSec — On-demand offensive security expertise for SMBs. 20+ years of Fortune 500 experience. Penetration testing, attack surface analysis, and security consulting.

redhound.us | GitHub | Book a consultation

What ships with it

Read from the repository

Just SKILL.md. No reference files, no scripts.

Keep looking

Skills are one crate of 325,949. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.