文件隐藏 之 NTFS 交换数据流
0x01 关于 NTFS 交换数据流
|
|
0x02 如何实际创建一个数据交换流文件,其实方法很简单,如下
|
|
0x03 演示环境
|
|
0x04 先准备好正常的文件
|
|
0x05 开始尝试寄生文件
将bad.txt文件寄生在file.txt文件上,即file.txt是宿主,bad.txt才是真正的交换数据流文件,如果你是按照正常的文件名来访问的话,是看不到:bad.txt
的,一定程度上也确实达到了我们要隐藏文件的效果
|
|
将spoof.txt文件寄生在stream目录上,即stream目录是宿主,spoof.txt是真正的交换数据流文件,对寄生文件的访问方式同上
|
|
将face.jpg文件寄生在file.txt文件上,当然,既是图片肯定要用画板
才能打开,在win下,对于寄生文件的访问方式其实和我们正常文件访问方式没什么不同,是什么类型的文件,就用什么工具打开即可
|
|
在03以下系统上寄生可执行文件的执行方式,直接像下面这样即可运行
|
|
但在03以后的系统上寄生可执行文件的执行方式,除了上面的基本步骤之外,还多一步,需要先自己手工建立mklink
好链接,之后才能正常访问,否则就会提示下面的错误,遗憾的是,链接文件在图形界面中是可见的,当然,这个链接也是有办法把它搞掉的,只是自己暂时还没成功,后续成功后会再更新上来
|
|
0x06 如何查找这类寄生的文件,其实很简单,nirsoft已经为我们提供好了AlternateStreamView,如下,另外,此类的工具多如牛毛,此处就不一一说明了
小结:
有些朋友可能还会有疑问,这里非要用echo
和type
[功能有点儿类似各个语言中文件操作的二进制方式读写
]吗,难道只能寄生在这些类型的文件上吗,当然不是,只不过直接用目标系统中的工具会更好一点,[脑袋快的朋友可能早想到了,是的,没错,我们用powershell一样也可以达到同样甚至更好的效果,这个就留给大家去自行发挥了],要寄生在的对象可以是任意类型的文件,最后,关于此种方式的具体用途,我只能说,看大家自己的实际需求,比如,我们经常可能会用批处理去搜集一些目标系统信息,通常会把所有命令结果都直接重定向到一个文件中,然后再下载回来慢慢看,但如果我们用正常的文件,很可能会被对方发现,此时最简单隐蔽的方式,便是把结果文件寄生在目标现有的系统文件上,同样,我们也可以用这种方式直接把马寄生在目标系统中一个现有的文件上,前提是你的马确认已经免杀好了,否则很可能会触发报警,技术点确实已经非常老了,但并不代表不可以用,这里也仅仅是留个备忘,方便有需要的朋友