offensive-techniques/vuln-search-technique/SKILL.md
Active vulnerability discovery methodology for AI agents. Covers the full find loop: service version fingerprinting, CVE correlation and prioritization, automated scanner orchestration (nuclei/nikto/openvas), nmap NSE script probing, targeted tool scanning (testssl/wpscan/sqlmap probe), fuzzing integration, and manual logic review. Use when you have a scoped target inventory from recon and need to systematically identify exploitable vulnerabilities before attempting initial access.
npx skillsauth add aeondave/malskill vuln-search-techniqueInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Goal: convert a recon-produced asset inventory into a confirmed, prioritized, exploitable vulnerability list ready for vuln-exploit-technique or web-exploit-technique.
recon-technique: asset list, port/service/version inventory, web fingerprint.vuln-exploit-technique: confirmed infrastructure/service vulnerabilities with CVE, severity, exploitation path.web-exploit-technique: confirmed web app vulnerabilities (SQLi, SSRF, auth bypass, etc.) with class, surface, and exploitation route.fuzzing-technique; integrated here as a bounded probe phase.Before scanning, classify each target by service type and likely failure mode so coverage stays deliberate instead of noisy.
nuclei, nikto, openvas, nmap NSE), then technology-specific skills (testssl, wpscan, sqlmap, dalfox, corsy, smuggler, sstimap, ssrfmap, nosqlmap) based on what fingerprinting and app mapping reveal.Loop per target:
1. Fingerprint service version precisely.
2. Correlate version against CVE databases — prioritize by exploitability.
3. Run automated scanners (nuclei, nikto, nmap NSE).
4. Run targeted tool probes per detected tech/service.
5. Fuzz high-value input surfaces for unknown vulns.
6. Review logic and config manually for issues scanners miss.
7. Triage and rank findings — eliminate false positives.
Exit when: confirmed finding list covers all high-priority targets
OR scope time/effort budget exhausted.
Precise version identification enables accurate CVE matching. Vague version ranges produce noise.
# nmap — service version + banner
nmap -sV --version-intensity 9 -p <ports> <target>
# nmap — OS fingerprint (combine with version)
nmap -sV -O -p <ports> <target>
# Banner grab specific port
nc -nv <target> <port>
curl -sI https://target.com # HTTP headers
curl -sI --http1.1 https://target.com # force HTTP/1.1 for different response
Extract:
Cross-reference detected versions against vulnerability databases. Prioritize by exploitability, not CVSS alone.
| Source | What it gives | |--------|--------------| | CISA KEV Catalog | Actively exploited in the wild — highest priority | | NVD / CVE.org | Full CVE details, CVSS score, affected versions | | exploit-db / searchsploit | Public exploits available for this CVE | | GitHub PoC search | Unregistered PoCs, fresh exploits | | Vulners / VulDB | Aggregated exploit intelligence |
Score = exploitability × impact × availability
Tier 1 — Act immediately:
- CISA KEV listed
- Public exploit available (exploit-db / GitHub PoC)
- CVSS ≥ 9.0 (Critical) + network attack vector + no auth required
Tier 2 — High priority:
- CVSS 7.0-8.9 + known exploit path
- Authentication bypass, RCE, SQLi, SSRF
Tier 3 — Medium priority:
- CVSS 4.0-6.9 + requires some conditions
- XSS, info disclosure, config weakness
Tier 4 — Document only:
- No public exploit, CVSS < 4.0, requires complex conditions
See references/cve-correlation.md for database search patterns and version matching.
Use SSVC-style prioritization when a CVSS number does not capture urgency. Combine exploitation status, technical impact, automatability, exposure, and mission prevalence into action labels (Track, Track*, Attend, Act); see references/risk-prioritization.md.
Run scanners in layers — broad first, targeted second. Never only one scanner.
Primary scanner. 12,000+ community templates covering CVEs, misconfigs, exposures, tech-specific checks.
# Scan with all default templates
nuclei -u https://target.com
# Target-specific template categories
nuclei -u https://target.com -t cves/ # CVE checks
nuclei -u https://target.com -t exposures/ # exposed files, configs
nuclei -u https://target.com -t misconfigurations/ # server misconfigs
nuclei -u https://target.com -t technologies/ # tech fingerprint
nuclei -u https://target.com -t vulnerabilities/ # known vuln patterns
# Scan list of URLs
nuclei -list urls.txt -t cves/ -o nuclei_cves.txt
# Filter by severity
nuclei -u https://target.com -severity critical,high -o high_crit.txt
# Match specific CVE
nuclei -u https://target.com -id CVE-2021-44228
# Rate control (avoid aggressive default on sensitive scopes)
nuclei -u https://target.com -rate-limit 50 -concurrency 10
See offensive-tools/vuln-scanners/nuclei/ for template selection and custom template writing.
Complements nuclei at the server config layer (headers, methods, legacy paths, default content).
# Standard web scan
nikto -h https://target.com
# With authentication
nikto -h https://target.com -id user:pass
# Specific port
nikto -h target.com -p 8080
# Output to file
nikto -h https://target.com -output nikto_out.txt -Format txt
See offensive-tools/vuln-scanners/nikto/.
Use OpenVAS/GVM when the scope requires broad infrastructure coverage, authenticated checks, or vulnerability-management style reporting. Keep it rate-controlled and scoped; use targeted tools for validation.
# Run from the OpenVAS/GVM UI or automation wrapper.
# Configure: target list, port list, scan config, credentials if authorized.
# Export results, then manually validate high-risk findings before handoff.
See offensive-tools/vuln-scanners/openvas/.
Run targeted NSE scripts per service type after version detection.
# HTTP specific
nmap --script http-vuln-* -p 80,443 target.com
nmap --script http-auth-finder,http-methods,http-headers -p 80,443 target.com
# SMB
nmap --script smb-vuln-ms17-010,smb-vuln-cve-2017-7494 -p 445 target.com
nmap --script smb-enum-shares,smb-os-discovery -p 445 target.com
# SSH
nmap --script ssh-auth-methods,ssh-vuln-cve2018-10933 -p 22 target.com
# SSL/TLS
nmap --script ssl-enum-ciphers,ssl-heartbleed,ssl-poodle -p 443 target.com
# FTP
nmap --script ftp-anon,ftp-bounce,ftp-vuln-cve2010-4221 -p 21 target.com
# All vuln scripts (noisy)
nmap --script vuln -p <open_ports> target.com
Per detected technology, run the purpose-built scanner.
testssl --severity HIGH --parallel https://target.com
testssl --full https://target.com # all checks
testssl --openssl-timeout 20 target.com:443
See offensive-tools/vuln-scanners/testssl/.
wpscan --url https://target.com --enumerate vp,vt,u # plugins, themes, users
wpscan --url https://target.com --api-token <token> # CVE database lookup
See offensive-tools/vuln-scanners/wpscan/.
# Probe only — no exploitation yet
sqlmap -u "https://target.com/page?id=1" --level=2 --risk=1 --batch --dbs
sqlmap -u "https://target.com/page?id=1" --forms --crawl=2 --batch
See offensive-tools/vuln-scanners/sqlmap/ for detection patterns. Full exploitation in vuln-exploit-technique.
| Tech detected | Tool | Skill |
|---------------|------|-------|
| SSRF indicators | ssrfmap | offensive-tools/vuln-scanners/ssrfmap/ |
| SSTI indicators | sstimap | offensive-tools/vuln-scanners/sstimap/ |
| CORS misconfiguration | corsy | offensive-tools/web/corsy/ |
| XSS surfaces | dalfox | offensive-tools/vuln-scanners/dalfox/ |
| NoSQL injection | nosqlmap | offensive-tools/vuln-scanners/nosqlmap/ |
| HTTP smuggling | smuggler | offensive-tools/web/smuggler/ |
For web-accessible targets identified in fingerprinting, apply a structured analysis before declaring no findings. Automated scanners miss logic flaws, broken auth, and injection in complex inputs.
Before probing, understand the attack surface:
/api/, /graphql, /rest/, Swagger/OpenAPI docs at /swagger, /api-docs.Checklist:
- [ ] Login brute-force protection? (rate limiting, lockout)
- [ ] Password reset flow: token entropy, expiry, reuse
- [ ] Session token entropy and predictability
- [ ] Session invalidation on logout
- [ ] JWT: algorithm confusion (alg:none, RS256→HS256), weak secret, expired token accepted
- [ ] OAuth: state parameter missing, redirect_uri bypass, token leakage in referrer
- [ ] MFA: OTP replay, backup code brute-force, bypass via response manipulation
- [ ] Auth response manipulation: change "success":false to true, remove error field
Checklist:
- [ ] IDOR: replace numeric/UUID IDs with other users' values in every endpoint
- [ ] Horizontal privilege: user A accessing user B's resources
- [ ] Vertical privilege: regular user accessing admin/staff endpoints
- [ ] Function-level auth: unauthenticated access to authenticated endpoints
- [ ] Mass assignment: add extra fields to POST/PUT (isAdmin, role, price)
- [ ] HTTP method override: X-HTTP-Method-Override, _method parameter
- [ ] GraphQL introspection enabled → full schema exposure; BOLA on object IDs
Map inputs that reach dangerous sinks:
| Input type | Where to probe | Injection class |
|------------|---------------|-----------------|
| URL parameters | ?id=, ?query=, ?url= | SQLi, SSRF, path traversal |
| POST body fields | form data, JSON, XML | SQLi, SSTI, XXE, cmd injection |
| HTTP headers | User-Agent, X-Forwarded-For, Referer, Host | SQLi, SSRF, header injection |
| File upload | filename, content, MIME type | RCE, XSS, path traversal |
| Cookie values | session, user IDs | SQLi, SSRF, deserialization |
| JSON/XML bodies | nested keys, type coercion | NoSQLi, XXE, SSTI |
For each input surface: probe with class-specific detection payload before confirming. Do not exploit without confirming.
Checklist:
- [ ] CORS: Access-Control-Allow-Origin: * or reflects Origin with credentials
- [ ] Security headers missing: CSP, X-Frame-Options, HSTS, X-Content-Type-Options
- [ ] Admin/debug endpoints reachable: /admin, /debug, /actuator/env, /phpinfo.php
- [ ] Directory listing enabled
- [ ] Sensitive files exposed: .env, .git/HEAD, .DS_Store, backup.zip
- [ ] API versioning: does /api/v1/ have weaker controls than /api/v2/?
- [ ] Error messages reveal stack trace, DB type, internal paths
- [ ] HTTP methods: TRACE/OPTIONS enabled, PUT allowed
See references/web-vuln-analysis.md for per-class detection workflows (SQLi/SSRF/SSTI/XSS/auth).
When automated scanners return no findings on custom or complex input handlers, apply targeted fuzzing.
fuzzing-technique for the full fuzzing loop.Scanners miss: auth logic flaws, IDOR, business rule bypasses, race conditions, insecure direct object references.
Manual checks per target type:
Web application:
X-HTTP-Method-Override: DELETE work?API:
alg:none accepted? Secret brute-forceable? Expired token accepted?offensive-tools/web/jwt-tool/ for JWT attack surfaceInfrastructure:
/actuator/env, Rails /rails/info)After scanning, consolidate findings:
Use references/false-positive-elimination.md before handing findings to exploitation; it defines positive/negative controls, confounder checks, and confidence levels.
data-ai
Scoped routing: Linux operator; hosts, sessions, users, services, packages, logs, containers, SSH, network paths, privilege evidence.
development
Offensive methodology for ICS/OT/SCADA environments in authorized industrial penetration testing and red team operations. Use when assessing PLCs, RTUs, HMIs, engineering workstations, historians, or field devices running Modbus, DNP3, EtherNet/IP, S7comm/S7+, Profinet, IEC 60870-5-104, BACnet, or OPC-UA. Covers passive OT network enumeration, protocol-level device interrogation, PLC coil/register read-write attacks, HMI session exploitation, historian and engineering workstation compromise, and safe escalation rules for critical infrastructure scope. Does not cover: general IT network exploitation (network-technique), physical hardware interfaces UART/JTAG/SPI (hardware-technique), wireless sensor network attacks (wireless-technique), RF/SDR signal analysis (hardware-ctf or wireless-technique), or CTF-framed ICS lab tasks (ics-ctf).
tools
Offensive methodology for authorized game security assessments, game client security research, and game-adjacent penetration testing in real-world engagements. Use when assessing game clients for cheating vulnerabilities, testing anti-cheat effectiveness, auditing game server protocols for score manipulation or economic fraud, reverse engineering game DRM or license validation, analyzing game save file protection, or assessing game mod/plugin security. Covers: process memory scanning and manipulation (Cheat Engine methodology), game binary reversing for license and DRM bypass, game network protocol analysis and packet replay, anti-cheat mechanism analysis, save file format reversing and tampering, speed hack and value injection techniques. Does NOT cover: CTF game challenges (game-ctf), game engine source code auditing (web-exploit-technique or vuln-search-technique for the backend), or general binary exploitation (pwn-ctf or reversing-technique).
development
Auth assessment: hardware/embedded methodology; UART/JTAG/SWD/SPI/I2C, firmware extraction, boot/debug paths, embedded OS evidence.