Pentesting Skill — Pipeline Shannon

SkillSecurity

Usar cuando se ejecuta un pentest contra una aplicación o infraestructura.

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the Pentesting Skill — Pipeline Shannon skill

What this skill tells your AI

The instructions your AI receives, as published by gonzalezpazmonica/pm-workspace in .claude/skills/pentesting/SKILL.md and read by ahel’s review.

§1 — Arsenal (detalle en checklists.md)

Recon: nmap, dig, whois, subfinder, amass, gobuster, ffuf, whatweb, crt.sh, testssl.sh Web: SQLi (error/blind/time/UNION), XSS (reflected/stored/DOM), SSTI, XXE, SSRF, CSRF, CMDi, path traversal, file upload, deserialization, business logic Auth: brute force, JWT (none/key-confusion/claim-tamper), OAuth abuse, SAML, session fixation AuthZ: IDOR, BOLA/BFLA, priv escalation (H/V), forced browsing, mass assignment API: REST param pollution, GraphQL introspection/DoS, gRPC reflection, WebSocket, rate limit bypass Infra: nmap NSE, mitmproxy, scapy, Redis/Mongo/ES/MySQL, TLS audit Container: Docker socket escape, privileged mode, K8s RBAC/etcd/pod escape, Helm injection Cloud: AWS IMDS/S3/IAM, Azure MI/SAS/RBAC, GCP metadata/SA keys Crypto: MD5/SHA1/ECB detection, padding oracle, hardcoded keys, PRNG prediction

§2 — Herramientas

# apt: nmap dnsutils whois nikto dirb tcpdump netcat socat openssl jq
# pip: sqlmap wfuzz mitmproxy scapy requests beautifulsoup4 pyjwt pycryptodome httpx

§3 — Informe final (Fase 5)

# Pentest Report — {sistema}
**Fecha:** {fecha} | **Entorno:** {env} | **Scope:** {desc}
## Executive Summary
Riesgo: {level} | Hallazgos probados: C:{n} H:{n} M:{n} L:{n}
Descartados (sin prueba L3): {n}
## Proven Findings (solo L3 — con evidencia)
## Attack Chains (diagramas de cadenas exitosas)
## Failed Attempts (L1/L2 — transparencia, sin contar como hallazgos)
## Remediation Roadmap (P0-P3)
## Positive Findings (controles que funcionaron)

§4 — Reglas por entorno

DEV: ✅ todo. Fuzzing agresivo, exploits, brute force, DoS controlado. ⚠️ No destruir datos sin backup. PRE: ✅ OWASP, fuzzing moderado. ❌ No brute force, no DoS, no datos ajenos. PROD: ✅ Solo pasivo (headers, TLS, DNS, auth test). ❌ No exploits, no fuzzing. Todo reversible.

§5 — Checklists (detalle en checklists.md)

Web: headers, TLS, cookies, CORS, auth, authz, input validation, upload, errors, rate limit, business logic API: auth, authz/endpoint, validation, mass assignment, rate limit, pagination, content-type, versioning, docs Infra: ports, versions, creds, SSH, firewall, DNS, email security, certs Cloud: non-root, no privileged, pinned images, RBAC, network policies, secrets, IAM, storage

§6 — MITRE ATT&CK

TácticaTécnicas
ReconnaissanceActive scanning, open websites
Initial AccessExploit public app, valid accounts
ExecutionCommand interpreter, exploitation
PersistenceAccount manipulation, scheduled task
Priv EscalationExploitation, token manipulation
Credential AccessBrute force, credential dumping
Lateral MovementRemote services, exploitation
ExfiltrationOver C2, web service, alt protocol

§7 — CVSS v3.1 simplificado

FactorPesoValores
Attack Vector0.3Network(1.0) Adjacent(0.7) Local(0.5) Physical(0.2)
Complexity0.2Low(1.0) High(0.5)
Privileges0.2None(1.0) Low(0.6) High(0.3)
Impact0.3High(1.0) Medium(0.6) Low(0.3)

§8 — STRIDE quick-ref

CatPreguntaControles
Spoofing¿Suplantar?Auth, MFA, tokens
Tampering¿Modificar?Integridad, HMAC
Repudiation¿Negar?Audit logs
Info Disclosure¿Acceder?Encryption, ACL
DoS¿Tumbar?Rate limiting, WAF
Elevation¿Escalar?RBAC, least privilege

§9 — Vulnerability Queue Format (Fase 3 → Fase 4)

Cada archivo 03-vuln-{clase}.json contiene:

{"vulnerabilities": [
  {"id": "INJ-001", "endpoint": "/api/search", "parameter": "q",
   "type": "sqli_error", "sink": "SQL query string interpolation",
   "source_file": "app.py:42", "confidence": "high",
   "suggested_payload": "' OR '1'='1", "notes": "No parameterized query"}
]}

Campos requeridos: id, endpoint, parameter, type, confidence. Si confidence < medium, no se intenta exploitation.

§10 — Verificación binaria (SE-351, gate de EXPLOITED)

Un hallazgo solo se marca EXPLOITED (y pasa a L3) si scripts/poc-verify.sh devuelve VERIFIED contra el oráculo del target. La evidencia la produce el programa (exit code / regex), NO el juicio del agente. "Facts, not claims".

bash scripts/poc-verify.sh verify --oracle rules/poc-verify/{target}.json \
  --poc {path_al_poc} --name PT-{NNN}
# VERDICT: VERIFIED   → EXPLOITED / L3
# VERDICT: NOT_VERIFIED → ATTEMPTED_FAILED (no reportar)
# VERDICT: TIMEOUT    → ATTEMPTED_FAILED (timeout)
  • El recibo JSON generado (output/security/poc-verify-*.json) se adjunta al hallazgo como evidencia reproducible.
  • security-auditor puede re-ejecutar el verificador para confirmar/desmentir.
  • Oráculos por target en rules/poc-verify/. CRIT-001: PoCs solo en entornos controlados (Docker local network=none o comando local time-boxed), NUNCA contra producción sin autorización escrita. Sin red a proveedor.

Signals

GitHub stars
50
Forks
12
Last commit
Sep 2026

Others that do the same job

Advanced
Catalog kind
skill
Gateway key
pentesting
Source
github.com/gonzalezpazmonica/pm-workspace