Grafana 渗透测试综合指南

科技   2024-12-28 14:29   广东  

在漏洞评估、管理和渗透测试方面的全职工作与三年的错误搜寻作为副业之间的平衡教会了我一件事:好奇心驱动创新。我是 Sushant Ghanekar,在这篇文章中,我将指导您完成 Grafana 实例的渗透测试。那么让我们开始吧。

Grafana 到底是什么?

Grafana 是一个开源交互式数据可视化平台,由Grafana Labs开发,允许用户通过统一到一个仪表板(或多个仪表板!)的图表和图形来查看数据,以便于解释和理解。您还可以从信息存储的任何位置查询信息和指标并设置警报,无论是传统服务器环境、 Kubernetes 集群还是各种云服务等。

这篇文章是关于什么的?

本文是您探索公开披露的漏洞以及其他安全研究人员在 Grafana 实例中发现的轻松胜利的首选指南。如果您在错误赏金计划或渗透测试的背景下处理 Grafana,这篇文章将帮助您查明可以查找的常见问题。

1.默认凭证

当开始对 Grafana 实例进行安全评估时,最快的检查之一是测试默认凭据——这是一种常见的疏忽,可能会导致严重的漏洞。与许多其他平台一样,Grafana 通常附带预设的登录凭据,但管理员可能会忘记更新。

admin:admin
admin:prom-operator

测试默认凭据后,下一步是查找与您目标的特定 Grafana 版本相关的公开披露的 CVE 。识别Grafana 版本至关重要,因为漏洞通常是特定于版本的。您通常可以在登录页面底部找到显示的版本号。获得版本后,将其与公开可用的 CVE 进行交叉引用,以识别潜在的攻击媒介。

2. CVE-2020–13379:rhynorater

在对 Grafana 进行一些 bug 赏金安全研究时,我发现通过将一些重定向和 URL 参数注入 bug 链接在一起,可以在版本 3.0.1 的任何 Grafana 实例上实现完全读取、未经身份验证的 SSRF 7.0.1。可以在此处找到针对此错误的 Grafana 公告。

打开重定向:

https://target/avatar/test%3fd%3dgoogle.com%25253f%253b%252fbp.blogspot.com

链接此开放重定向最终 SSRF 后:

https://target/avatar/test%3fd%3dredirect.rhynorater.com%25253f%253b%252fbp.blogspot.com%252fYOURHOSTHERE

强烈推荐:

https://rhynorater.github.io/CVE-2020-13379-Write-Up

3.CVE-2020–11110

由于 OriginalUrl 字段中的输入保护不足,Grafana 到 6.7.1 都允许存储型 XSS,这使得攻击者可以注入 JavaScript 代码,这些代码将在访问快照后单击“打开原始仪表板”后执行。
https://target/api/snapshots

4.CVE-2021–43798

Grafana 版本 8.0.0-beta1 到 8.3.0(修补版本除外)容易受到目录遍历的攻击,从而允许访问本地文件。易受攻击的 URL 路径为:<grafana_host_url>/public/plugins// ,其中是任何已安装插件的插件 ID。

https://target/public/plugins/alertlist/../../../../../../../../../../../../../../../../../../../etc/passwd

有关此的更多信息:

https://github.com/jas502n/Grafana-CVE-2021-43798

 5.CVE-2021–41174

在受影响的版本中,如果攻击者能够说服受害者访问引用易受攻击页面的 URL,则可以在受害者浏览器的上下文中执行任意 JavaScript 内容。访问恶意链接的用户必须未经身份验证,并且该链接必须指向菜单栏中包含登录按钮的页面。必须精心设计 url 来利用 AngularJS 渲染并包含 AngularJS 表达式的插值绑定。AngularJS 使用双花括号进行插值绑定:{{ }} 例如:{{constructor.constructor('alert(1)')()}}。当用户点击链接并呈现页面时,登录按钮将包含带有查询参数的原始链接,以强制重定向到登录页面。

https://target/dashboard/snapshot/%7B%7Bconstructor.constructor(%27alert(document.domain)%27)()%7D%7D?orgId=1

6.CVE-2021–39226

在受影响的版本中,未经身份验证和经过身份验证的用户都可以通过访问文字路径来查看具有最低数据库密钥的快照:/dashboard/snapshot/:key 或 /api/snapshots/:key。如果快照“public_mode”配置设置设置为 true(默认为 false),则未经身份验证的用户可以通过访问文字路径 /api/snapshots-delete/:deleteKey 来删除具有最低数据库密钥的快照。无论快照“public_mode”设置如何,经过身份验证的用户都可以通过访问文字路径来删除具有最低数据库密钥的快照:/api/snapshots/:key 或 /api/snapshots-delete/:deleteKey。

https://target/api/snapshots/:key

7.CVE-2021–27358
如果设置了常用配置,Grafana 6.7.3 至 7.4.1 中的快照功能可能允许未经身份验证的远程攻击者通过远程 API 调用触发拒绝服务。
https://target/api/snapshots
8.CVE-2022–32275
Grafana 8.4.3 允许通过(例如)/dashboard/snapshot/%7B%7Bconstructor.constructor'/.. /.. /.. /.. /.. /.. /.. /.. / 读取文件等/passwd URI。
https://target/dashboard/snapshot/%7B%7Bconstructor.constructor'/.. /.. /.. /.. /.. /.. /.. /.. /etc/passwd
9.CVE-2022–32276
* 有争议 ** Grafana 8.4.3 允许通过(例如)/dashboard/snapshot/*?orgId=0 URI 进行未经身份验证的访问。注意:供应商认为这是一个 UI 错误,而不是漏洞。

https://target/dashboard/snapshot/*?orgId=0
10.CVE-2022–39307
当在登录页面使用忘记密码时,会向 /api/user/password/sent-reset-email 网址。当用户名或电子邮件不存在时,JSON 响应包含“用户未找到”消息。这会将信息泄露给未经身份验证的用户并引入安全风险。此问题已在 9.2.4 中修复并向后移植到 8.5.15。

https://target/api/user/password/sent-reset-email


感谢您抽出

.

.

来阅读本文

点它,分享点赞在看都在这里

Ots安全
持续发展共享方向:威胁情报、漏洞情报、恶意分析、渗透技术(工具)等,不会回复任何私信,感谢关注。
 最新文章