数据的价值远超案件,很多数据的价值没在当前的案件中发挥作用,并不代表着它就没有用。
在 NTFS 文件系统中,可以通过隐写来将一些不为人知的、甚至是恶意的程序、代码隐藏在"NTFS 数据流(ADS)"等特殊文件中,一般的文件管理器和工具是无法发现和对其处理的,本文通过一些介绍,来初步认识下常用的Windows操作系统NTFS文件系统数据流---【蘇小沐】
1
实验环境
CMD终端 |
X-Ways Forensics,[v20.5,x64] |
FTK Imanger ,[v4.7.1.2] |
NTFSStreamsEditor,[v2.0.2] |
Windows 11 专业工作站版,[24H2(26100.2161)] |
1
NTFS数据流是Windows NTFS文件系统的高级特性,称NTFS数据流:NTFS交换数据流、NTFS可选数据流(Alternate Data Streams, ADS)。
NTFS数据流 (ADS) 给文件附加了一些额外的信息,这些本不属于该文件的信息就叫做"交换数据流";而文件本身(宿主文件)则叫做该文件的"主数据流(Primary Data Stream)"。可选数据流无法从原始文件长度中得知,但会随着对原始文件的删除、移动、复制到不支持可选数据流的分区(如 FAT 分区、exFAT或网络共享位置)上而丢失。
-
主数据流:能够通过文件资源管理器直接看到的。
-
非主数据流:寄宿于主数据流中,需要通过特殊的方法才可查看。一个文件有一个主数据流和多个非主数据流,也就是说NTFS数据流允许文件与多个数据流进行关联。
例如,一个名为 text.txt 的文件可以包含一个名为 text.txt:(格式是 "文件名:流名")的可选数据流,并只允许知道该数据流名称或专门为数据流而设计的浏览程序查看。因此可以利用这部分数据流的特性进行文件隐藏,可以向ADS中写入文本、音频、图像、可执行程序等文件,来达到隐写的效果。
一、创建ADS数据流(CMD命令)
以下命令均在cmd终端中执行,非PowerShell终端。
在NTFS分区创建ADS数据流文件有两种形式:一是指定宿主文件;二是创建单独的ADS文件。
同理还可将图片、视频等文件寄生到另一个文件或者文件夹、根目录上。
1
宿主文件(主数据流:正常可见文件)
【创建宿主文件"蘇小沐密码本.txt",这里内容设置为:SXM12345678】
2
常用的两个创建命令:echo和type
【echo语法:echo "要隐藏的附加文件内容" >宿主文件:要隐藏的附加文件】
【命令注释:先将要隐藏的附加文件内容写入到"要隐藏的附加文件"中,并与宿主文件进行关联,即寄生在宿主文件文件上。
【type语法:type 要隐藏的附加文件 > 宿主文件:要隐藏的附加文件】
1
(一)
依附文本:文本隐藏到文本中(以下命令均在cmd中执行)
隐藏"蘇小沐真实密码本.txt"文件到"蘇小沐密码本.txt"里面(蘇小沐真实密码本.txt不可见)【FTK看不到】
【语法:echo "要隐藏的附加文件内容" >宿主文件:要隐藏的附加文件】
【命令注释:先将要隐藏的附加文件内容写入到"要隐藏的附加文件"中,并与宿主文件进行关联,即寄生在宿主文件文件上。
1
寄生宿主文件(文件不同名)
【命令:echo "DFIR***" > 蘇小沐密码本.txt:蘇小沐真实密码本.txt】
【命令注释:先将内容"DFIR***"写入到"蘇小沐真实密码本.txt"中,并与宿主文件"蘇小沐密码本.txt"进行关联,即"蘇小沐真实密码本.txt"文件寄生在"蘇小沐密码本.txt"文件上。
通过dir
命令查询文件列表还是只看到原来的"蘇小沐密码本.txt"文本,但是文本的最后修改时间变化了。
2
寄生宿主文件(与宿主文件同名)
【命令:echo "DFIRSXM***" > 蘇小沐密码本.txt:蘇小沐密码本.txt】
【命令注释:先将内容"DFIRSXM***"写入到"蘇小沐密码本.txt"中,并与宿主文件"蘇小沐密码本.txt"进行关联,即"蘇小沐密码本.txt"文件寄生在"蘇小沐密码本.txt"文件上。拥有了两个同名文件!!!
2
(二)
依附文件夹:文本隐藏到文件夹/根目录
寄生宿主文件夹/根目录(与宿主文件同名)
为了区分,这里新建一个ADS123文件夹,里面新建一个"蘇小沐密码本123.txt",内容为SXM2345678。
【命令:echo "SXMDFIRSXM***" > :蘇小沐密码本.txt】
【命令注释:先将内容"SXMDFIRSXM***"写入到"蘇小沐密码本123.txt"中,并与宿主文件夹/根目录进行关联,即ADS文件夹拥有了两个同名文件!!!
二、隐藏文件检测方法
1
(一)
CMD终端命令
1
CMD终端more命令
可以通过more指令操控数据流的方式查看文件内容。(more是一个在命令行界面中用于逐页显示文本文件内容的命令)
(1)查看寄生宿主文件:
【more语法:more < 宿主文件】
【more语法:more < 宿主文件:要隐藏的附加文件】
(2)查看寄生宿主文件夹/根目录
【more语法:more < :要隐藏的附加文件】
2
CMD终端notepad命令
txt文本类的可用cmd的notepad命令,打开记事本程序查看隐藏文件内容。
【语法:notepad 原始文件:隐藏文件】
2
(二)
X-Ways专业软件
1
查看寄生宿主文件(文件不同名)
将文件所在盘加载到X-Ways软件中,选中文件夹可看到文件夹数目为2,说明文件夹下有2个文件。点击进入看到"蘇小沐密码本.txt"文件图标下方有"…"点点点,表示这个文件有下级。
在"蘇小沐密码本.txt"文件上右键浏览,就可以看到其ADS数据流文件了。
2
查看寄生宿主文件(与宿主文件同名)
同样的方法右键浏览会发现里面还有两个文件,文件属性都是ADS。
【时间属性:新增加的文件】
3
查看寄生宿主文件夹/根目录(与宿主文件同名)
3
(三)
NTFSStreamsEditor软件
【官网:Releases · studycpp/NTFSStreamsEditor --- 发布 ·studycpp/NTFSStreams编辑器】
NTFSStreamsEditor 是一种 NTFS 数据流处理工具,提供强大的搜索和扫描功能来帮助识别危险。同时,NTFSStreamsEditor 提供了最强大的删除、追加、导入、导出、备份和恢复等完整处理方式,是 NTFS 数据流处理的必备工具。
1
查看寄生宿主文件(文件不同名)
2
查看寄生宿主文件(与宿主文件同名)
4
(四)
5
(五)
书写片面,纯粹做个记录,有错漏之处欢迎指正。
公众号回复关键词【ADS】自动获取资源合集。
【声明:欢迎转发收藏,个人创作不易,喜欢记得点点赞!!!转载引用请注明出处,著作所有权归 [蘇小沐] 所有】
【注:共享资源收集于官网或互联网公开材料,仅供学习研究,如有侵权请联系删除,谢谢!】
记录 |
开始编辑:2024年 11月 04日 |
|
END
原文始发于微信公众号(DFIR蘇小沐):【数据加解密篇】利用NTFS数据流(ADS)隐写加密取证分析
- 左青龙
- 微信扫一扫
- 右白虎
- 微信扫一扫
评论