导语:Citrix 在 9 月 27 日公开披露 NetScaler ADC 与 Gateway 的双重零日 CVE-2026-88771 与 CVE-2026-88772,研究员称之为 “PitScaler”。攻击者用畸形 DTLS 包打挂 NSPPE 换 root,再丢两个全新 Web shell 与隧道木马打通内网。受影响行业涵盖政府、金融、教育、法律与专业服务,北美与欧洲多机构已中招。
一、时间线
- 9 月初:Mandiant 观察到攻击活动已开启
- 9 月 24 日:GreyNoise 抓到来自 149.104.78.141 的探测流量,比公开披露早三天
- 周末:IT 供应商、安全团队、各国 CERT(计算机应急响应小组)私下警告,建议部分企业直接关停受影响设备
- 9 月 27 日:Citrix 公开披露 CVE-2026-88771 与 CVE-2026-88772,发布补丁

二、两个 CVE 各打什么
CVE-2026-88771:未认证远程代码执行,影响所有 NetScaler ADC 和 Gateway 部署,无需任何凭据。
CVE-2026-88772:内存溢出漏洞,仅当 DTLS 启用时可被利用,能让攻击者拿到远程代码执行或制造拒绝服务。研究员给它起了外号 “PitScaler”。
Mandiant 把两个漏洞都归到实战利用里,且都跑通了。Citrix 自己也确认两个都已被野外利用。
三、攻击链:从畸形包到 root
Mandiant 给出的利用路径相当直接:发送特殊构造或分片的 DTLS 记录头,触发 NetScaler Packet Processing Engine(NSPPE,数据包处理引擎)的堆内存边界破坏,控制流被劫持到攻击者布置的 shellcode,最终以 FreeBSD 上的 root 权限执行任意指令。
NSPPE 崩了反而是攻击者的胜利,因为崩溃掩盖了真正的入侵动作。攻击者落地后干了三件事:
- 写一个密码保护的 PHP Web shell 到
/var/netscaler/logon/LogonPoint/custom/.ctxs.receiver - 改
/etc/httpd.conf,让.css文件(典型如receiver.min.css)走 PHP 解析 - 给
/bin/sh加 setuid(Set User ID, 即允许普通用户以文件属主权限运行)位,把普通 Web 进程提回 root
这套打法的精髓是把”看起来无害”的资源路径(CSS、Debian 包、签名文件、ico 图标)改写成 PHP 入口,流量混在正常业务里几乎抓不出来。
四、WHIPSHOT + SLAPSHOT 组合
Mandiant 给两个新发现的恶意软件家族取了名。
WHIPSHOT 是 PHP Web shell,伪装成 Debian 包放进 NetScaler VPN 脚本目录。它的角色是 HTTP 代理,从请求头里抠 Base64 数据转发给本地跑的隧道程序。WHIPSHOT 还会主动检查 SLAPSHOT 是否存活,按需把内嵌的 Python payload 解出来后台拉起。
SLAPSHOT 是 Python 写的 TCP 隧道工具,负责桥接被攻陷的 NetScaler 与内网设备。攻击者通过 WHIPSHOT 下指令,SLAPSHOT 开连接、收发数据、完成后关闭会话。空闲超时会自删,规避扫描。
两个组合起来就是:Web shell 兜入口、Python 隧道兜内网渗透。Mandiant 已经观测到攻击者用这套手动做内网侦察和凭据窃取。
Mandiant 同样观察到持久化的花活:用轻量级 installer Web shell 给 /bin/sh 加 setuid 位,下次任何低权限进程都能提权 root。攻击者还会重启 NetScaler 或其 web 服务器让 httpd.conf 改动生效。
五、为什么 NetScaler 一直是金矿
边缘 VPN/网关设备有几个天然弱点:
- 公网可达,零信任边界最薄弱
- 部署在企业内网入口,攻下来就是横向跳板
- 多跑 FreeBSD 定制版,几乎没有 EDR(端点检测与响应)能盯
- 升级窗口长,运维更怕停机,往往落后补丁
这次 Mandiant 列出受害行业横跨政府、金融服务、教育、法律、专业服务,北美和欧洲都有。Citrix 上一轮 CVE-2025-6543、CVE-2025-5777 已经出过同类问题,这次的”PitScaler”是同一套剧本的升级版。
六、狩猎与检测
Mandiant 给出可落地的排查项:
- httpd.conf 里冒出来的 PHP handler(处理器)、Alias(别名)或 AliasMatch(别名正则匹配)条目
- 包含 PHP 代码的
.deb或.sig文件 - 异常 HTTP 404 响应(部分样本返回假 404 掩盖命令执行)
- NSPPE 异常崩溃日志
/tmp/.uxdport或/tmp/.uxdlock文件(SLAPSHOT 残留)/bin/sh被改 setuid rootnohup(无挂起运行)拉起的可疑 Python 进程,命令行带 Base64 payload
GreyNoise 那边还能从源头 IP 149.104.78.141 反查攻击者基础设施的早期活动,建议在边界日志里回溯一遍。
七、临时缓解与补丁
Mandiant 的建议有两层:
临时措施:能关 DTLS 就关,能封入站 UDP/443 就封。但要注意,这两个动作只对 CVE-2026-88772 有效,挡不住独立利用的 CVE-2026-88771。
根本措施:装补丁。Citrix 已发布最新 NetScaler 安全更新,CTX697096 公告里列了受影响版本与修复版本,这是同时堵两个洞的唯一办法。
对还在裸奔的 NetScaler 部署来说,这次不是”装不装补丁”的问题,是”现在关没关设备”的问题。
原文地址:https://www.bleepingcomputer.com/news/security/hackers-exploit-citrix-netscaler-zero-day-to-deploy-web-shells/














暂无评论内容