NTFS交换数据流隐写

发布 : 2019-11-18

NTFS文件系统时windows NT内核系列操作系统支持的、专门为网络和磁盘配额的,文件加密等管理安全特性设计的磁盘格式。NTFS比FAT文件系统更加稳定,更能也更为强大。

NTFS数据流文件也被称为 Alternate data streams,简称ADS,是NTFS文件系统的一个特性之一,允许单独的数据流文件存在,同时也允许文件附着多个数据流,除了主文件流之外还允许许多非主文件流寄生在主文件流中,使用资源派生的方式来维持与文件的相关信息,并且这些寄生的数据流文件我们使用资源管理器无法看到。

交换数据流介绍

Windows NTFS文件系统的交换数据流(Alternate Data Steams, ADS)可以追溯到Windows NT3.1,为了满足Windows系统和苹果HFS(Hierachical File System) 系统的交互需求诞生了交换数据流。NTFS使用的交换数据流来存储文件的相关元数据,包括安全信息、原作者以及其他元数据。
对于隐藏文件,Windows NTFS中的交换数据流事一种简单并且隐蔽的方式。

利用系统命令隐藏文件

在一个空文件夹中新建一个txt文件,命名为flag.txt,输入要显示的内容

1
notepad flag.txt

3c39214a9aceba215c6b8e6bce8c23f6.png
接下来,执行如下命令使用上面生成的文件创建第一个交换数据流

1
notepad flag.txt:hide.txt

然后输入要隐藏显示的内容,如下图所示
affc237159012f5b673d99ec68df3a93.png
保存之后使用dir命令查看当前文件夹下的文件
253db97be9efbd0fb5d2257ac2405eb7.png
如图,只显示一个文件

常用的浏览技术对交换数据流都是免疫的,创建成功后,显示的文件大小也没有变化,所以通过一般手段是看不到这个隐藏文件的。一个文件可以创建多个交换数据流,使用相同的命令,注意隐藏文件不要使用相同的文件名。
因为开启针对文件交换数据流的扫描效率特别低,会比关闭状态下降低90%的扫描速度,所以很多查杀病毒的软件都默认关闭了这个功能。

例题演示

在深思杯·省大学生网络安全技能大赛中有一道隐写题,就是和NTFS数据流隐写相关的,题目名字是你真的很不错,下载下来是一个rar后缀的压缩包,如下图所示,题目后来的提示是使用WinRAR解压
a5d9d4cd496a3a99b69615f96634b481.png
这次比赛中其他题目下载下来压缩包一般是zip后缀和7z后缀,唯有这个是rar后缀,而且提示是使用WinRAR,这里有一个点就是,WinRAR是支持NTFS数据流压缩的,如果使用不支持NTFS数据流压缩的软件进行解压,会丢失隐藏的数据,因此这个题目提示使用WinRAR打开。
使用WinRAR解压后,直接使用NtfsStreamsEditor扫描解压出的目录
12395ad12158ec59f93e2145c5a3b957.png
可以看到扫描出了一个隐藏的png文件,使用软件的导出功能将扫描出的图片文件导出,打开导出的文件就可以直接看到flag了。

Reference

本文作者 : W4rnIn9
原文链接 : http://joner11234.github.io/article/85357d8d.html
版权声明 : 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明出处!