In der Welt des Penetration Testings halten LLMs (Large Language Models) zunehmend Einzug. Ein Chatbot, der lediglich theoretische Ratschläge erteilt, ist jedoch oft weniger nützlich als ein System, das direkt interagieren kann.
Dieses Tutorial beschreibt die Vorgehensweise, um Claude Desktop auf einem Mac mit einer Kali Linux VM zu verbinden. Hierfür kommt das Model Context Protocol (MCP) zum Einsatz.
Das Besondere an diesem Setup: Das macOS-System bleibt frei von lokal installierten Hacking-Tools, da die gesamte Kommunikation sicher getunnelt über SSH erfolgt.
Der Versuchsaufbau (Lab Setup)
Für das Verständnis der Architektur ist ein Blick auf die Netzwerkkonfiguration hilfreich. Das Setup besteht aus zwei Maschinen im lokalen Netzwerk:
- Der Controller (macOS): Hier wird die Claude Desktop App ausgeführt. IP:
192.168.171.37(Beispieladresse). - Das Werkzeug (Kali Linux VM): Auf diesem System sind die Pentesting-Tools installiert. IP:
192.168.171.38(Beispieladresse, diese ist an das eigene Netzwerk anzupassen).

Funktionsweise des Kali-MCP-Servers
Eine häufige Hürde bei der Einrichtung ist das Verständnis der Komponenten auf der Kali-Seite. Es arbeiten zwei Elemente zusammen:
- Das Backend (
kali-server-mcp): Ein Flask-Webserver, der mit Root-Rechten (via sudo) ausgeführt wird. Er lauscht standardmäßig auf Port 5000 und führt die Befehle (wie z. B.nmap -O) aus. - Die Bridge (
mcp_server.py): Ein Python-Skript, das als Übersetzer fungiert. Claude Desktop nutzt das „MCP“-Protokoll (ein JSON-Format über Standard-Input/Output), während der Webserver HTTP spricht. Die Bridge nimmt die Befehle von Claude entgegen und leitet sie an den lokalen Webserver weiter.
Der Vorteil: Die Bridge muss nicht manuell gestartet werden. Claude baut eine SSH-Verbindung zur Kali-VM auf und initiiert die Bridge automatisch.
Schritt-für-Schritt Anleitung
Voraussetzungen
- Mac mit installierter Claude Desktop App.
- Kali Linux VM
- Beide Geräte befinden sich im selben Netzwerk.
Schritt 1: Installation der Pakete auf Kali
Zunächst müssen die erforderlichen Pakete auf der Kali-VM installiert werden. In aktuellen Kali-Versionen sind diese direkt über den Paketmanager verfügbar.
Das Terminal auf der Kali-VM öffnen und folgende Befehle ausführen:
sudo apt update
sudo apt install -y mcp-kali-server
Hinweis: Dieses Paket installiert sowohl den Backend-Webserver (kali-server-mcp) als auch das notwendige Client-Skript (mcp_server.py).
Schritt 2: Starten des Backend-Servers auf Kali
Nach der Installation muss der Server gestartet werden. Dieser Prozess ist notwendig, damit die Bridge später eine Gegenstelle hat.
# Auf der Kali VM
sudo kali-server-mcp --port 5000
Das Terminal sollte geöffnet bleiben. Die Ausgabe sollte lauten: Running on http://127.0.0.1:5000.
Schritt 3: Einrichtung von Passwordless SSH
Damit Claude im Hintergrund agieren kann, muss der SSH-Login vom Mac zur Kali-VM ohne Passworteingabe möglich sein.
- Generierung der SSH-Keys auf dem Mac (falls nicht vorhanden):
ssh-keygen -t ed25519 # WICHTIG: Es darf kein Passwort (Passphrase) gesetzt werden (einfach Enter drücken). - Übertragung des Keys auf die Kali-VM: Der Platzhalter
userist durch den Kali-Benutzernamen und die IP durch die korrekte Kali-IP zu ersetzen.ssh-copy-id user@192.168.171.38 - Funktionstest:
ssh user@192.168.171.38 "echo Erfolg"
Erfolgt keine Passwortabfrage, ist die Konfiguration korrekt.
Schritt 4: Konfiguration von Claude Desktop
Nun wird Claude angewiesen, bei Bedarf eine SSH-Verbindung aufzubauen und den Python-Client auf dem Zielsystem zu starten.
Die Konfigurationsdatei auf dem Mac ist zu öffnen: ~/Library/Application Support/Claude/claude_desktop_config.json
Folgender Inhalt ist einzufügen (Benutzer und IP sind anzupassen):
{
"mcpServers": {
"kali-remote": {
"command": "ssh",
"args": [
"user@192.168.171.38",
"python3",
"/usr/share/mcp-kali-server/mcp_server.py",
"--server",
"http://127.0.0.1:5000"
]
}
}
}
Schritt 5: Pentesting mit KI-Unterstützung
Nach einem Neustart von Claude Desktop sollten keine Fehlermeldungen erscheinen. Dann können Befehle in natürlicher Sprache eingegeben werden:
„Scanne das Netzwerk 192.168.171.0/24 nach aktiven Hosts.“ „Führe einen Nmap Version-Scan auf 192.168.171.1 durch und erkläre die offenen Ports.“
Claude führt die Befehle auf der VM aus, liest den Output und analysiert diesen direkt.
Fazit
Dieses Setup optimiert den Workflow erheblich. Die saubere Benutzeroberfläche von Claude auf dem Mac bleibt erhalten, während die volle Leistungsfähigkeit der Kali-Tools in einer isolierten VM genutzt wird. Durch den Einsatz des SSH-Tunnels müssen zudem keine unsicheren Webserver im Netzwerk exponiert werden.
