电子数据取证技术,第四章,Windows操作系统取证技术
01 注册表取证分析
1.1 注册表的功能
Windows注册表是一个集中式分层数据库,在Microsoft Windows95/98/Me/NT/2000/XP和Microsoft Windows CE中用于存储为一个或多个用户、应用程序和硬件设备配置系统所必需的信息。
注册表分等级地包含了:
计算机硬件
应用程序
服务
用户信息等
注册表的设置在书籍或在线技术文章中可以找到,如微软的知识库
(Knowledge Base)
1.2 注册表的结构
注册表中涉及的几个重要术语有:
项/主键(Key)
子项/子键(SubKey)
值项/键值(Value)
配置单元(Hive)
预定义项
子树(SubTree) /分支(Branch)
项/子项
在注册表编辑器左侧窗格的定位区域,每一个文件夹表示注册表中的项,项又包括子项和值项,项和子项的关系就像目录可以包含子目录一样
值项
值项也称为键值,类似硬盘上的树型目录的末端文件,项和子项可以包括一个和多个值项。值项由名称、数据类型和数值三部分组成,其格式为:“名称:类型:数据”
范例:
用户的IE浏览器默认首页
HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main
键值名称为:Start Page
键值数据为:http://www.msn.com
数据类型
调查人员也应该知道注册表中存储的不同的数据类型,也就是我们所说的键值类型。以下是常见数据类型的列表:
预定义项(根键)
预定义项,是代表注册表中的主要部分的项,指在注册表中以HKEY作为前缀的文件夹,位于注册表树状结构的最顶层。预定义项类似于硬盘上的根目录,Windows 2000/XP注册表编辑器中有五大预定义项,分别为 :
HKEY_CLASSES_ROOT
HKEY_CURRENT_USER
HKEY_LOCAL_MACHINE
HKEY_USERS
HKEY_CURRENT_CONFIG
在Windows 9x操作系统的注册表中,另外还有一个预定义项
HKEY_DYN_DATA
预定义项与子项的符号链接关系
配置单元
配置单元是作为文件出现在系统注册表的一部分,位于HKEY_LOCAL_MACHINE 和HKEY_USERS两个预定义项下,是项、子项和值的离散体,它位于注册表层的顶部。
配置单元是一个文件,可以通过注册表编辑器中“加载配置单元”和“卸载配置单元”选项,从一个系统移动到另一个系统 。
配置单元
注册表配置单元是注册表中的一组项、子项和值,它有一组包含其数据备份的支持文件。
注册表文件的扩展名及其描述
配置单元(注册表文件)
Windows NT 4.0、Windows 2000、Windows XP、Windows Server 2003 和 Windows Vista中,所有配置单元(HKEY_CURRENT_USER 除外) 的支持文件都位于 :
Windows\System32\Config 文件夹中
HKEY_CURRENT_USER 的支持文件位于:
C:\Users\用户名
这些文件夹中的文件的扩展名指示各自包含的数据的类型,缺少扩展名有时也可能指示文件包含的数据的类型
配置单元Hives:系统注册表文件
包含keys和values
Keys-文件夹
Values-存储在key中的数据
包含信息
Hardware硬件
User Settings用户配置
Software软件
System configuration系统配置
配置单元(注册表文件)
用户注册表文件
– 每一个用户都有一个注册内容
– 用户活动能够记录其相关细节
– 取证应该检查的关键内容
常见位置:
C:\Documents and Settings\用户名\NTUSER.DAT (WinXP) C:\Users\用户名\NTUSER.DAT (Vista 以上版本)
注册表配置单元及文件对照表
Windows系统注册表及其内容
64位Windows系统的注册表
Windows7 64位系统的注册表分32 位注册表项和64位注册表项两部分。
在64bit系统下,通过regedit中查看到指定路径下的注册表项均为64位注册表项,而32位注册表项被重定位到: HKEY_LOCAL_MACHINE\Software\WOW6432Node
应用程序操作注册表的时候也分32bit方式和64bit方式。运行于64bit系统 下的32bit应用程序默认操作32位注册表项(即被重定向到 WOW6432Node下的子项);而64bit应用程序才是操作的直观子项。
1.3 注册表的取证
注册表取证分析工具
EnCase Forensic
FTK Registry Viewer
X-Ways Forensics
Registry Recon
Mitec WRR
常见注册表取证分析项
SAM注册表的取证分析
SAM文件包含用户/用户组信息
用户名称
安全标识符(SID, Security Identifier)
用户登录信息
− 最近登录
− 最近失败登录
− 注册帐号
− 密码策略
用户组信息
− 管理员组
− 用户组
− 远程桌面组
用户帐号及SID
EnCase解析SAM文件
在加载SAM文件后,用户帐户可以在以下路径找到:
SAM\Domains\Account\Users\Names
用户帐户-V值
用户帐户-V值
用户帐户-V值
00000XXX\V,V值可以确认帐户名与SID的关联
SID信息位置:FO偏移288,LE长度为32字节
SID验证(NTFS Permission)
EnCase解析NTFS卷时会解析出文件或文件夹Permission,其中可以看到Owner的SID。
用户帐户-F值
离线分析注册表文件
方式1:直接使用计算机取证分析软件或第三方工具查看内部数据。
方式2:将注册表配置单元文件挂载到本地计算机,并使用注册表编辑器进行查看分析。
reg load /? 查看帮助说明
reg load HKLM\Temp d:\SYSTEM 将注册表文件SYSTEM挂载为本地HKLM\Temp
离线分析注册表文件
02 事件日志的取证
2.1 Windows事件日志
常见Windows事件
用户登录或注销
远程访问审计
即插即用设备使用
系统时间修改
无线网络接入
事件日志文件路径
Vista以上系统:\Windows\System32\winevt\Logs
2.2 Windows事件日志-用户登录
Windows用户登录/注销的事件日志
ID=1,已收到用户在会话 1 上的登录通知。
ID=5,在 HKU\S-1-5-21-212543445-505703527-3190885944-1003 上加载了注册表文件 C:\Users\Binarydata\ntuser.dat。
ID=67,登录类型: Regular,本地配置文件位置: C:\Users\Binarydata
ID=5,在 HKU\S-1-5-21-212543445-505703527-3190885944-1003_Classes 上加载了注册表文件
C:\Users\Binarydata\AppData\Local\Microsoft\Windows\UsrClass.dat。
ID=2,已完成处理用户在会话 1 上的登录通知。
ID=3,已收到用户在会话 1 上的注销通知。
ID=4,已完成处理用户在会话 1 上的注销通知。
2.3 Windows事件日志-系统时间修改
在Windows系统中,修改系统时间将会触发Event Log记录该事件的发生, 通常会生成EventID为1和4616的事件日志。
系统(System):EventID=1
安全(Security):EventID=4616
2.4 Windows事件日志-无线网络接入
2.5 Windows事件日志-即插即用设
2.6 Windows事件日志-远程桌面连接
2.7 日志的操作方法
03 时间信息的取证
3.1 时区和时间标度
1.时区
整个地球分为24个时区,每个时区横跨经度15度,时间正好是1小时。
泰国:东7区
我国:东8区
日本:东9区
凡向西走,每过一个时区,就要把表拨慢1小时(比如2点拨到1点);凡向东走,每过一个时区,就要把表拨快1小时(比如1点拨到2点)。
2.GMT (Greenwich Mean Time)
本初子午线所在时区的时间,它对应位于英国伦敦郊区的皇家格林威治天文台的标准时间。理论上来说,格林威治标准时间的正午是指当太阳横穿格林威治子午线时(也就是在格林威治上空最高点时)的时间。
3.UTC (Universal Time Coordinated)
世界协调时间(又称世界标准时间、世界统一时间),是经过平均太阳时(以格林威治时间GMT为准)、地轴运动修正后的新时标以及以“秒”为单位的国际原子时所综合精算而成的时间。
UTC比GMT来得更加精准。其误差值必须保持在0.9秒以内,若大于0.9秒则由位于巴黎的国际地球自转事务中央局发布闰秒,使UTC与地球自转周期一致。
两者的区别在于前者是一个天文上的概念,根据地球的自转和公转来计算时间;而后者是基于一个原子钟。
1、32位Windows/Dos文件时间格式
32位Windows/Dos时间格式被存储于32bit(4字节)二进制数据格式内。32位Windows/Dos时间格式应用于FAT文件格式,记录文件创建、文件修改和最后访问的日期和时间。它也同样应用于MSDOS(某些16bit的DOS系统除外)。
2、64位Windows文件时间格式
64位Windows文件时间格式是基于1601年1月1日00:00:00,以100ns(1ns=10-9s)递增的UTC时间格式。这种格式应用于NTFS格式文件系统中的NTFS Master File Table(MFT)。存储文件建立时间,最后修改时间、最后访问时间和MFT记录最后修改时间。
04 磁盘与文件
4.1 卷与分区
在Windows系统中,磁盘分为基本磁盘和动态磁盘。默认情况下,用户使用的都是基本磁盘。
基本磁盘使用主分区、扩展分区和逻辑分区的方式管理磁盘。并且,每个分区都是单一物理磁盘的分区实体,不可以跨盘分区。
动态磁盘是基本磁盘的升级模式,它不采用基本磁盘的分区形式。动态磁盘中,卷和分区之间存在较大的差别。同一分区只能存在于一个物理磁盘上,而同一个卷却可以跨越多个物理磁盘。
简单卷和跨区卷
简单卷是物理磁盘的一部分,但它工作时就好像是物理上的一个独立单元。通常情况下,计算机上的硬盘在进行了分区处理后,每个分区的类型都是简单卷。
跨区卷必须建立在动态磁盘上,是一种和简单卷结构相似的动态卷。跨区卷将来自多个磁盘的未分配空间合并到一个逻辑卷中,这样可以更有效地使用多个磁盘系统上的所有空间和驱动器号。
4.2 独立磁盘冗余阵列
以RAID级别标准划分,可分为:
RAID 0、RAID 1、RAID 2、RAID 3、RAID 4、RAID 5、RAID 6、RAID 7、RAID 10、RAID 50等
常用的RAID应用:
RAID 0
RAID 1
RAID 10
RAID 5
4.3 文件系统
文件系统是操作系统用于明确磁盘或分区上的文件的保存方法和数据结构,即在磁盘上组织文件的方法。
一个分区或磁盘能作为文件系统使用前,需要初始化,并将记录数据结构写到磁盘上。这个过程就叫建立文件系统。
FAT16、FAT32、NTFS是目前最常见的三种文件系统。
FAT文件系统
FAT(File Allocation Table,文件分配表ÿ