如何使用 Linux 终端访问 NTFS 文件的备用数据流?

如何使用 Linux 终端访问 NTFS 文件的备用数据流?

我正在尝试解决 Google CTF 2019 初学者任务中的一项任务。任务中有一个 NTFS 文件。我知道该文件有一个备用数据流(提示提到了扩展属性)。

我不知道如何在 Linux 终端中访问 AD。我使用了几种工具和关键字,但无法显示 AD,更不用说访问它们了。

答案1

用 Windows 术语来说,dir /r不显示扩展属性;它显示备用数据流(虽然 EA 存在于 Windows 中,但它们大多被视为 OS/2 的遗留物。)

不要使用 7zip 等随机工具提取文件系统的内容。这将丢失大部分元数据(包括 EA 和 ADS),因为这些工具无法理解和/或不关心它。您需要在文件仍在原始 NTFS 文件系统映像中时检查它。

  • 您可以使用 ntfs-progs 检查图像的内容:

    ntfsls -l <image>
    ntfsinfo -F <path> <image>
    
  • 您可以使用 NTFS-3G 挂载映像streams_interface=xattr,然后只需查询 xattrs 列表(在此模式下,每个 NTFS 流都显示为一个 Linux xattr):

    attr -l <path>
    getfattr <path>
    
  • 您可以使用 NTFS-3G 挂载映像streams_interface=windows,然后查询虚拟“ntfs.streams.list”xattr:

    attr -g ntfs.streams.list <path>
    getfattr -n user.ntfs.streams.list <path>
    

相关内容