Grafana 是一个用于监控和可观测性的开源平台。Grafana 从 8.0.0-beta1 到 8.3.0 的版本(除已修补的版本外)容易受到目录遍历攻击,从而允许访问本地文件。易受攻击的 URL 为:<grafana_host_url>/public/plugins/<plugin_id>/,其中 <plugin_id> 是任意已安装插件的 ID。Grafana Cloud 从未易受攻击。建议用户更新到已修补的版本 8.0.7、8.1.8、8.2.7 或 8.3.1。
这个 Python 脚本是一个概念验证(PoC),用于利用 Grafana 中的 CVE-2021-43798 漏洞。
要运行此脚本,首先必须克隆仓库并进入项目目录:
git clone https://github.com/FAOG99/GrafanaDirectoryScanner.git
cd GrafanaDirectoryScanner
如果你想搭建一个易受攻击的实验室,可以按照以下步骤操作:
cd CVE-2021-43798
docker-compose up -d
服务器启动后,你可以访问 http://localhost:3000 进入登录页面。此漏洞利用不需要凭据。
然后你可以使用 Python 3 运行该脚本。
请记住从正确的路径运行该漏洞利用脚本(如果你进入了实验室文件夹,记得返回根目录)
所需参数有 -d 用于指定站点的域名或 IP,
-p 用于指定端口,-f 用于输入你想查找的文件路径(如果不使用此选项,将默认使用 /etc/passwd)。这里有一个示例
python3 GrafanaDirectoryScanner -d dominio.com -p 80 -f /etc/passwd
如果脚本找到该文件并且可以读取,它将打印文件的内容。如果找不到该文件,它将打印一条错误消息。
