offensive-tools/exploits/vuln-research/SKILL.md
Auth/lab ref: Exploit research workflow: a target software version or CVE: triage CVSS severity, find public PoCs on NVD/sploitus/PoC-in-GitHub/ExploitDB, assess exploitability, and locate Metasploit modules.
npx skillsauth add aeondave/malskill vuln-researchInstall 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.
Exploit research workflow — from software version to working exploit.
# On target — common version fingerprinting
uname -r # Kernel
lsb_release -a # Linux distro
apache2 -v / nginx -v # Web server
php --version # PHP
mysql --version # MySQL
python3 --version
dpkg -l | grep <package> # Debian package version
rpm -qa | grep <package> # RHEL/CentOS
https://nvd.nist.gov/vuln/search?query=<product>+<version>
pip install nvdlib
python3 -c "
import nvdlib
cves = nvdlib.searchCVE(keywordSearch='apache 2.4.49', limit=10)
for c in cves:
print(c.id, c.score, c.descriptions[0].value[:120])
"
curl -s "https://services.nvd.nist.gov/rest/json/cves/2.0?keywordSearch=OpenSSH+8.2&resultsPerPage=5" \
| jq '.vulnerabilities[].cve | {id: .id, score: .metrics.cvssMetricV31[0].cvssData.baseScore, desc: .descriptions[0].value[:100]}'
| Score | Severity | Action | |-------|----------|--------| | 9.0–10.0 | Critical | Exploit immediately — likely weaponized | | 7.0–8.9 | High | Check for PoC; often exploitable | | 4.0–6.9 | Medium | Exploit if conditions met (auth, local) | | 0.1–3.9 | Low | Deprioritize |
Key CVSS vectors to check:
https://sploitus.com/?query=<CVE-ID>
https://sploitus.com/?query=<product>+<version>
# Search GitHub for PoCs
curl -s "https://poc-in-github.motikan2010.net/api/v1/?cve_id=CVE-2021-44228" | jq '.pocs[]'
https://github.com/search?q=CVE-2021-44228+PoC&type=repositories&sort=updated
searchsploit <product> <version>
searchsploit --cve <CVE-ID>
https://www.exploit-db.com/search?cve=<CVE-ID>
https://packetstormsecurity.com/search/?q=<CVE-ID>
https://github.com/vulhub/vulhub/tree/master/<product>/<CVE>
# Ready-to-deploy Docker lab for the vulnerability
msfconsole -q -x "search cve:<CVE-ID>; exit"
msfconsole -q -x "search type:exploit name:<product>; exit"
If a Metasploit module exists: prefer it over raw PoC — handles payload staging, bad chars, encoders.
Before running:
# Check if target version is actually vulnerable
# Many PoCs have specific minor version requirements
# Linux: ASLR
cat /proc/sys/kernel/randomize_va_space # 2=full, 1=partial, 0=off
# Linux: mitigations
cat /proc/cpuinfo | grep -E 'flags|bugs' # spectre/meltdown status
# Windows: check patch level (if access)
systeminfo | findstr /B /C:"OS Version" /C:"Hotfix(s)"
# Network: verify service version matches
nmap -sV -p <port> <target>
| Category | CVE | Product | Impact | |----------|-----|---------|--------| | RCE | CVE-2021-44228 | Log4j 2.x | JNDI injection, AV:N/PR:N | | RCE | CVE-2021-41773 | Apache 2.4.49 | Path traversal + RCE | | LPE | CVE-2022-0847 | Linux kernel 5.8-5.16 | Dirty Pipe, overwrite RO files | | LPE | CVE-2021-4034 | Polkit pkexec | Local root | | RCE | CVE-2017-0144 | Windows SMB | EternalBlue, wormable | | RCE | CVE-2019-0708 | Windows RDP | BlueKeep, pre-auth | | RCE | CVE-2021-26855 | Exchange | ProxyLogon, SSRF | | Auth bypass | CVE-2020-1472 | Netlogon | Zerologon |
| File | When to load |
|------|--------------|
| references/sources.md | Full source list, API references, CVSS vector decoder |
development
White-box auditing methodology for AI-generated ('vibe-coded') applications. Focuses on modern stack misconfigurations (Supabase, Next.js, Vercel).
development
Hybrid AI/Deterministic SAST methodology for discovering zero-day vulnerabilities in source code. Orchestrates structural search with AI-driven data flow and sink validation.
development
Auth assessment: hardware/embedded methodology; UART/JTAG/SWD/SPI/I2C, firmware extraction, boot/debug paths, embedded OS evidence.
devops
Container methodology: Identifying containerization limits, Docker/K8s misconfigurations, and executing escapes to the host node.