找回密码
 免费注册
计算机知识网 首页 文章 电脑技术 系统 查看内容

NTFS数据流

2019-11-14 17:22| 发布者: admin| 查看: 2067| 评论: 0

本站在此基础上加了补充说明。

什么是NTFS数据流?
在介绍NTFS数据流之前,我们先简单了解一下NTFS文件系统。NTFS是微软Windows NT 内核的系列操作系统支持的、一个特别为网络和 磁盘配额、 文件加密等管理安全特性设计的 磁盘格式。NTFS比FAT文件系统更稳定,更安全,功能也更为强大。如果要让FAT文件系统转换为NTFS文件系统,可以在“ 命令提示符”中输入“convert 分区盘符: /fs:ntfs”,即可将该分区的文件系统转换为NTFS。

NTFS交换数据流(alternate data streams,简称ADS)是NTFS 磁盘格式的一个特性,在NTFS文件系统下,每个文件都可以存在多个数据流,就是说除了主文件流之外还可以有许多非主文件流寄宿在主文件流中。它使用资源派生来维持与文件相关的信息,虽然我们无法看到数据流文件,但是它却是真实存在于我们的系统中的。创建一个数据交换 流文件的方法很简单,命令为“宿主文件:准备与宿主文件关联的数据流文件”。

NTFS数据流的创建实例
相信不少看了上文介绍的读者朋友还是对NTFS数据流一头雾水,没有关系,下面我们通过实例来深入了解一下NTFS数据流。

创建宿主文件
宿主文件在这里指的就是普通文件,是在Windows中可以正常显示、运行、编辑的任何类型文件。我们先来创建一个txt格式的 文本文档,把它作为宿主文件。运行“ 记事本”,随意输入一些内容,例如“测试——宿主文件”,然后将其保存为C:\test\suzhu.txt。接着我们在suzhu.txt上点右键,选择“属性”,可以发现其文件大小为16 字节。

关联数据流文件
宿主文件创建完成后,我们再来创建一个数据流文件,将其与宿主文件关联,看看宿主文件会发生什么变化。点击“开始”→“运行”,输入cmd运行“ 命令提示符”,切换到C:\test\目录中,输入命令“echo "测试——数据流文件" > suzhu.txt:shujuliu.txt”。这样我们就创建了一个名为shujuliu.txt,内容为“测试——数据流文件”的数据流文件,并与宿主文件suzhu.txt进行了关联。

小贴士:在“ 命令提示符”中输入创建数据流命令后,不会有提示,但数据流文件已经成功创建了。

让我们回到C:\test\目录中,可以发现在该文件夹中只有一个suzhu.txt,而没有数据流文件shujuliu.txt,即使在“ 命令提示符”中使用“dir”命令也找不到shujuliu.txt。既然宿主文件suzhu.txt和数据流文件shujuliu.txt进行了关联,那么是不是shujuliu.txt的内容合并到suzhu.txt中了呢?我们打开suzhu.txt,其中的内容并没有改变,仍然是“测试——宿主文件”,而文件大小仍是16字节。

那么数据流文件shujuliu.txt哪去了呢?还是用“ 命令提示符”让它现形吧,在“命令提示符”中输入命令“notepad suzhu.txt:shujuliu.txt”,在弹出的 记事本程序中就会出现数据流文件shujuliu.txt的内容。而我们在“ 命令提示符”中使用type、edit等命令对数据流文件进行编辑时,将会出现错误,这是因为“命令提示符”还不能很好地支持数据流文件。 记事本虽然能够打开数据流文件,但并不表示它能完全支持NTFS数据流,这一点我们在“ 另存为”数据流文件的时候就会发现。

直接创建数据流文件(仅限Windows XP和以下系统中)
我们除了能将数据流文件和宿主文件进行绑定外,还能够创建单独的数据流文件。在“命令提示符”中输入“echo "测试——数据流文件" > :shujuliu2.txt”,这样就创建了一个名为shujuliu2.txt的数据流文件,而这个文件无论是在“ 资源管理器”还是在“命令提示符”中使用“dir”命令,都是无法看到的。可以说,这个文件已经在系统中隐身了,我们只能通过输入命令“notepad :shujuliu2.txt”得知它的存在,而即使知道它的存在,我们也无法删除,因为 命令提示符中“del”命令已经失去了作用。唯一能将之删除的办法,就是删除其上一级目录,如果单独的数据流文件存在于 磁盘根目录,那么删除它将是一件很痛苦的事。(经验证,我们可以使用"rm"命令来删除指定的数据流文件。)

