本仓库包含一个用于检测与 CVE-2023-3519 相关的 Citrix ADC 设备被入侵的工具。该工具及其资源编码了 Mandiant 调查期间收集的妥协指标。要了解更多信息,请阅读宣布此工具发布的博客。
总之,该工具将:
它不会:
随着社区反馈,该工具可能会更彻底。如有问题、想法或反馈,请提交问题或提交 PR。
该扫描器可以识别:
CVE-2023-3519 的妥协指标(IoC)扫描器由 Mandiant 与 Citrix 合作开发,基于从与 CVE-2023-3519 相关的利用事件中获取的知识。扫描器的目标是分析可用的日志源和系统取证工件,以识别成功利用 CVE-2023-3519 的证据。该工具能完成的工作有限,因此运行该工具不应被视为系统未受入侵的保证。例如,系统上包含入侵证据的日志文件可能已被截断/轮转,系统可能已重启,攻击者可能篡改系统以删除入侵证据,和/或安装了隐藏入侵证据的 rootkit 等。
该工具不保证能找到所有入侵证据或与 CVE-2023-3519 相关的所有入侵证据。如果在系统上识别出入侵迹象,组织应对受入侵系统进行取证检查,以确定事件的范围和程度。本软件按“原样”提供,不提供任何明示或暗示的担保或代表。
你应该从本仓库的 Releases 标签页下载独立的 Bash 脚本。不建议将源目录复制到 Citrix ADC 设备。这样做会产生误报。
IoC 扫描器可以直接在 Citrix ADC 设备上运行。在此模式下,该工具将扫描文件、进程和端口以查找已知指标。该工具将诊断消息写入 STDERR 流,结果写入 STDOUT 流。在典型用法中,你应该将 STDOUT 重定向到文件以供查看。在 Citrix ADC 设备上,该工具必须以 root 身份在实时模式下运行。要访问 root,请以 nsroot 登录 CLI,然后从 CLI 运行 shell。
例如:
$ bash ./scanner-CVE-2023-3519-v1.2.sh > "/tmp/results-$(date).txt"
该工具设计用于以下产品:
IoC 扫描器还可以检查已挂载的取证镜像。在这种情况下,传递一个命令行参数指定镜像根目录的路径。
注意:你为取证镜像扫描传递的路径应该是镜像的逻辑根目录 /。该工具在某些情况下使用相对文件路径,如果镜像未正确挂载,可能会收到误报或漏报。在离线模式下运行不需要 root 权限。
例如:
$ bash ./scanner-CVE-2023-3519-v1.1.sh /mnt/path/to/evidence/root/
在两种模式下,该工具会将支持代码提取到临时目录;该目录将在脚本终止时删除。该工具不会对系统做进一步更改,尽管它可能会导致生成日志条目。
与所有取证分析一样,首选对 dd 镜像进行离线分析而非实时响应。这将消除工具覆写相关证据的可能性。
脚本的结果分为三个主要部分:
系统摘要将输出设备的基本信息(如果在实时模式下运行)以及是否检测到入侵证据的“是/否”。
**********************************************************************
SUMMARY:
Date : Sat Aug 12 22:46:26 UTC 2023
Hostname :
IP : 192.168.122.2
NS version : 13.1-48.47
Scanner version :
Scanner run mode : Default
Evidence of compromise found : Yes
Evidence of scanning found : N/A - Script Executed in Default Mode
Evidence of failed exploitation found : N/A - Script Executed in Default Mode
**********************************************************************
接下来的部分将输出已扫描日志文件的详细信息,包括每个日志文件的第一条和最后一条记录。这有助于调查人员了解扫描器可以查看哪些时间段的日志,并解释缺失的结果。
最后一部分将详细说明识别到的入侵证据(如果有)。例如,文件中匹配的列入黑名单的内容如下所示。
**********************************************************************
MATCH: denylisted content 'blv_encode'
Found evidence of potential compromise.
You should consider performing a forensic investigation of the system.
**********************************************************************
matches for 'blv_encode':
/root/six.mal_
当你发明进一步识别入侵的方法时,请考虑为此 IoC 扫描器做出贡献。我们希望提供尽可能全面、正确的扫描器。
主要目标是报告高置信度的妥协指标。由于用户可能依赖此工具输出来启动进一步调查,因此我们不应让他们徒劳无功。因此,简单扫描等活动不应在默认模式下报告。任何证据表明行为者访问系统、获取信息或创建内容都应始终报告。
我们以 Bash 脚本形式提供此工具,因为它是 Citrix ADC 设备的通用语言。以下是 Citrix ADC 版本的功能矩阵:
签出源代码仓库后,你可以使用 ./build.sh 工具构建独立脚本。这将主脚本和支持资源打包到一个独立的包中。执行时,它将解压到临时目录,从那里运行,然后清理。
不要在 netscaler 上构建脚本。这样做会导致误报。
构建命令:
$ bash ./build.sh > ioc-scanner-CVE-2023-3519-rev$(git rev-parse HEAD | cut -c 1-8).sh
有关 Mandiant 关于 CVE-2023-3519 和实际利用的更多信息,请参阅:
| NetScaler 版本 | 操作系统 | 可用语言 |
|---|
| 13.1 | FreeBSD 8.4 | Bash, Perl, Python |
| 13.0 | FreeBSD 8.4 | Bash, Perl, Python |
| 12.1 | FreeBSD 8.4 | Bash, Perl, Python |
| 12.0 | FreeBSD 8.4 | Bash, Perl, Python |