pentest-playbook
7-phase pentest pipeline from passive recon to exploitation.
Install / Use
npx skills add uphiago/recon-skills --skill pentest-playbookInstalls into whichever agent you are using.
SKILL.md
Installable skill definition
Quality Score
Category
SecuritySupported Platforms
Our assessment of pentest-playbook
pentest-playbook scores 87/100 on our quality scale, 588th of 971 Security skills we index.
Its SKILL.md is 8.5 KB long, well organised into 28 sections with 3 code examples: a thorough specification that gives an agent plenty to work with.
With 1,280 GitHub stars, it is one of the more widely adopted skills in the catalogue.
Maintenance, license and trust
- The repository was last updated 29 days ago, so pentest-playbook is actively maintained.
- It is released under the MIT license, a permissive license that allows use, modification and commercial use with attribution.
- Its trust signals score 100/100, with no cautions. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.
pentest-playbook compared with similar skills
All 4 of these similar skills score higher than pentest-playbook; compare them before choosing.
| Skill | Score | Stars | Updated | Format |
|---|---|---|---|---|
| pentest-playbook (this skill)by uphiago | 87 | 1.3k | 29d ago | SKILL.md |
| Agent-Reachby Panniantong | 100 | 86.6k | 15d ago | CLAUDE.md |
| headroomby headroomlabs-ai | 100 | 74.2k | today | CLAUDE.md |
| Scraplingby D4Vinci | 100 | 84.8k | today | MCP Server |
| crawl4aiby unclecode | 100 | 84.6k | 6d ago | MCP Server |
Frequently asked questions
- How do I install pentest-playbook?
- Run
npx skills add uphiago/recon-skills --skill pentest-playbook. The install tabs above show the steps for each supported agent. - Which AI agents does pentest-playbook work with?
- It is written for Universal, as a SKILL.md file. Other agents that read the same format can often use it too.
- Is pentest-playbook safe to use?
- It is MIT-licensed and scores 100/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
- Is pentest-playbook still maintained?
- The repository was last updated 29 days ago, so pentest-playbook is actively maintained.
Skill content
View source on GitHubname: pentest-playbook description: 7-phase pentest pipeline from passive recon to exploitation. version: 1.1.0 license: MIT tags: [meta, playbook, pentest, methodology, workflow] revision_date: 2026-07-25 platforms: [linux] compatibility: Requires curl, nmap, python3 disable-model-invocation: true category: meta related_skills:
- recon-playbook
- port-mass-scan
- cache-attack
- firebase-supabase-attack
- api-noauth-hunt
Pentest Playbook Skill
7-phase master pentest pipeline covering the full lifecycle from passive reconnaissance to exploitation and reporting. Distilled from 100+ targets across government, healthtech, fintech, e-commerce, ISP, and SMB sectors. This is the "meta-playbook" — it tells you what to do at each stage of an engagement and which skills to load for each phase.
When to Use
- Starting a new pentest engagement with an unknown target.
- You need the canonical workflow for any type of target.
- After surface recon — this playbook tells you what to do next.
- Training — understand the full lifecycle of a professional pentest.
The 7-Phase Pipeline
| Phase | Name | Focus | Key Skills | Duration | |-------|------|-------|------------|----------| | 1 | Passive Recon | OSINT, subdomains, leaks, tech stack | subdomain-enumeration, offensive-osint | 30-60 min | | 2 | Active Recon | Port scans, live hosts, tech detection | port-mass-scan, port-service-discovery, web2-recon | 30-60 min | | 3 | Web Enumeration | Sensitive files, .env, CORS, JS secrets | web-enumeration, cors-credential-wordpress, js-secrets-extraction | 20-40 min | | 4 | Framework Exploit | WordPress, Laravel, Spring, .NET | hunt-wordpress, hunt-laravel, hunt-springboot, hunt-aspnet | 30-60 min | | 5 | Cloud & Infrastructure | Firebase, Supabase, S3, Cloud Functions | hunt-firebase, hunt-supabase, cloud-iam-deep | 30-60 min | | 6 | Deep Exploitation | SQLi, SSRF, RCE, ATO, chains | hunt-sqli, hunt-ssrf, cross-attack-chains | 1-4 hours | | 7 | Report & Remediation | Documentation, PoC, CVSS scoring | report-writing, triage-validation, evidence-hygiene | 1-3 hours |
Per-Phase Procedure
Phase 1 — Passive Recon
# 1. Subdomain enumeration
subfinder -d $TARGET -silent | tee subs.txt
curl --max-time 30 --connect-timeout 10 -s "https://crt.sh/?q=%.$TARGET&output=json" | jq -r '.[].name_value' >> subs.txt
# 2. Tech stack detection via response headers
curl --max-time 30 --connect-timeout 10 -sI "https://$TARGET" | grep -iE "server|x-powered-by|x-aspnet|x-generator|x-runtime"
# 3. Google dorks
# site:$TARGET filetype:env DB_PASSWORD
# site:$TARGET "-----BEGIN RSA PRIVATE KEY-----"
# 4. GitHub code search (SA keys, .env, credentials)
# See google-dorks-catalog skill for full list
Phase 2 — Active Recon
# 1. Port scan (top 1000 ports)
rustscan -a $TARGET --ulimit 5000 -g | tee ports.txt
# 2. HTTP probe on alive hosts
cat subs.txt | httpx -silent -status-code -title -tech-detect | tee live.txt
# 3. CORS quick test
curl --max-time 30 --connect-timeout 10 -skI "https://$TARGET/wp-json/wp/v2/users" -H "Origin: https://evil.com" | grep -i "access-control"
Phase 3 — Web Enumeration
Run the full web-enumeration skill — 200+ sensitive file paths, .env extraction, path traversal bypass, vHost enum.
Phase 4 — Framework Exploitation
Load the relevant hunt-* skill based on detected framework:
- WordPress:
hunt-wordpress+wp-mass-recon - Laravel:
hunt-laravel - Spring Boot:
hunt-springboot - ASP.NET:
hunt-aspnet
Phase 5 — Cloud & Infrastructure
- Firebase:
hunt-firebase(API key → Firestore → Storage) - Supabase:
hunt-supabase(anon key → RLS bypass) - Cloud IAM:
cloud-iam-deep(SA key → GCP token → IAM policy) - Docker:
docker-privesc(if container access)
Phase 6 — Deep Exploitation
Chain findings using cross-attack-chains skill. The 5 confirmed chains (A-E) turn individual Medium/High findings into Critical impact.
Phase 7 — Report
Use report-writing skill for bug bounty or redteam-report-template for client deliverables. Apply triage-validation 7-question gate before submitting.
Lateral Pivot Decision Points (Critical Methodology)
When brute force / direct attacks aren't producing results, DO NOT persist — pivot to lateral discovery. This is the single most important judgment call in a pentest.
Pivot Triggers — Know When to Switch Vectors
| Signal | Current Vector | Pivot To | |--------|---------------|----------| | 100+ passwords tested, zero hits | Brute force (login) | SSRF, CORS, subdomain enum, API discovery, source leak, open registration, Firebase/Supabase | | All common creds fail on MySQL/SSH | Database/SSH brute | API discovery (port scan for HTTP services), JS bundle secrets, Firebase config, CORS exfil | | WAF/403 on every payload | Web exploitation | CDN bypass (origin IP discovery), subdomain enum (staging/dev may lack WAF), API on non-standard ports, HTTP method/header tampering | | rate limit / captcha / lockout | Auth brute | SameSite bypass, OAuth misconfig, MFA fatigue, password-reset poisoning, SSO token reuse | | 401/403 on all API endpoints | API exploitation | OPTIONS preflight, method tampering (GET→POST, PUT→PATCH), content-type switching (JSON→XML→form), header injection (X-Forwarded-User, X-Original-URL), JWT alg=none | | SPA returns same HTML for all paths | Path enumeration | Check API on other ports (8080, 8443, 3000, 5000, 8084), JS bundle route extraction, source maps, Firebase/Supabase, CORS exfil | | No vulns found on main app | App exploitation | Sister apps (same IP/cert/headers → same code), subdomains, staging/dev instances, mobile APKs, CMS admin panels, forum/community software |
Lateral Discovery Checklist (run this when stuck)
When a vector isn't paying off, systematically check these BEFORE declaring the target clean:
- Ports beyond top-20 — nmap -p- on critical targets, masscan on /24 ranges
- Non-standard API ports — 8080, 8081, 8084, 8443, 3000, 5000, 9090, 9000
- Subdomains — subfinder + crt.sh (staging, dev, admin, api, mail, cpanel, shop)
- JS bundle secrets — Firebase API keys, AWS/GCP credentials, internal endpoints, JWTs
- Open registration — wp-login.php?action=register, /signup, /register endpoints
- CORS exfiltration — ACAO reflection + ACAC:true = browser-readable data from authenticated victims
- Firebase / Supabase — API key in JS → anonymous auth → Firestore/RTDB read
- Error logs — /error_log, /debug.log, /wp-content/debug.log (often 1MB+ of paths, SQL, creds)
- Source code leaks — .git/HEAD, .env, sitemap.xml, robots.txt disallow paths, source maps
- Sister-app sweep — same IP / cert / headers → same vulnerable code template on other paths
The 3-Attempt Rule
Before spending more than 5 minutes on any SINGLE attack vector:
- Try the primary approach (e.g., 100 pwds via multicall)
- Try one lateral pivot (e.g., check open registration)
- Try one creative alternative (e.g., check CORS, Firebase, JS secrets)
If none worked in 3 distinct attempts, the vector is low-probability. Document what was tried and move on. Do NOT cycle back to the same vector with more of the same — find a qualitatively different angle.
Anti-Pattern: The Brute Force Trap
"Let me just try 100 more passwords..."
"Maybe I need a bigger wordlist..."
"Let me try one more round..."
🚫 STOP. If the first 100 targeted passwords didn't work, the next 10,000 won't either (for real-world passwords). Instead:
- Check if there's ANY authentication at all (CORS no-auth endpoints)
- Check if registration is open (create your own account)
- Check if the auth uses JWTs you can forge (alg=none, weak HMAC)
- Check if there's a different auth path (SSO, OAuth, SAML)
- Move on to a different target entirely
Pitfalls
- Don't skip Phase 1. Many critical findings come from passive recon (source leaks, GitHub SA keys).
- Don't spend more than 15 min on Phase 2. Quick filter is enough — save deep probing for Phase 6.
- OPSEC is not optional. Use proxy-ns or proxychains + Tor from the start. Never burn your source IP.
- .env is not always a finding. Verify content contains actual credentials (DB_, APP_KEY), not just SPA catch-all HTML.
- Document as you go. Don't wait until Phase 7 — you'll forget exact commands.
- Don't brute-force past the pivot trigger. 100 targeted passwords per vector is the max before lateralizing.
Verification
- Each phase has a clear exit criterion (e.g., "score >= 6 → escalate to Phase 6").
- Every finding must be reproducible with the exact command.
- All findings must pass the 7-question gate before reporting.
Related Skills
Agent-Reach
86.6kGive your AI agent eyes to see the entire internet. Read & search Twitter, Reddit, YouTube, GitHub, Bilibili, XiaoHongShu — one CLI, zero API fees.
headroom
74.2kCompress tool outputs, logs, files, and RAG chunks before they reach the LLM. 20% fewer tokens for coding agents, 60-95% fewer tokens for JSON, same answers. Library, proxy, MCP server.
Scrapling
84.8k🕷️ An adaptive Web Scraping framework that handles everything from a single request to a full-scale crawl! Don't be shy, join here: https://discord.gg/EMgGbDceNQ and follow here for daily tips and tricks: https://x.com/Scrapling_dev
crawl4ai
84.6kOpen-source web crawler and scraper for LLMs and AI agents: any website into clean, LLM-ready Markdown. Run it yourself, or use Crawl4AI Cloud with one key.
Languages
Trust signals
From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.