文中的数据流文件我们都是以文本文档举的例子,而数据流文件是不局限于文本文档的,任何文件都可以作为数据流文件,包括可执行程序,图片,声音等等。这就至少造成两个隐患:一是黑客入侵后可能将 黑客工具通过数据流隐藏起来,当然也有病毒发作后将病毒文件进行隐藏的;二是通过某些途径,让数据流文件可以自动执行,起到隐藏木马的效果。

利用NTFS数据流进行攻击
NTFS数据流原理看似很复杂,但是利用起来却很简单,这里我们要用到一款使用率极高的软件Winrar,用它将NTFS数据流打造成最恐怖的黑客武器。

首先创建一个文件夹test,将我们准备好的木马程序muma.exe放到这个文件夹中。进入“ 命令提示符”,输入命令“type muma.exe> :muma.exe”,这样就为muma.exe创建了一个数据流文件,完成后将test文件夹中的muma.exe删除。返回到上一级目录,在test文件夹上单击右键,在出现的菜单中选择“添加到test.rar”。

双击刚才创建的test.rar,点击Winrar 工具栏上的“添加”按钮,浏览选中test文件夹。在出现的“压缩文件名和参数” 面板中切换到“高级”选项卡,选中其中的“保存文件数据流”选项,点击“确定”即可。

在Winrar中选中test文件夹,点击Winrar 工具栏上的“自解压格式”按钮。在“自解压格式”标签的“自解压模块”中选中“Default.SFX”,然后点击“高级自解压选项”按钮。出现高级自解压面板后,在其“常规”标签的“解压后运行”中填入“test:muma.exe”。切换到“模式”标签,勾选其中的“全部隐藏”。全部设置完成后点击“确定”,这样就创建了一个极为隐蔽的自解压木马,甚至可以躲过杀毒软件的查杀,当用户双击这个 自解压文件后,就会运行里面的数据流木马。

NTFS数据流木马的查杀
到目前为止,很多杀毒软件仍然不能较好地查杀本机上的NTFS数据流文件和利用数据流制作的木马,可以使用一些专业的NTFS数据流 检查工具,找出隐藏在系统中的恶意文件。

专业检测NTFS数据流文件的工具有Sfind.exe、Streams.exe、lads.exe等,这里我们以lads.exe为例进行介绍。lads.exe是一个命令下的工具,需要在“ 命令提示符”中使用。在“ 命令提示符”中运行lads.exe,程序会自动检测 当前目录中的NTFS数据流文件,如果要检测子目录中的数据流文件,可以在lads.exe运行的同时添加一个参数“/s”,这样就可以检测到子目录中的数据流文件了。对指定文件夹进行检测时,可以使用“lads.exe 文件夹路径”命令。

对于上文中介绍的那种利用NTFS数据流制作的木马 自解压文件,也是可以防范的。首先当我们下载到一个 自解压文件时,不要双击运行,可以在自解压文件上点击鼠标右键,选择“用Winrar打开”,如果发现其中的文件夹是空的,那么就要留个心眼了,很可能这就是一个数据流木马陷阱。其次,不管 杀毒软件是不是能查杀NTFS数据流木马, 木马程序运行后,在内存中还是会还原出来的,一般的杀毒软件都带有内存监控功能,可以将木马程序在内存中拦截下来。因此,勤升级 杀毒软件也是防范NTFS数据流木马比较有效的办法。

金山毒霸研发部涂彦晖对流文件有较深入的分析研究,在此基础上,成功研发出金山毒霸数据修复,金山 文件粉碎器。其中 文件粉碎器对清除流氓 间谍软件立下汗马功劳。不久, 金山毒霸支持查杀NTFS 流文件的功能即将开发完成,目前正在紧张的测试阶段。

目前,你可以使用AlternateStreamView软件,查出磁盘分区中的是PE文件的数据流文件.
附上软件:

鲜花

握手

雷人

路过

鸡蛋
上一篇:Thumbs.db下一篇:ANSI编码

最新评论

点击此处联系本站|关于我们|违规用户|手机版|计算机知识网 ( 豫ICP备15021710号 ) IP: 3.128.79.88

计算机知识网上的所有内容均来自于网络和网友,并不代表本站立场。如有侵权,请联系QQ:1078292299我们会尽快删除。
声明:严禁任何人以任何形式在本站发表与中华人民共和国法律相抵触的言论!

GMT+8, 2024-4-20 06:21

...