12月07日,Grafana被曝出存在0day漏洞,漏洞细节及POC也随之被公开,攻击者利用该漏洞可以在未授权的情况下读取主机任意文件。云鼎实验室哨兵系统持续关注云上安全风险,于12月08日凌晨第一时间捕获到该漏洞的在野利用。
一、漏洞概述
Grafana是一套跨平台的开源分析和交互式可视化解决方案,用户配置连接的数据源之后,Grafana 可以在网络浏览器里显示数据图表和警告。
2021年12月03日,Grafana官方收到一份报告,称Grafana容易受到目录遍历的影响。
12月07日下午15:14,推特用户@j0v声称发现Grafana目录遍历漏洞,攻击者利用该漏洞可以在未授权的情况下读取任意文件。
由于公开时厂商未提供任何解决方案,该漏洞处于0day状态,瞬间吸引了安全研究者的注意,云鼎实验室在监测到该漏洞后,对该漏洞复现成功,第一时间发布安全公告提示用户风险。
随后,推特和github上就出现了针对该漏洞的可用POC,这大大降低了攻击者开展恶意活动的门槛,Grafana Labs紧急发布修复方案。
二、在野攻击分析
云鼎实验室哨兵系统监测到,该漏洞的首次在野利用出现在12月08日00:16,攻击IP定位在缅甸,在初期攻击者仅尝试获取主机的/etc/passwd文件,大约1个小时后攻击者遍历的路径开始变化,并呈现出自动化扫描的特点。现在在野利用基本为漏洞验证与大批量扫描验证阶段,暂未发展到自动化病毒感染阶段。
1、攻击源分析
云鼎哨兵对攻击IP所处地理位置进行了测绘,发现大多数扫描和攻击来源分布在韩国、印尼、荷兰和美国等国家,尤其是来自韩国的扫描请求占了所有请求的60%,而来自国内IP的攻击几乎没有。
由于国内厂商对于该漏洞的处置及响应速度很快,哨兵系统国内大陆节点几乎不受影响。哨兵系统被攻击节点所处位置均位于境外,其中位于中国香港的节点承受了超过91%的攻击次数。
2、攻击工具分析
现阶段的攻击基本由扫描工具构成,在发动攻击过程中需要攻击者将自己的请求身份伪装成某种浏览器,而这个伪装信息就包含在 User-Agent 字段的赋值中,通过对UA的统计,可以看出攻击者所偏好的伪装方式。
哨兵系统对本次grafana漏洞利用中攻击者采用的UA进行了统计,发现有多种扫描方式,包括:python aiohttp框架扫描,zmap扫描器, go-resty,curl,libwww-perl,scrapy等。
3、攻击载荷分析
由黑客公开的POC来看,攻击者最主要的利用应该包括:
1. 读/etc/passwd,攻击者能够获得主机上的用户信息。
2. 读数据库,默认情况下,Grafana使用sqlite3数据库,攻击者读取此数据库以获取用户、授权令牌和数据源。
3. 读配置文件,Grafana将其配置存储在/conf/defaults.ini文件中,其中存储了secret_key,可以对数据源进行解密。
从POC来看,攻击者似乎只能读取主机上的部分文件,无法在主机上执行命令。哨兵系统对攻击者所请求读取的文件路径进行了统计,其中读取/etc/passwd的请求占了50%以上,相关比例如下图所示:
从哨兵系统实际检测到的payload来看,还存在部分攻击者试图获得主机的ssh密码和私钥,从而获取主机的控制权。经过验证,当使用特权账户(root权限)运行Grafana服务时,攻击者就能够获取到主机的登录凭据,从而通过SSH登录,开展更具破坏性的恶意活动。
三、修复建议
主流的7.x版本不受影响,主要影响最新8.x版本,Grafana lab已经提供了对应版本修复的patch,对应低版本的用户请及时升级。 - 腾讯T-Sec漏洞扫描服务、腾讯T-Sec主机安全(云镜)已支持检测企业资产是否存在Grafana任意文件读取漏洞; - 腾讯T-Sec高级威胁检测系统(NTA,御界)、腾讯T-Sec Web应用防火墙均已升级,支持检测、或拦截Grafana 任意文件读取漏洞的攻击利用。
参考链接:
https://twitter.com/jas502n/status/1468116658531487747
https://golangrepo.com/repo/taythebot-grafana-lfi-vulnerability#Exploit-Script
https://grafana.com/blog/2021/12/07/grafana-8.3.1-8.2.7-8.1.8-and-8.0.7-released-with-high-severity-security-fix/
END
更多精彩内容点击下方扫码关注哦~
云鼎实验室视频号
一分钟走进趣味科技
-扫码关注我们-
关注云鼎实验室,获取更多安全情报