RELATEED CONSULTING
相关咨询
选择下列产品马上在线沟通
服务时间:9:30-18:00
你可能遇到了下面的问题
关闭右侧工具栏
休眠文件的取证研习会干货小课堂第3期
  • 作者:admin
  • 发表时间:2017-09-07 14:10
  • 来源:未知

  上期介绍了Mark Spencer先生关于《Windows注册表分析取证 | 研习会干货小课堂第2期》的独到总结,反响很是不错。 本期休眠文件的取证依然来自于Mark的分享。

  在演讲现场,Mark再三强调了一个事实:他所创立的Arsenal是一个咨询服务公司,主要的业务是提供咨询服务,并非取证产品销售。他们之所以会开发产品,只是因为现有的产品满足不了他们在某个方面的需求,所以只能选择自己做。听到这个,不知道你和小编是不是想的一样:没有现做一个也就罢了,做了之后自己用不当产品卖也罢了,可你说这做了之后不仅有新的研究发现而且这一个小副业工具就成了业界顶尖技术简直让小编觉得五(没)体(有)投(活)地(路)……

  来,听听看,这“顺便”开发的工具是如何克服又一个取证顽疾的。

  内容要点

  Windows休眠文件的基础知识

  休眠文件取证的难点

  休眠文件取证新方法——Hibernation Recon

  Windows休眠文件的基础知识

  休眠文件,通常是保存计算机休眠之前的内存数据,而取证专家一旦获得内存数据镜像,就可以分析出当前运行的程序、账户密码、浏览器历史记录、文件等内容。

  休眠:指Windows在关机前将内存主要数据写回硬盘然后断电关机的过程。写回硬盘的数据保存在一个名为“hiberfil.sys”的文件中,这个文件就是休眠文件。该文件一般位于系统分区的根目录下,具有系统和隐藏属性。再次开机即可唤醒休眠的系统,整个系统与上次休眠前的状态一模一样,打开的网页,游戏进度,全部都在。

  睡眠:睡眠指的是数据还在内存中,但大多数进程停止,整个系统保持在低能耗运行状态,直到用户通过鼠标键盘等方式唤醒。虽然睡眠状态唤醒很快,却有一个缺点:一旦突然断电,会造成数据丢失。

  混合睡眠:为了解决睡眠状态的缺点,微软还对台式电脑提供了混合睡眠状态,顾名思义,同时进行休眠和睡眠,数据既有保存在hiberfil.sys,又存在于内存,唤醒速度和睡眠状态一样快而且不怕突然断电。

  根据以上概念你可能会问:休眠文件中的数据是不是和内存差不多?确实如此,内存中可以获取到什么数据,这里面也有什么数据:网页,进程,文件,文件系统元数据……。所以不少内存取证工具都支持hiberfil.sys文件(当然还有其他几个内存相关文件)解析。

  休眠文件取证的难点

  休眠文件取证分析难度大有以下几点原因:

  1. 微软并没有公开hiberfil.sys文件的内部结构,且不同系统下该文件结构也有差异。

  2. 休眠文件中保存的数据是压缩的,直接使用关键字搜索效果很糟。之前的系统(Windows XP,Vista和Win 7)使用的是XPRESS压缩算法,相对容易;而现在的系统(Windows8/8.1/10)使用的是XPRESS和Huffman加密算法相结合,就很难解析了。

  3. 休眠文件的大小是确定的,休眠的时候保存的数据一般不会占用整个文件的“容量”。与文件系统类似,休眠文件中一般也会存在未被覆盖的上次休眠数据、上上次休眠数据的情况……

  4. 休眠文件中还有slack区间,休眠文件中的数据又有slack区间。总之,休眠文件结构复杂,数据量大,取证价值高,分析难度大。

休眠文件的取证

  很多取证软件中都声称可以分析休眠文件。但事实上,在Windows 8.1之后,没有任何工具可以分析已经更改了压缩算法的休眠文件。目前针对休眠文件所能使用的工具和方法总结起来就是:

  1. 支持的方面非常有限

  2. 恢复的数据支离破碎

  3. 完全没有支持Windows8,8.1,10的工具

  4. 无法从slack区间识别提取不同类型数据

  5. 解压和内存重建方面漏洞百出,甚至破坏数据

  6. 整个分析过程建立在单一的、不牢靠的基础之上

  Mark在会上现场展示了在实际案例中,使用现有的其它工具对压缩的休眠进行解析,得到的是大量看似正常、但却实际上有效度为“零”的信息。

  休眠文件取证新方法——Hibernation Recon

  休眠文件里有大量非常有价值的信息,而我们能用的工具和方法竟然完全忽略掉了!那怎么可以?于是就有了Hibernation Recon。

  Hibernation Recon的强大在于,它可以提取出休眠文件中的当前活动内存镜像、之前的内存镜像、休眠文件中的残留区数据,且同时支持解析XP和Win7的传统压缩算法和Win 8/10的增强压缩算法。

  支持Windows XP,Vista,7,8/8.1 ,10

  | 精确解压缩且重新构建内存

  | 从slack分区多层面识别和提取大量数据

  | 对部分覆盖的slack空间暴力解压

  | 基于特殊休眠文件中隔离slack空间

  | 处理休眠文件数据过程保证内容完整性

  | 高级NTFS原数据恢复技术

  | 多个休眠文件并行处理

  Hibernation Recon的作用就是就是将休眠文件中多次的内存转储解析出来,并还原历史痕迹。在Mark研习会案例中,我们知道,即便是Win7升级到Windows 10之后,还是可以发现早期的Windows 7的内存转储,或者直接获得到被休眠文件保存过的内存转储。通过分析这些不同时间的内存数据,可以还原出使用者的历史的账户和密码、文件、可疑的恶意代码。

  下图是Hibernation Recon在处理休眠文件后的导出的文件类型详情:

  (图中Legacy指的是Windows XP,Vista和Windows 7; Modern 指的是Windows 8,8.1,10等。)

  高级NTFS元数据恢复技术:很重要的一点是,内存中可以保存NTFS的属性文件,例如I30、INDEX等信息。Hibernation通过休眠文件可以重构历史内存中的所有NTFS元数据信息,因此它所得到的记录数量,竟然比我们普通取证分析软件的结果多出10倍!

  下期我们会继续分享Mark关于“高级NTFS元数据恢复”的内容。

  听完Mark的课程,Sprite老师不禁汗颜,他反复思考着这个问题:

  从没有想到过在过去分析的数据中,竟然丢失了如此多的重要痕迹和线索。现在,美国军方、警方的电子数据取证专家开始使用了Registry Recon和Hibernation Recon,将以前的所有案件硬盘拿出来重新分析。那么,国内专家做的不同案件中,是否也有很多的缺失呢?

  这是个值得深思的问题……

  这几期Mark的分享,相辅相成,休眠文件与NTFS之间有着不可描述的关系,详情请关注下期“高级NTFS元数据恢复”,别忘了留言鼓励哦!