agentleFS
briiirussellbriiirussell/cybersecurity-skills/skills/recon/SKILL.md

recon

Skill489 starsChanged 5 days agoMITView on GitHub

Perform structured reconnaissance and attack surface enumeration for authorized penetration tests, CTF challenges, and bug bounty programs. Use when the user mentions 'recon,' 'reconnaissance,' 'enumerate,' 'attack surface,' 'subdomain enumeration,' 'port scan,' 'fingerprint,' 'asset discovery,' or needs to map a target's external footprint.

We split this skill into the rules it gives an agent

10 rules. 0 are common, 5 are distinctive, and 5 are very specific to this project.

  • 0

    Common

    Most of the 19 edited versions we read keep these.

  • 5

    Distinctive

    This author's own choices. Worth a look.

  • 5

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Before running any commands, confirm:

    line 15
  2. Distinctive:

    If authorization is unclear, ask before proceeding.

    line 19
  3. Very specific:

    Run dig any $ARGUMENTS for A, AAAA, MX, TXT, NS, CNAME records

    line 28
  4. Very specific:

    WHOIS and registration: Run whois $ARGUMENTS for registrant, nameserver, and creation date info.

    line 35
  5. Very specific:

    Search engine dorking: Use targeted queries — site:, inurl:, filetype:, intitle: — to find exposed pages, documents, and admin panels.

    line 37
  6. Distinctive:

    Public code repositories: Search GitHub/GitLab for the target's org name, domain, API keys, or internal paths.

    line 41
  7. Distinctive:

    Historical data: Check the Wayback Machine for old endpoints, removed pages, and configuration files.

    line 43
  8. Very specific:

    Start with top 1000 ports.

    line 51
  9. Very specific:

    SSL/TLS analysis: Run testssl.sh or sslyze to check for weak ciphers, expired certificates, and misconfigurations.

    line 60
  10. Distinctive:

    If you discover evidence of active compromise by a third party, alert the user immediately

    line 105

“Common” is measured: kept by at least 6 in 10 of the 19 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Recon — Penetration Testing Reconnaissance

Perform structured reconnaissance against an authorized target, organizing findings into an actionable attack surface map.

Cross-references: osint-recon for the deeper open-source-intelligence pass (people, organizations, historical data) — this skill is the active/passive target-mapping side, osint-recon is the broader investigative side; they pair naturally. web-pentest for the next stage once recon has produced an attack surface map and an authorized target list. owasp-audit for source-code review when you have access to the target's code.

Authorization Check

Before running any commands, confirm:

  1. The user has written authorization for the target (pentest engagement, bug bounty program, CTF/lab environment)
  2. The target is within the defined scope

If authorization is unclear, ask before proceeding. Never assume authorization.

Methodology

Phase 1: Passive Recon

Gather information without touching the target directly.

DNS enumeration:

  • Run dig any $ARGUMENTS for A, AAAA, MX, TXT, NS, CNAME records
  • Attempt zone transfer: dig axfr @ns-server $ARGUMENTS
  • Enumerate subdomains via certificate transparency:
    curl -s "https://crt.sh/?q=%25.$ARGUMENTS&output=json" | jq -r '.[].name_value' | sort -u

WHOIS and registration: Run whois $ARGUMENTS for registrant, nameserver, and creation date info.

Search engine dorking: Use targeted queries — site:, inurl:, filetype:, intitle: — to find exposed pages, documents, and admin panels.

Technology fingerprinting: Identify frameworks, CMS, server software, and JavaScript libraries from public-facing pages.

Public code repositories: Search GitHub/GitLab for the target's org name, domain, API keys, or internal paths.

Historical data: Check the Wayback Machine for old endpoints, removed pages, and configuration files.

Phase 2: Active Recon (explicit authorization only)

Port scanning:

nmap -sC -sV -oN scan-results.txt $ARGUMENTS

Start with top 1000 ports. Expand to full range (-p-) if needed. Use -Pn if the host appears down but is in scope.

Service enumeration: Based on open ports, probe for version info and default configurations.

Web content discovery:

  • Directory bruting with gobuster, feroxbuster, or dirsearch
  • Virtual host enumeration
  • API endpoint discovery (check /api/, /v1/, /graphql, /swagger.json)

SSL/TLS analysis: Run testssl.sh or sslyze to check for weak ciphers, expired certificates, and misconfigurations.

Phase 3: Analysis

Correlate all findings. Identify the most promising attack vectors and prioritize by:

  1. Severity of potential impact
  2. Likelihood of exploitation
  3. Exposure level (internet-facing vs. internal)

Output Format

Produce a structured recon report:

# Recon Report
## Target: [target]
## Scope: [confirmed scope]
## Date: [date]

### Passive Findings
| Finding | Details | Relevance |
|---------|---------|-----------|

### Subdomains Discovered
- [list]

### Technologies Detected
- [list with versions where identified]

### Active Findings
| Port | Service | Version | Notes |
|------|---------|---------|-------|

### Attack Surface Summary
[Prioritized list of interesting findings with risk assessment]

### Recommended Next Steps
[Ordered list of what to investigate further]

Boundaries

  • Stay within the defined scope — never scan adjacent or out-of-scope systems
  • Rate-limit aggressive scans to avoid disruption
  • Log all commands run for the engagement record
  • If you discover evidence of active compromise by a third party, alert the user immediately
  • Refuse requests targeting systems without explicit authorization
  • Refuse requests for mass scanning of unrelated targets

References

  • PTES (Penetration Testing Execution Standard)
  • OWASP Testing Guide
  • Bug Bounty Methodology (jhaddix/tbhm)

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.