使用osquery收集NTFS取证信息 - 深入解析NTFS取证扩展

本文介绍了Trail of Bits与Crypsis合作开发的osquery NTFS取证扩展,该扩展能够深入提取NTFS文件系统的关键元数据,包括时间戳、安全描述符、备用数据流(ADS)等,为事件响应提供强大的取证能力。

使用osquery收集NTFS取证信息

我们发布了一个osquery扩展,让您能够深入挖掘NTFS文件系统。这不仅是事件响应和数据收集的又一工具,更提供了替代传统取证工具包和商业服务的可能性。

现有方案的不足

迄今为止,osquery在进行事件响应所需的那种文件系统取证方面一直存在不足。它虽然能收集主机平台上文件的基本信息(时间戳、权限、所有者等),但任何有取证经验的人都知道,文件系统中还蕴藏着更多待挖掘的数据——比如额外的时间戳、未分配的元数据或过时的目录条目。

传统替代方案往往闭源且昂贵,成为预算、部署路线图和维护计划中的额外负担。更重要的是,它们都无法与osquery集成,迫使您额外花费精力将取证报告映射回设备群。

解决方案

通过与Crypsis合作,我们已将NTFS取证功能作为扩展集成到osquery接口中。这是朝着更优、更具成本效益且更易部署的解决方案迈出的第一步。

功能特性

NTFS取证扩展提供NTFS映像中的特定附加文件元数据,包括:

  • 文件名时间戳条目
  • 文件安全描述符
  • 文件是否包含备用数据流(ADS)
  • 其他信息

同时还能提供目录索引的索引条目(包括已解除分配的条目)。您可以直接在osquery中发现以下痕迹:

  • 自我清理后的恶意软件
  • 修改了文件时间戳但忘记处理文件名时间戳的痕迹
  • 隐藏在calc.exe ADS中的rootkit

使用方法

在osquery启动时通过命令行参数加载扩展:

1
osqueryi.exe --extension path\to\ntfs_forensics.ext.exe

加载后,数据库将新增三个表:

ntfs_part_data

提供磁盘映像中分区的信息。如果查询时未指定磁盘映像,它将尝试通过从\\.\PhysicalDrive0开始向上遍历来检查主机系统的物理驱动器,直到打开失败为止。

ntfs_file_data

提供NTFS文件系统中文件条目的信息。查询时必须明确指定WHERE子句中的device和partition列。注意事项:

  • 指定path或inode列将返回单个文件的信息
  • 指定directory列将返回该目录下所有文件的信息
  • 不指定任何条件将执行整个分区的遍历(由于代价高昂,结果会被缓存)
  • 使用隐藏列from_cache=0可强制获取实时数据(如:select * from ntfs_file_data where device="\\.\PhysicalDrive0" and partition=2 and from_cache=0;

ntfs_indx_data

提供指定目录的索引条目内容(包括在slack space中发现的条目)。查询时必须指定:

  • WHERE子句中的device和partition列
  • parent_path或parent_inode条件
  • slack space中的条目将在slack列显示非零值

开始使用

该扩展为Windows终端文件系统取证提供了快速便捷的方案。您可以在我们的代码库中找到此扩展及其他osquery扩展。我们承诺将持续维护和扩展我们的扩展集合。

定制服务

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