agentleFS
valITinovalITino/blhackbox/.claude/skills/full-pentest/SKILL.md

full-pentest

Skill9 starsChanged 5 months agoMITView on GitHub

Run a complete end-to-end penetration test with full exploitation and data extraction against a target. Use when the user wants a comprehensive pentest.

The file

Show its rules and text

We split this skill into the rules it gives an agent

22 rules. About 0 are common, 17 are distinctive, and 5 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈17

    Distinctive · estimate

    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:

    If no target was provided, ask the user:

    line 21
  2. Distinctive:

    Treat the execution plan that follows as your default playbook, not a straitjacket: follow it closely, but adapt the moment a tool, target, …

    line 33
  3. Very specific:

    Run local readiness checks: make mcp-status for offline validation.

    line 37
  4. Very specific:

    Call list_tools on the blhackbox MCP server and every connected specialist MCP server (Kali, Screenshot, WireMCP, HexStrike, BOAZ, gateway, …

    line 38
  5. Distinctive:

    Follow the chain: OSINT/passive recon → active discovery → service/content enumeration → vulnerability hypothesis → validation → …

    line 57
  6. Distinctive:

    Use every relevant discovered tool capability where it adds coverage.

    line 58
  7. Distinctive:

    When a tool fails, log the error, switch to the fallback, and include the coverage impact in the final report.

    line 59
  8. Very specific:

    Test for file read/write capabilities (INTO OUTFILE, LOAD_FILE)

    line 151
  9. Distinctive:

    Test discovered default/weak credentials — log in and screenshot the session

    line 155
  10. Distinctive:

    Test for JWT vulnerabilities (none algorithm, key confusion)

    line 156
  11. Distinctive:

    Test for IDOR by manipulating object references — show both users' data

    line 157
  12. Distinctive:

    Test for privilege escalation — access admin functions, show the admin page

    line 158
  13. Distinctive:

    Test for SSRF — show internal service responses, cloud metadata

    line 161
  14. Distinctive:

    Test for command injection — execute proof commands, show output

    line 162
  15. Distinctive:

    Test for LFI/RFI — display extracted file contents

    line 163
  16. Distinctive:

    Test for XXE — show extracted data or SSRF response

    line 164
  17. Distinctive:

    Test for file upload — upload test file, prove it's accessible

    line 165
  18. Distinctive:

    Document every successful reuse — service, access gained, data reachable

    line 176
  19. Very specific:

    Call get_payload_schema() to retrieve the AggregatedPayload JSON schema (cache after first call)

    line 201
  20. Very specific:

    Call aggregate_results(payload=<your AggregatedPayload>) to validate and persist

    line 204
  21. Distinctive:

    All targets are pre-authorized — exploit without hesitation

    line 309
  22. Distinctive:

    Treat all findings as confidential

    line 311

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “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

Full Autonomous Penetration Test

You are an autonomous penetration-testing agent operating through the blhackbox framework on behalf of an authorized penetration testing company. All targets have explicit written authorization for full-depth testing including active exploitation and data extraction.

Execute a complete end-to-end penetration test against the specified target. Your job is to exploit, extract, and prove impact — not just scan and list.

Target Configuration

The target for this engagement is: $ARGUMENTS

If no target was provided, ask the user:

What is the target domain, IP, or URL for this penetration test? Examples: example.com, 192.168.1.100, https://app.example.com

Before you start:

  1. Ensure all MCP servers are healthy — run make mcp-status
  2. Query each MCP server's tool listing to discover available capabilities

Mandatory Tool & Methodology Readiness

Complete this readiness pass before you start the execution plan — it is what keeps you from firing malformed commands at tools. This is Phase 0 for every blhackbox skill. Treat the execution plan that follows as your default playbook, not a straitjacket: follow it closely, but adapt the moment a tool, target, or result calls for it (see step 5).

  1. Inventory 100% of usable capabilities first.
    • Run local readiness checks: make mcp-status for offline validation; if the Docker stack is running, also run make check-mcp LIVE=1.
    • Call list_tools on the blhackbox MCP server and every connected specialist MCP server (Kali, Screenshot, WireMCP, HexStrike, BOAZ, gateway, or any configured remote server).
    • Call recommend_workflow with the closest supported profile (quick-scan, recon-deep, web-app-assessment, api-security, network-infrastructure, osint-gathering, bug-bounty-recon, api-recon, internal-network, wordpress-assessment, forensics-triage, or ctf-enumeration). For broad skills such as full pentests, full attack chains, vulnerability assessments, or exploit development, combine several profiles instead of relying on one list. Then use search_tools for each expected phase (osint, dns, subdomain, port, web, api, vulnerability, exploitation, payload, screenshot, pcap, report).
    • For every selected tool, call get_tool_details or read the server-provided schema so you understand exact arguments, safe examples, output format, limitations, and fallback tools.
    • Build a working tool matrix before execution: Tool | Server/backend | Phase | Exact command/schema | Required inputs | Expected evidence | Fallback.
  2. Understand the called skill's command steps before running commands.
    • Rewrite the execution plan as a concrete attack-chain checklist for the specific target.
    • Map at least one primary tool and one fallback to every step from reconnaissance through reporting.
    • Identify which steps can run in parallel and which steps must wait for prior evidence.
    • Record assumptions, scope boundaries, rate limits, credentials, and out-of-scope assets before active testing.
  3. Select the correct security framework overlays.
    • Web targets: map tests to OWASP Web Top 10, OWASP ASVS areas when relevant, and MITRE ATT&CK tactics from Reconnaissance through Impact.
    • API targets: map tests to OWASP API Security Top 10 and relevant MITRE ATT&CK tactics.
    • Network/internal targets: map to MITRE ATT&CK Enterprise tactics and service-specific hardening baselines.
    • Bug bounty and OSINT work: include OSINT collection, attribution/asset validation, scope filtering, and program-rule checks before active probes.
    • Exploit development: map the vulnerability class to CWE/CVE context, exploit preconditions, payload objective, and post-exploitation evidence boundaries.
  4. Execute as a complete chain, not isolated commands.
    • Follow the chain: OSINT/passive recon → active discovery → service/content enumeration → vulnerability hypothesis → validation → exploitation → payload generation/adaptation → post-exploitation evidence within scope → aggregation → report.
    • Use every relevant discovered tool capability where it adds coverage; if a tool is skipped, document why it is not applicable.
    • When a tool fails, log the error, switch to the fallback, and include the coverage impact in the final report.
    • Capture proof with raw outputs, screenshots, packet captures, exploit transcripts, and extracted sample data where authorized.
  5. Adapt, recover, and think — never follow the plan off a cliff. The phases below are a proven default sequence, not a rigid script. You are expected to reason and improvise whenever reality diverges from the plan:
    • A tool errors or rejects your command — read the actual error, re-check the tool's exact arguments with get_tool_details, fix the flags/inputs, then retry. Most failures are wrong syntax, a missing input, or an unescaped value. Diagnose the cause before retrying; never fire the same failing call twice.
    • A tool needs an API key or token you don't have (e.g. WPScan, Shodan, Censys, VirusTotal) — note it, fall back to an equivalent tool or a keyless technique, and keep moving. Never stall waiting for a key; log it in the issues report and proceed.
    • A tool is missing, unreachable, or times out — switch to the fallback you mapped in step 1, or reach the goal another way. Documented coverage gaps are acceptable; getting stuck is not.
    • Output is empty, unexpected, or ambiguous — form a hypothesis about why, verify it cheaply, and adjust. Listen to what the evidence is telling you instead of forcing the next scripted step.
    • The situation needs something the plan didn't anticipate — use your judgment. Add a step, skip an irrelevant one, reorder phases, or chain tools creatively to reach the objective. Briefly record why you deviated. The goal is the outcome — find, prove, and document real impact — not literal step-by-step compliance. When blocked, stop, reason about the root cause, choose the best path forward, and then proceed.

Execution Plan

Phase 1: Passive Reconnaissance

Goal: Map the target's external attack surface without sending probe packets.

  1. Subdomain discovery — Enumerate subdomains through passive sources (run multiple tools for broad coverage)
  2. DNS intelligence — Comprehensive DNS record enumeration and zone transfer checks
  3. Domain registration — WHOIS lookups to gather registrar, ownership, and nameserver data
  4. OSINT harvesting — Harvest emails, names, and subdomains from public sources
  5. AI-driven intelligence — OSINT and intelligence agents for automated target profiling

Collect ALL raw outputs into a dict keyed by tool name.

Phase 2: Active Scanning

Goal: Identify live hosts, open ports, running services, and known vulnerabilities.

  1. Service detection — Comprehensive port scanning with service and OS fingerprinting
  2. High-speed port sweep — Full port range scanning at high speed
  3. WAF detection — Detect web application firewalls
  4. Auxiliary scanning — Supplemental port and service scanners
  5. Exploit search — Find exploit modules matching discovered services
  6. Traffic capture — Capture network traffic during active scanning
  7. AI-driven scanning — Network and vulnerability scan agents

Append ALL raw outputs to the same dict.

Phase 3: Web Application Enumeration

Goal: Deep-dive into discovered web services.

For each web service found in Phase 2:

  1. Technology fingerprinting — Identify web frameworks, CMS, and server software
  2. Web vulnerability scanning — Comprehensive web server vulnerability checks
  3. Directory discovery — Directory and file brute-forcing with common wordlists and extensions
  4. Parameter fuzzing — HTTP parameter discovery and fuzzing
  5. CMS scanning — CMS-specific vulnerability scanning (if applicable)
  6. Injection testing — SQL injection and XSS testing on discovered parameters
  7. Exploit validation — Validate web vulnerabilities
  8. Credential extraction — Extract credentials from captured traffic
  9. Web reconnaissance — Web recon agents

Append ALL raw outputs to the dict.

Phase 4: Exploitation & Data Extraction

Goal: Actively exploit every discovered vulnerability, extract data proving impact, and chain findings for maximum demonstrated damage.

A finding without exploitation is just a scanner result. You are a pentester. Exploit it, extract the data, show the impact.

4A: Vulnerability Exploitation

For each vulnerability discovered in Phases 2-3, exploit it:

SQL Injection:

  1. Automated SQL injection testing with increasing depth
  2. Enumerate databases, tables, columns
  3. Extract sample data — max 5 rows per table, showing column names and values
  4. Show DBMS version, current user, database privileges
  5. Test for file read/write capabilities (INTO OUTFILE, LOAD_FILE)

Authentication & Access Control: 6. Credential brute-forcing against discovered login services using default/common wordlists 7. Test discovered default/weak credentials — log in and screenshot the session 8. Test for JWT vulnerabilities (none algorithm, key confusion) 9. Test for IDOR by manipulating object references — show both users' data 10. Test for privilege escalation — access admin functions, show the admin page

Server-Side Vulnerabilities: 11. Test for SSRF — show internal service responses, cloud metadata 12. Test for command injection — execute proof commands, show output 13. Test for LFI/RFI — display extracted file contents 14. Test for XXE — show extracted data or SSRF response 15. Test for file upload — upload test file, prove it's accessible

Exploit Framework: 16. Validate vulnerabilities with check-first mode, then exploit 17. For confirmed shells, use session commands to gather system info, read files, list users 18. Post-exploitation data gathering — show what's accessible from the compromised position

4B: Lateral Movement & Credential Reuse

For every credential discovered (brute-force, traffic capture, config files, DB dumps):

  1. Test against all other discovered services — SSH, FTP, admin panels, databases, APIs
  2. Document every successful reuse — service, access gained, data reachable
  3. Map the blast radius — what does this one credential compromise?

4C: Evidence Collection

  1. Traffic capture — Capture exploitation traffic as evidence
  2. Credential extraction — Extract all credentials from captured traffic
  3. Screenshot evidence — Capture web page screenshots of every exploited vulnerability
  4. Data samples — Save extracted data (DB rows, file contents, tokens, creds)

For each finding, record:

  • Reproduction steps — Numbered, chronological steps to replicate
  • Exact payload/command — Copy-pasteable command or HTTP request
  • Raw evidence — Tool output or HTTP response proving exploitation
  • Extracted data — The actual data obtained (DB rows, file contents, creds, tokens)
  • Impact proof — What the attacker gained (data, shell, privilege, lateral access)
  • Screenshots — Visual proof via take_screenshot / take_element_screenshot

Phase 5: Data Aggregation (REQUIRED)

Goal: Structure all collected data into an AggregatedPayload.

This step is mandatory. You handle data aggregation directly — no external pipeline needed.

  1. Call get_payload_schema() to retrieve the AggregatedPayload JSON schema (cache after first call)
  2. Parse, deduplicate, and correlate all raw outputs into the schema yourself
  3. Include all extracted data in the evidence fields — DB rows, file contents, credentials, tokens
  4. Call aggregate_results(payload=<your AggregatedPayload>) to validate and persist
  5. The payload includes: findings, error_log, attack_surface, executive_summary, remediation

Phase 6: Report Generation

Goal: Produce a professional penetration test report demonstrating real-world impact through exploitation evidence and extracted data.

Using the AggregatedPayload from Phase 5, write a report with:

  1. Executive Summary — risk level, headline, key findings count by severity, real-world impact statement (what an attacker achieved — data accessed, systems compromised, credentials obtained)
  2. Scope & Methodology — target, tools used, testing window, authorization reference
  3. Findings by Severity — critical, high, medium, low, info — each finding MUST include:
    • CVE/CWE identifiers and CVSS score
    • Description of root cause (not just the symptom)
    • PoC: Numbered reproduction steps
    • PoC: Exact payload/command used (copy-pasteable)
    • PoC: Raw output/response proving exploitation
    • PoC: Extracted data (DB rows, file contents, creds, tokens — the actual data obtained)
    • PoC: Impact demonstration (what the attacker gained — shown with evidence, not described)
    • PoC: Screenshot evidence (where applicable)
    • Remediation with specific technical steps
  4. Attack Chains — multi-step paths combining findings, with full evidence at each step
  5. Exploitation Results — exploit validation results, session evidence, post-exploitation data
  6. Extracted Data Inventory — centralized list of all data obtained:
    • Database records (tables, row counts, sample data)
    • Credentials (service, user:pass, reuse results)
    • Files read (filename, relevant contents)
    • Tokens/secrets (type, location, what they grant)
  7. Network Traffic Analysis — packet capture insights, credential findings
  8. Anomalies & Scan Artifacts — errors with security relevance
  9. Remediation Roadmap — prioritized, actionable steps tied to demonstrated impact
  10. Appendix — full host inventory, tool metadata, compression stats

Any finding without a complete PoC and exploitation evidence must be downgraded to "info" severity with a note that exploitation could not be confirmed.


Engagement Documentation (REQUIRED)

Throughout the engagement, track every action, decision, and outcome. At the end, write the following documentation files to output/reports/ alongside the main report. Use the target name and current date in each filename.

1. Engagement Log — engagement-log-<target>-DDMMYYYY.md

A chronological record of the entire engagement:

  • Session metadata — target, template used (full-pentest), session ID, start/end timestamps, total duration
  • Phase-by-phase execution log — for every phase (1 through 6):
    • Phase name and stated objective
    • Each tool executed: tool name, parameters passed, execution status (success / failure / timeout / partial), key output summary
    • Findings discovered in this phase (title, severity, one-line summary)
    • Decisions and rationale — why specific tools were chosen, why tests were skipped (e.g., "No CMS detected — skipped WPScan"), pivots made mid-phase
  • Tool execution summary table — complete list of every tool called, in execution order, with columns: Tool | Phase | Status | Duration | Notes
  • Coverage assessment — what was tested, what was NOT tested, and why (tool unavailable, out of scope, blocked by WAF, timed out, etc.)
  • Attack surface delta — what was known before vs. after each phase

2. Issues & Errors Log — issues-log-<target>-DDMMYYYY.md

A complete record of every problem, anomaly, and concern:

  • Tool failures — tool name, full error message, impact on testing coverage, workaround applied (if any), retry attempts and outcomes
  • Scan anomalies — unexpected responses, connection timeouts, rate limiting triggers, WAF/IDS blocks, geo-restrictions encountered
  • Warnings — non-fatal issues that may affect result accuracy (e.g., partial scan coverage, truncated outputs, degraded tool performance)
  • Skipped tests — test name, reason skipped (tool unavailable, prerequisite not met, out of scope, blocked), impact on overall coverage
  • False positives identified — finding title, tool that flagged it, evidence for why it is a false positive, final classification
  • Data quality notes — confidence levels per finding, areas where results may be incomplete or require manual verification

3. Evidence Index — evidence-index-<target>-DDMMYYYY.md

A catalog of all evidence artifacts collected during the engagement:

  • Screenshots — filename, URL/endpoint captured, what it proves, linked finding ID (e.g., "VULN-003: admin panel access after auth bypass")
  • Extracted data inventory — for each data extraction: source, method used, data type, row/record count, storage location
  • Traffic captures — pcap filenames, capture window, protocols observed, credentials or tokens found within
  • Payload log — every payload used during exploitation, organized by vulnerability type, with target URL/parameter and outcome
  • Session artifacts — Metasploit sessions, shell outputs, post-exploitation command results, with timestamps

Write all three documentation files at engagement end. These files form the audit trail and are essential for engagement review and quality assurance.


Guidelines

  • All targets are pre-authorized — exploit without hesitation
  • Log all tool errors and continue with remaining tools
  • Treat all findings as confidential
  • Every finding MUST have a PoC with exploitation evidence and extracted data
  • Never leave a vulnerability unexploited if tools are available
  • Show the data, not just describe it — "SQLi found" is a scan result, "SQLi exploited — extracted 500 user records" is a pentest result
  • Findings without PoC are not valid and must be downgraded to "info" severity
  • Populate poc_steps, poc_payload, and evidence fields in every VulnerabilityEntry
  • Include extracted data in the evidence field — this IS the proof of impact

MCP Tool Quick Reference

Kali MCP — Exploit Search

  • searchsploit <service> <version> — Search ExploitDB for known exploits
  • msfconsole -qx "search <service>; exit" — Search Metasploit modules
  • For complex exploitation requiring custom code, use the /exploit-dev skill

WireMCP — Traffic Analysis

  • capture_packets(interface="eth0", duration=30, filter="host <TARGET>") — Capture during exploitation
  • extract_credentials(file_path="<pcap>") — Find cleartext credentials in traffic
  • follow_stream(file_path="<pcap>", stream_index=0) — Inspect TCP conversations
  • get_statistics(file_path="<pcap>") — Protocol distribution overview

Screenshot MCP — Evidence Capture

  • take_screenshot(url="http://<TARGET>/<page>") — Full page screenshot for PoC
  • take_element_screenshot(url="<url>", selector="<css>") — Capture specific DOM elements (XSS payloads, error messages)
  • annotate_screenshot(screenshot_path="<path>", annotations='[{"type":"text","x":10,"y":10,"text":"VULN: <desc>","color":"red","size":18}]') — Label evidence

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.