这篇文章介绍Windows下NTFS文件系统的ADS(alternate data streams,交换数据流)特性;实例演示如何利用ADS将文件隐藏到任何宿主上(宿主可以是文件夹、文件以及磁盘根目录);文章最后将提供两个小工具,利用它们来检测和清除隐藏在宿主上的文件。
0×1.什么是NTFS交换数据流(ADS)
NTFS交换数据流(alternate data streams,简称ADS)是NTFS磁盘格式的一个特性,在NTFS文件系统下,每个文件都可以存在多个数据流,就是说除了主文件流之外还可以有许多非主文件流寄宿在主文件流中。它使用资源派生来维持与文件相关的信息,虽然我们无法看到数据流文件,但是它却是真实存在于我们的系统中的。创建一个数据交换流文件的方法很简单,命令为"宿主文件:准备与宿主文件关联的数据流文件"。
这一段是百科上面的内容,大致了解一下即可,后面会有实例演示。
0×2.NTFS交换数据流隐藏文件实例
这一部分内容在Windows系列操作系统的NTFS分区上都能适用。
实验环境:Windows 10
实验分区:E盘根目录(NTFS分区,ADS是NTFS文件系统的特性,不适用于FAT32文件系统)
在E盘根目录中有这些文件:
实验环境和所有用于实验的文件全部介绍完毕,下面开始实际操作 。
a.如何利用NTFS交换数据流隐藏文本文件
注意,下面的命令需要用"管理员身份"打开CMD,否则很可能执行不成功。
这种方法能很好的将一个文本文件使用交换数据流的形式寄生在另外一个文件上(任何类型的文件上),从一定程度上起到了隐藏文本文件的目的。
b.如何利用NTFS交换数据流隐藏图片文件
图片文件也能寄生在任何类型的文件上,下面给出几个实例:
c.如何利用NTFS交换数据流隐藏可执行文件
WinXP和Win7之后的Windows版本在NTFS交换数据流的不同体现在对寄生的可执行文件的运行管理上,XP可以按照和上面相同的方法直接运行寄生的可执行程序;Win7之后的版本需要手动创建一个连接文件,通过这个链接文件才能运行这个寄生的可执行交换数据流文件,请看下面的实例:
下面是Win:7后的版本中调用这个E盘根目录下的交换数据流可执行文件的方法:
在WinXP中,可执行文件可以和文本文件一样实现真正的隐藏,这可能也是当时大多数杀毒软件添加数据流病毒查杀功能的原因;在Win7之后的系统中,微软可能出于安全考虑,不允许直接运行交换数据流可执行文件,必须要创建符号链接,这个符号链接是可见的(当然可以使用其他手段隐藏这个符号链接),并且这个符号链接创建出来后不能复制到其他地方,只能在创建的那个位置使用命令行方式调用(鼠标双击会报错)。
0×3.如何检测和清除NTFS-ADS隐藏的文件
上面说了隐藏,现在来说检测,可以使用这两款小工具配合进行检测和清除寄生的交换数据流[网盘下载],工具都是命令行模式的,请看下面的演示:
使用streams.exe这个程序来清除这些交换数据流,根据上面检测的输出信息,我将streams.exe放在E盘的根目录:
注:如有侵权,联系删除 欢迎广大读者投稿技术文章以及情感文章
领取专属 10元无门槛券
私享最新 技术干货