【NTFS高级分析取证】
电子物证 公号
2018-11-13 10:53
2164
来源:数据安全与取证(ID:Cflab_net)
作者:Sprite Wendy
Hibernation Recon的强大功能之一就是能够恢复出NTFS元数据,而NTFS是数据恢复中很重要的一个部分,挖掘NTFS元数据经常能找到案件的突破口。
内容要点
什么是NTFS?
为什么要做NTFS高级分析取证?
NTFS元文件有哪些类型?
一起真实反恐案例中NTFS的关键分析
▍什么是NTFS?
NTFS(New Technology File System)是一个复杂的日志式文件系统,是 WindowsNT 环境下的文件系统。这个系统是Windows NT家族(如,Windows 2000、Windows XP、Windows Vista、Windows 7和 windows 8.1)等的限制级专用的文件系统(即操作系统所在的盘符的文件系统必须格式化为NTFS的文件系统,4096簇环境下)。
NTFS取代了老式的FAT文件系统,并且对FAT作了若干改进。例如,NTFS支持元数据,并且使用了高级数据结构,以便于改善性能、可靠性和磁盘空间利用率,并提供了若干附加扩展功能。
▍为什么要做NTFS高级分析取证?
取证的最大价值就在与获取有价值的信息,而我们可以从NTFS中可以得到大量的独特信息,甚至是在其他地方获取不到的信息。例如:
| 文件和文件夹的创建、删除和修改时间
| 文件或文件夹是否被拷贝过、移动过?
| 谁创建了该文件或文件夹?
| 文件或文件夹是否被打开过?如果有,第一次是什么时候被打开的?
| 可移动存储设备曾链接过哪些电脑?
| 数据的日期和时间是否曾被更改过?
由此可见NTFS的信息价值不容忽视,因此针对NTFS高级分析取证是Mark一直在深入研究的课题。
▍NTFS元文件有哪些类型?
NTFS中有$MFT、$UsnJrnl 、$LogFile、$Secure、$I30等几个文件,都是NTFS文件系统中非常重要的文件,可统称为元数据。当该卷被格式化为NTFS文件系统后自动出现在每一个卷后,他们自动被创建在于一个NTFS卷的根目录下。我们可以把这些元数据理解为描述NTFS文件系统的数据,也可以理解为一种记录NTFS文件系统变化的不同功能的日志。
以下是各种类型文件的记录信息和恢复工具:
$MFT (Master File Table)
| 记录NFTFS上的文件和文件夹
| 记录每个文件的编号和位置(可以把它看作是一本字典的索引目录。当然这个索引目录要比真实的字典目录复杂的多。)
|电子取证工具只能找出部分信息如:SIA和FAIA的日期时间
| MFT元文件存在于每个卷内和VSC(卷影副本)
| MFT的记录可以通过“MftCarver”来重组恢复(从剩余空间、交换文件、休眠文件中)

$LogFile
| 文件系统交互日志
| 提供再执行操作或取消操作的功能
| 每次交互会分配一个LSN
| Logfile的记录可以通过“LogFile Parser”来重组恢复
关于Logfile文件记录了所有操作系统中所有文件的交互行为,最典型的例子就是不同软件生成的临时文件的创建和删除的记录。例如我们用取证分析软件X-Ways Forensics分析数据的过程中,会产生大量的临时文件,临时文件可能刚出现就被删除了,但是这个过程都会被$LogFile文件所记录。

$UsnJrnl
| 选择性文件系统交互日志
| 第三方应用可以访问
| 存有Logfile信息的子集
| 每次交互会分配一个USN
| UsnJrnl 的记录可以通过“UsnJrnCarver”来重组恢复

$I30
| “Index Allocation Attributes”元文件
| 包含比MFT更多文件夹信息以及文件夹内的文件信息
| I30的记录可以通过“IndxCarver”来重组恢复

了解了NTFS基本概念,接下来我们看Mark是如何在实际案例中运用的。
▍真实案例详情技术分析
在一个反恐案例中,无论是美国的大学教授还是咨询顾问公司的电子数据专家们,他们针对嫌犯的硬盘做出分析后得出的结论均证明嫌犯有罪。实际上,根据后来Mark先生的深度分析,这些结论全部都是错误的。那么,Mark究竟是通过什么证明那么多取证专家的错误呢?
首先,Mark先生仔细分析了证明嫌疑人罪名成立的几个文件。
他通过对$UsnJrnl 、$LogFile等几个NTFS元数据文件的组合分析,发现这几个文件,竟然出现在02/11/2011 17:18:37.046 ,即Windows关闭之后(如下面组图的第一张所示)。
接着,他又分析了$LogFile文件记录,发现在02/11/2011 17:18:37.046,也就是Windows 关闭之后,出现了被控诉的几个核心证据文件的创建和删除。
以下三张图请对比分析:

首先是USN日志。这里文件里面记录的系统盘的Windows启动和关闭时间。

接下来是系统的Event Log。

然后我们再看看$LogFile文件记录的系统启动和关闭时间。
三组图配合来看,尤其是$LogFile文件的详细记录。我们可以看到,在02/11/2011 17:18:37.046时,Windows关闭之后,出现了描述的几个文件(下图灰色部分显示)。

这时候的技术分析就非常有意思了。大家看上面灰色部分的文件时间都是2010年的,竟然穿插在2011年的文件当中!这不是很奇怪吗:既然这些核心证据文件不是在2月9日和2月11日之间创建和删除的,那为什么这些文件在LogFile的日志的创建时间却是2月9日和2月11日之间呢?这不是自相矛盾吗?为什么这些文件被创建后就被立即删除了呢?又为什么Windows会在下班后时间启动并关闭呢(此时下班时间,土耳其新闻社没有人工作)?
Mark用了一个新的词汇来形容——“storage hijack”,即 “存储劫持”。
经他分析后,事情的真相是:这个硬盘曾经被人从原来的计算机中取出来,再放入了另外一台计算机中,更改了该计算机的日期和时间,将文件拷贝到证据硬盘中并进行了删除文件操作。所以,Mark得出的结论是:证明罪名成立的文件和日期都是伪造的。
这个案例里面,涉及到的疑点来源于NTFS文件系统中的几个元数据文件,也正是由于配合了这几个数据源的分析,结合UNS日志、$LogFile文件分析,才判断出被指控参与恐怖活动的证据文件是伪造的,这才帮助客户沉冤昭雪,无罪释放。
正因为Mark团队的电子数据取证人员精通NTFS文件系统,并愿意耐心细致地进行逻辑分析,才使得涉案被囚禁1年多的10多名人员无罪获释。
鼓掌……
被Mark客观端正的科学精神感动到了,还有他不畏众多权威结果、坚持自己理性分析的行为值得敬佩!要知道,在他身上这样的故事还有很多……
