基本信息
> Windows的系统目录
-- 不同版本存放在不同的位置(不一定存放在C盘中)
-- 系统目录一旦安装完成就无法更改
> Windows注册表文件
-- 用来存储用户的环境信息
> 用户目录
-- 用来存储用户的文件信息
-- 最近访问的文档、桌面、我的文档、下载、发送到目录等
> 几个重要文件
-- 交换文件(Swap File)
-- 休眠文件(Hibernation File)
-- 假脱机打印文件(Print Spooling)
-- 预读取文件(Windows Prefetch)
> Swap File:pagefile.sys
-- 当内存少于系统应用的需求时,系统会生成一个交换文件来暂存内存数据,以释放内存来进行应用
-- 这个交换文件又叫做分页文件(pagefile.sys),它保存在系统根目录中
-- 一般来说,取证人员面对的多是断电之后获取的介质,也就是检查对象都是静态的存储
-- 动态的内存数据因为断电而不复存在
-- 交换文件可以部分地解决这个问题,通过检查交换文件,可以获取文件碎片以便进行分析
> 相关信息(徐志强)
-- Windows操作系统最多支持16个页交换文件。启用物理地址扩展功能(PAE)的Windows 32位和64位系统的最大页交换文件大小为16TB。64位的安腾架构(Itanium)的系统的页交换文件可以支持高达32TB。页交换文件大小的默认值为计算机物理内存大小的1.5至3倍
-- Pagefile.sys用于存储从物理内存中转移过来的数据。要获得一个正在运行的系统的活动全貌或快照,我们通常除了分析物理内存,还需要分析pagefile.sys。部分工具支持同时将物理内存和pagefile.sys进行检查分析。通常pagefile.sys文件放置于操作系统所在分区,当然用户也完全可能修改高级设置或注册表调整pagefile.sys的存储位置
休眠文件
> Hibernation File:hiberfil.sys
-- 是另外一个获得内存数据的来源
-- Windows XP以后的系统都支持休眠功能
-- 计算机进入休眠状态后,内存被转储到硬盘上的休眠文件中,以便于系统被唤醒时迅速进入系统而不必重新加载系统
-- 休眠文件保存在系统根目录中的hiberfil.sys中
> 相关信息(徐志强)
-- 休眠文件包含了标准的头部(PO_MEMORY_IMAGE),包含了内核上下文与寄存器的相关信息及压缩的数据块。该文件采用了Xpress算法(带霍夫曼Huffman及LZ编码)
-- 文件头部通常包含了“hibr”、“HIBR”、“wake”或“WAKE”等特征。 操作系统从休眠状态恢复后,头部就被清零了。清零后的文件头可能导致一些取证软件无法分析该文件
-- 通过分析hiberfil.sys文件的修改时间戳信息,我们可以了解到该系统最后一次休眠的时间。系统中的休眠文件hiberfil.sys只有一个。当系统重新休眠时,当前物理内存中的内容将会覆盖原有文件的数据。要对hiberfil.sys进行分析,要求取证工具可以将休眠文件中的数据进行解压为原生数据并进行数据解析。Mattieu Suiche的Windows Memory Toolkit工具hibr2bin.exe支持将休眠文件转为原生转储文件
-- 当取证人员在现场要制作Windows操作系统的物理内存镜像时,可能由于内存镜像工具不兼容操作系统导致无法获取物理内存数据。当无法成功制作物理内存镜像时,还可以让系统进入休眠模式,从而用变通的方式获得物理内存中的数据
-- 要进入休眠模式,首先要让系统启用休眠模式支持。Windows 8及以上版本的操作系统,默认启用休眠模式支持。取证人员也可以管理员权限进入命令行模式,并输入powercfg.exe /hibernate ON 来启用休眠模式支持。要让操作系统进入休眠模式,需要输入shutdown /h .
-- Vista以上操作系统在原有支持休眠模式(Hibernate Mode)的基础上增加了睡眠模式(Sleep Mode)。睡眠模式状态下,操作系统使用极少的电量保证内存可以继续工作,一旦系统电量不足,系统将保存所有内存数据到磁盘并关闭计算机。而休眠模式状态下,系统关闭,将内存中的数据写入休眠文件hiberfil.sys中
假脱机打印文件
> Print Spooling:SPL文件
-- Windows中打印文件时,会生成假脱机打印文件
-- 该文件在后台以队列方式自动运行,以便用户不必等待打印结束就可以继续打印下一个文件
-- 每个打印任务会生成两个文件
······ 一个是假脱机文件,扩展名为spl;另一个是影子文件,扩展名为shd
······ 可能存储在系统的System32spoolPRINTERS及系统的Temp等相关目录中,可以在其中进行检视
-- 假脱机打印文件SPL中包括了打印内容
-- 根据打印机的打印模式不同,会有所区别
······ 打印机以RAW模式打印时,假脱机打印文件SPL就包含了原始打印内容
······ Windows系统默认使用EMF 模式,也就是说,每个打印页面都被转换为EMF格式保存在假脱机打印文件SPL中
-- 打印完成后,假脱机打印文件会被系统逻辑删除
······ 可以在未分配空间、文件松弛空间、交换文件、休眠文件中进行查看
······ 需要对保存于其中的EMF文件头进行文件签名分析,就会提取到打印过的图像信息
> 相关信息(tasnrh)
-- 打印处理器(也就是打印机驱动程序)负责SPL文件操作 EMF/RAW文件操作等
-- 打印假脱机程序在Windows系统中主要表现就是Windows后台打印程序Print Spooler(Spoolsv.exe)
预读取文件
> Windows Prefetch:pf后缀文件
-- Windows XP 之后的系统会自动记录下启动时运行的每一个程序,并根据这些信息加快下一次启动的时间
-- 这些文件以pf为后缀,存放于Windows/Prefetch中
-- 预读取文件中包含了程序名称、时间戳和运行次数等信息,其中的时间戳以GMT 格式存储
-- 该文件的文件头有特殊标记,因此即使预读取文件被删除,也可以通过GREP语法来找到该文件来进行分析
> 相关信息(郭永健)
-- 可以从注册表HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSession ManagerMemory ManagementPrefetchParameters子键中对“EnablePrefetcher”的键值项进行设置或查看,具体数值所对应的预读设置如下:······ 0——取消预读功能
······ 1——只预读应用程序
······ 2——只预读WindowsXP系统文件
······ 3——预读Windows XP系统文件和应用程序
-- 例如,在这里,该值为"2",即只预读取Windows XP自身的系统文件,忽略其他应用程序产生的索引文件
-- 在取证分析中,Prefetch文件保持对系统中曾经执行过程序的跟踪,哪怕被运行的程序已经不在了,但Prefetch文件依然可能存在,可以通过分析Prefetch文件知道程序何时执行的、在什么位置、执行过几次等
补记
本文参考了部分网络资源,特别地:
1 部分参考了郭永健编著的教材《电子数据取证分析实战:基础级》
2 部分参考了徐志强的文章《计算机内存取证技术》,网址为:
http://www.binarydata.cn/archives/772.html
在此,一并致谢!
历史回顾(链接):
来源:数字取证文摘
本文始发于微信公众号(电子物证):【Windows的重点目录】
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论