关联漏洞
标题:
Grafana 路径遍历漏洞
(CVE-2021-43798)
描述:Grafana是Grafana实验室的一套提供可视化监控界面的开源监控工具。该工具主要用于监控和分析Graphite、InfluxDB和Prometheus等。 Grafana 8.0.0-beta1至8.3.0存在路径遍历漏洞,攻击者可利用该漏洞执行目录遍历攻击,访问本地文件。
描述
Exploit for grafana CVE-2021-43798
介绍
# PoC para CVE-2021-43798
Grafana es una plataforma de código abierto para monitoreo y observabilidad. Las versiones de Grafana desde 8.0.0-beta1 hasta 8.3.0 (excepto las versiones parcheadas) son vulnerables a ldirectory traversal, permitiendo el acceso a archivos locales. La URL vulnerable es: <grafana_host_url>/public/plugins//, donde es el ID del plugin para cualquier plugin instalado. En ningún momento Grafana Cloud ha sido vulnerable. Se recomienda a los usuarios que actualicen a las versiones parcheadas 8.0.7, 8.1.8, 8.2.7 o 8.3.1.
Este script de Python es una prueba de concepto (PoC) para explotar la vulnerabilidad CVE-2021-43798 en Grafana.
## Pre-requisitos
- Python 3
- Un sistema con Grafana que sea vulnerable a CVE-2021-43798
- Docker (solo si deseas levantar el laboratorio de pruebas)
## Uso
Para ejecutar este script, primero debes clonar el repositorio y moverte al directorio del proyecto:
```bash
git clone https://github.com/FAOG99/GrafanaDirectoryScanner.git
cd GrafanaDirectoryScanner
```
## Levantar laboratorio de pruebas
Si deseas levantar un laboratorio vulnerable puedes seguir los siguientes pasos:
```bash
cd CVE-2021-43798
docker-compose up -d
```
Despues de que el servidor levante, puedes navegar a http://localhost:3000 para ingresar a la página de login. Para este exploit no se necesitan credenciales.
## Ejecución del exploit
Luego puedes ejecutar el script utilizando Python 3.
Recuerda ejecutar el exploit desde la ruta correcta (si entraste a la carpeta del laboratorio recuerda regresar a la carpeta raíz)
Los argumentos necesarios son `-d` para especificar el dominio o la IP del sitio,
`-p` para especificar el puerto y `-f` para ingresar la ruta del archivo que deseas buscar (si no usas esta opción usará /etc/passwd por defecto). Aquí dejo un ejemplo
```bash
python3 GrafanaDirectoryScanner -d dominio.com -p 80 -f /etc/passwd
```
Si el script encuentra el archivo y puede leerlo, imprimirá el contenido del archivo. Si no puede encontrar el archivo, imprimirá un mensaje de error.
## Ejemplo

文件快照
[4.0K] /data/pocs/03b75baa1e6fbd1d2bb5e5daffb5b9fc00e5f9f1
├── [4.0K] CVE-2021-43798
│ └── [ 93] docker-compose.yml
├── [4.0K] GrafanaDirectoryScanner.py
└── [2.2K] README.md
1 directory, 3 files
备注
1. 建议优先通过来源进行访问。
2. 如果因为来源失效或无法访问,请发送邮箱到 f.jinxu#gmail.com 索取本地快照(把 # 换成 @)。
3. 神龙已为您对POC代码进行快照,为了长期维护,请考虑为本地POC付费,感谢您的支持。