2023 年 9 月,X-Force 发现了一项活动,攻击者利用 CVE-2023-3519 中识别的漏洞攻击未修补的 NetScaler Gateway,将恶意脚本插入身份验证网页的 HTML 内容中以捕获用户凭据。该活动是网络犯罪分子对凭证越来越感兴趣的另一个例子。2023 年 X-Force 云威胁报告发现,67% 的云相关事件响应活动与使用被盗凭证有关。
针对 CVE-2023-3519 的广泛利用,CISA 发布了一份咨询文件,其中包含有关检测、事件响应、缓解措施和验证安全控制的指南。然而,通过多次事件响应调查,X-Force 发现了与 CVE2-2023-3519 相关的新漏洞利用工件,并制定了与 CISA 的检测和响应建议结合使用的附加指南。
这篇文章将介绍导致发现更大规模活动的最初事件、凭证收集活动,以及针对修复涉及 CVE-2023-3519 的事件的新工件、注意事项和建议。
事件概述
X-Force 通过事件响应活动识别了该活动,客户在调查 NetScaler 设备上身份验证缓慢的报告后发现了该脚本。附加到合法“index.html”文件的脚本会加载一个额外的远程 JavaScript 文件,该文件将一个函数附加到 VPN 身份验证页面中的“登录”元素,收集用户名和密码信息并将其发送到远程服务器认证期间。
作为初始漏洞利用链的一部分,攻击者向“/gwtest/formssso? event=start&target=” 触发 CVE-2023-3519 中记录的内存损坏,以将简单的 PHP Web shell 写入 /netscaler/ns_gui/vpn。通过 PHP Web shell 建立交互式访问,攻击者检索设备上“ns.conf”文件的内容,并将自定义 HTML 代码附加到“index.html”,该代码引用托管在攻击者控制的基础设施上的远程 JavaScript 文件。
为了促进凭据收集,附加到“index.html”的 JavaScript 代码检索并执行附加 JavaScript 代码,该代码将自定义函数附加到“Log_On”元素,该元素收集包含用户名和密码信息的表单数据并将其发送到远程主机在身份验证后通过 HTTP POST 方法。
更大规模的凭证收集活动
从最初的接触中,X-Force 识别出威胁行为者创建的多个域 - jscloud[.]ink、jscloud[.]live、jscloud[.]biz、jscdn[.]biz 和 cloudjs[.]live - 注册于8 月 5 日、6 日和 14 日,并利用 Cloudflare 掩盖域名的托管位置。在识别出威胁行为者的 C2 后,X-Force 能够识别出近 600 个托管修改后的 NetScaler Gateway 登录页面的唯一受害者 IP 地址,这些地址主要集中在美国和欧洲。X-Force 为 NetScaler Gateway 登录页面确定的最早修改时间戳是 2023 年 8 月 11 日,尽管该活动可能在更接近域名注册时开始。
尽管 URL 有所不同,但所有域都托管几乎相同的 JavaScript 文件,唯一的区别是文件中列出的 C2 域,并且所有捕获的凭据都发送到相同的 URI“ / items /accounts/ ”。X-Force 还在某些情况下观察到威胁行为者将相同的 URL 或使用其他域之一的 URL 附加到同一受害者登录页面,这表明该威胁行为者可能会趁机破坏易受攻击的 NetScaler Gateway。
虽然公开报道强调了各种威胁行为者(包括疑似中国威胁行为者和 FIN8)如何利用这些漏洞,但 X-Force 尚未观察到后续活动,目前无法归因于该活动。
CVE-2023-3519 检测和调查指南
从 NetScaler 设备收集证据的注意事项:
在默认配置中,NetScaler 设备将在启动时重写“ns_gui”文件夹,导致该目录在关机期间被破坏。通过各种调查,X-Force 从“ns_gui”目录中恢复了有价值的证据,包括 Web shell 样本和“index.html”的修改版本。组织应小心,不要在收集图像或其他证据之前关闭设备。
CVE-2023-3519 检测的新工件:NetScaler 应用程序崩溃日志
通过涉及 CVE-2023-3519 的 X-Force 事件响应活动,X-Force 分析师发现 NetScaler 数据包处理引擎 (NSPPE) 崩溃文件可能包含利用该漏洞的证据。崩溃文件位于“/var/core//NSPPE*”。与 NetScaler 设备上的默认日志文件类似,崩溃文件存储在“.gz”存档中,因此需要在分析之前提取它们。
崩溃文件路径示例:/var/core/6/NSPPE-01-9502.gz
默认情况下,崩溃文件不是人类可读的,但 X-Force 发现崩溃文件确实包含可以使用字符串、PowerShell 或任何其他可以打印文件中可打印字符串的工具提取的字符串数据。
X-Forced 观察到,NSPPE 崩溃文件时间戳与通过利用创建的 PHP Web shell 的文件系统时间戳一致。在其他情况下,X-Force 能够恢复作为后利用活动的一部分传递到 Web shell 的命令。
有关 NetScaler 日志备份的注意事项:
X-Force 观察到,默认的 NetScaler 审核配置是利用循环日志记录并保留最后 25 个日志文件,最大大小为 100 Kb。滚动日志时,NetScaler 将在“.gz”存档中保留较旧的日志文件。X-Force 观察到,互联网上可用的一些 CVE-2023-3519 检测工具不考虑“.gz”档案中的日志数据。组织应确保从档案中提取日志文件或利用“zgrep”等可以在压缩文件中搜索的工具。
NetScaler 访问日志中的检测策略的注意事项:
X-Force 通过向“https:///gwtest/formssso?event=start&target=”发送 GET 请求来重新创建 CVE-2023-3519 的漏洞利用,但 X-Force 无法恢复任何以下记录与访问日志中的利用尝试相关的 Web 请求。目前尚不清楚缺少与“formssso”端点连接的日志条目是否是由于 X-Force 测试实例上的配置问题,或者“formssso”是否按设计不记录连接。
X-Force 建议客户分析以下日志源,以获取以下文件中后利用活动的证据,特别关注识别表明与 Web shell 交互的条目:
- /var/log/httpaccess.log
- /var/log/httperror.log
- /var/log/httpaccess-vpn.log
X-Force 建议组织评估其 POST/GET 请求和异常 PHP 文件的访问日志。X-Force 观察到的与 PHP Web shell 的后利用交互示例:
虽然在漏洞利用测试期间,X-Force 无法恢复通过 PHP Web shell 执行的命令的详细信息,这些命令是从事件响应与访问日志中恢复的,但 X-Force 仍然建议组织评估其 NetScaler 访问日志以获取命令执行的证据如果使用不同的 Web shell。
NetScaler 命令历史记录日志中的检测策略的注意事项:
CISA 咨询建议组织评估 bash.log 和 sh.log,以获取利用以下关键字的恶意活动的证据:
- database.php
- ns_gui/vpn
- /flash/nsconfig/keys/updated
- LDAPTLS_REQCERT
- ldapsearch
- openssl + salt
除了 CISA 咨询之外,X-Force 建议组织还考虑评估“/var/log/notice.log”、“/var/log/bash.log”和“/var/log/sh.log”(包括相关的翻转“.gz”档案),使用以下附加关键字来查找利用后活动的迹象:
- Whoami
- base64 –decode
- /flash/Nsconfig/keys
- &>> index.html
- echo