NTFS 数据流隐写学习
——
概念学习:
- NTFS文件系统中存在NTFS数据流文件也被称为 Alternate data streams(ADS), 是NTFS磁盘格式的一个特性之一
- 每个文件都有
主文件流
和非主文件流
,主文件流能够直接看到;而非主文件流寄宿于主文件流中,无法直接读取,这个非主文件流就是NTFS交换数据流。 - 也就是说非主文件流是真实存在于我们系统的,但是我们看不到,可以通过创建这样的数据交换流文件,达到隐写的效果。
——
应用:
- 隐藏后门文件(恶意文件木马病毒)
- web实战中隐藏写入的webshell
——
关联文件流隐藏
先在test 文件夹下创建一个 test.txt 文本,内容为 123
现在写一个隐藏 txt 文本进去,通过命令行执行写入内容命令:
echo "abc" > test.txt:hide.txt
可以看到执行完命令,dir
查询文件列表还是只有原来的一个 test.txt 文本,但是文本的最后修改时间变化了。
可以用Windows 自带的 notepad
查看这个隐藏文件,局限性是需要知道全称,所以在实际情况下还是能达到隐藏。
notepad test.txt:hide.txt
————
也可以用 type
命令,将创建好的文件附加在另一个文件上。
在另一个文件夹下创建好一个 hide2.txt 文本
type e:/desktop/hide2.txt > text2.txt:hide2.txt
执行完之后,文件夹下就多了一个 text2.txt 文件,并且里面没有写内容。
这里不知道为啥用 notepad 无法查看隐藏信息,显示找不到文件。
除了这里演示的附加上 txt
文本外,还可以附加 .exe .jpg
文件等等进行隐藏
——
单文件流隐藏
上面进行的是把隐藏文件附加在另一个文件上。也可以直接创建隐藏文件流,不附加在其它文件上。
还是在 /test 这个文件夹下。
echo "hide3" > :hide3.txt
查看文件夹下文件并没有变化。
——
工具扫描 ntfs 数据流隐藏文件
有很多种工具可以扫描出隐藏的NTFS 数据流文件。
这里测试 NtfsStramsEditor
选择文件夹路径,点击搜索,可以看到前面创建的三个隐藏文件都显示出来了,并且点击可以查看内容。
——
在 CTF 题目中,给的 ntfs 隐写文件是在 压缩包内的,需要用 WinRAR 进行提取,不然会造成数据流丢失。