NTFS数据流隐写
这是在前文学习mysql提权的时候遇到的利用数据流写文件,以前有点印象但不是很深,这里记录一下。
NTFS数据流介绍
在NTFS文件系统中存在着NTFS备用数据流(Alternate Data Streams,简称ADS),这是NTFS磁盘格式的特性之一。每一个文件,都有着主文件流和非主文件流,主文件流能够直接看到;而非主文件流寄宿于主文件流中,无法直接读取,这个非主文件流就是NTFS备用数据流。
ADS的作用在于,它允许一个文件携带着附加的信息。例如,IE浏览器下载文件时,会向文件添加一个数据流,标记该文件来源于外部,即带有风险,那么,在用户打开文件时,就会弹出文件警告提示。再如,在网址收藏中,也会附加一个favicon数据流以存放网站图标。
ADS也被用于一些恶意文件隐藏自身,作为后门。
ADS应用
这里写一个隐藏文本来看看,首先创建一个空的example.txt,然后写入ADS,这里写入一个字符串
|
然后直接打开文件还是空的
想要查看ADS的话可以这样
|
还有用下面命令查看该文件所有的ADS
|
ADS可以写任何东西,包括图片、音频、视频等,所以可以用来隐藏后门,在Windows XP中,可执行文件可以隐藏并且被执行。但是,微软已经发现了这个问题并进行了修复,目前在Windows Vista及后续系统中已经无法直接运行ADS中的可执行文件了。
可以直接这样写入文件,其他文件同理
|
ADS数据流文件有三种删除方式。一是直接删除宿主文件,二是将宿主文件移到FAT32等非NTFS分区中;三是利用工具软件,如IceSword、Ntfs Streams Editor删除。
Ntfs Streams Editor删除命令如下:
|
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 clown!
评论