利用osquery收集NTFS取证信息:深入文件系统调查

本文介绍了Trail of Bits发布的osquery扩展,用于从NTFS文件系统中提取深度取证信息,包括额外时间戳、安全描述符和索引条目等,提升事件响应效率并替代昂贵的商业工具。

利用osquery收集NTFS取证信息

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

功能概述

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_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_indx_data

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

开始使用

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

定制osquery服务

如果您有osquery扩展的想法,请在我们的GitHub存储库中提交问题。联系我们进行osquery开发。

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

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