POC详情: 03b75baa1e6fbd1d2bb5e5daffb5b9fc00e5f9f1

来源
关联漏洞
标题: 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
![Screenshot_20230512_105018](https://github.com/FAOG99/GrafanaDirectoryScanner/assets/92898049/74b3588b-28ab-4c23-9cca-e2e2201db49f)



文件快照

[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付费,感谢您的支持。