使用 osquery 收集 NTFS 取证信息

本文介绍了如何通过 osquery 扩展收集 NTFS 文件系统的深层取证信息,包括文件时间戳、安全描述符、备用数据流等元数据,以及目录索引和未分配条目,为事件响应提供高效、低成本的解决方案。

使用 osquery 收集 NTFS 取证信息

我们发布了一个 osquery 扩展,让您能够深入挖掘 NTFS 文件系统。这不仅是事件响应和数据收集的又一工具,还提供了摆脱功能相似的取证工具包和商业服务的机会。

迄今为止,osquery 在执行文件系统取证方面一直不足,而这通常是事件响应工作的一部分。它收集了一些关于其主机平台上文件的信息——时间戳、权限、所有者等——但任何有取证经验的人都会告诉您,如果您愿意深入挖掘,文件系统上还有更多数据可用。例如额外的时间戳、未分配的元数据或过时的目录条目。

替代方案通常是闭源且昂贵的。它们成为您预算、部署路线图和维护计划中的又一项目。而且它们都没有与 osquery 集成。您必须额外努力将取证报告映射回您的设备群。

今天,情况发生了变化。与 Crypsis 合作,我们将 NTFS 取证信息作为扩展集成到了 osquery 界面中。这被视为迈向更好、成本效益更高、更高效且更易于部署的替代方案的第一步。

它能做什么

NTFS 取证扩展从 NTFS 映像中提供特定的额外文件元数据,包括文件名时间戳条目、文件的安全描述符、文件是否具有备用数据流(ADS)以及其他信息。它还提供目录索引的索引条目,包括已取消分配的条目。您可以在不离开 osquery 的情况下,找到刚刚自我清理的恶意软件,或更改了文件时间戳但忘记了文件名时间戳的恶意软件,或在 calc.exe 的 ADS 中安装了 rootkit 的恶意软件。

如何使用它

在 osquery 启动时通过命令行参数加载扩展,例如:osqueryi.exe --extension path\to\ntfs_forensics.ext.exe。加载后,三个新表将被添加到数据库中:ntfs_part_data、ntfs_file_data 和 ntfs_indx_data。

ntfs_part_data

此表提供有关磁盘映像中分区的信息。如果在没有指定磁盘映像的情况下查询,它将尝试通过从 \\.\PhysicalDrive0 开始向上遍历,直到找到无法打开的驱动器号,来询问主机系统的物理驱动器。

枚举 NTFS 映像中的分区条目

ntfs_file_data

此表提供有关 NTFS 文件系统中文件条目的信息。必须在 WHERE 子句中明确指定 device 和 partition 列以查询该表。如果指定了 path 或 inode 列,则返回有关指定文件的单行。如果指定了 directory 列,则返回该目录中每个文件的行。如果未指定任何内容,则执行整个分区的遍历。由于整个分区的遍历成本高昂,结果会被缓存以便重用,而无需重新执行整个遍历。如果您需要分区遍历的新结果,请在 WHERE 子句中使用隐藏列 from_cache 强制收集实时数据(例如:select * from ntfs_file_data where device=”\\.\PhysicalDrive0” and partition=2 and from_cache=0;)。

显示 NTFS 文件系统中单个条目的收集数据

ntfs_indx_data

此表提供指定目录的索引条目内容,包括在空闲空间中发现的索引条目。与 ntfs_file_data 类似,必须在查询的 WHERE 子句中指定 device 和 partition 列,以及 parent_path 或 parent_inode。在空闲空间中发现的条目将在 slack 列中具有非零值。

显示从目录索引的空闲空间中恢复的 inode 条目

开始使用

此扩展提供了一种快速便捷的方法,在 Windows 端点上执行文件系统取证,作为事件响应的一部分。您可以在我们的存储库中找到它以及我们的其他 osquery 扩展。我们致力于维护和扩展我们的扩展集合。看一看,看看我们还有什么可用的。

雇佣我们根据您的需求定制 osquery

您有关于 osquery 扩展的想法吗?在我们的 GitHub 存储库中为此提交一个问题。联系我们进行 osquery 开发。

如果您喜欢这篇文章,请分享: Twitter LinkedIn GitHub Mastodon Hacker News

页面内容 它能做什么 如何使用它 ntfs_part_data ntfs_file_data ntfs_indx_data 开始使用 雇佣我们根据您的需求定制 osquery 近期文章 Trail of Bits 的 Buttercup 在 AIxCC 挑战赛中获得第二名 Buttercup 现已开源! AIxCC 决赛:数据对比 攻击者的提示注入工程:利用 GitHub Copilot 作为新员工发现 NVIDIA Triton 中的内存损坏 © 2025 Trail of Bits。 使用 Hugo 和 Mainroad 主题生成。

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计