官方公众号企业安全新浪微博
FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。
FreeBuf+小程序
Windows 计算机取证简介
计算机取证是网络攻防战的一个重要领域,涉及收集在计算机上执行的活动的证据。它是更广泛的数字取证领域的一部分,负责对所有类型的数字设备进行取证分析,包括恢复、检查和分析在数字设备中发现的数据。数字和计算机取证的应用范围很广。
Windows 注册表信息取证
注册表:
Windows 注册表是包含系统配置数据的数据库集合。该配置数据可以是关于硬件、软件或用户信息的。它还包括有关最近使用的文件、使用的程序或连接到系统的设备的数据。从取证的角度来看,这些数据对取证是非常有益的。可以使用 regedit.exe 查看注册表,这是一个用于查看和编辑注册表的内置 Windows 实用程序。
注册表结构:
Windows 系统上的注册表都包含以下五个根键:
- HKEY_CURRENT_USER
- HKEY_HKEY_USERS
- HKEY_LOCAL_MACHINE
- HKEY_CLASSES_ROOT
- HKEY_CURRENT_CONFIG
以下是 Microsoft 如何定义这些根密钥。有关以下 Windows 注册表项的更多详细信息和信息,请访问 Microsoft 文档。
文件夹/预定义键 | 描述 |
---|---|
HKEY_CURRENT_USER | 包含当前登录用户的配置信息的根目录。用户的文件夹、屏幕颜色和控制面板设置都存储在这里。此信息与用户的个人资料相关联。该键有时缩写为 HKCU。 |
HKEY_USERS | 包含计算机上所有主动加载的用户配置文件。HKEY_CURRENT_USER 是 HKEY_USERS 的子项。HKEY_USERS 有时缩写为 HKU。 |
HKEY_LOCAL_MACHINE | 包含特定于计算机的配置信息(对于任何用户)。此密钥有时缩写为 HKLM。 |
HKEY_CLASSES_ROOT | 是 的子项 从 Windows 2000 开始,此信息存储在 HKEY_LOCAL_MACHINE 和 HKEY_CURRENT_USER 键下。该 HKEY_CLASSES_ROOT 键提供了一个注册表视图,它合并了来自这两个源的信息。HKEY_CLASSES_ROOT 还为为早期版本的 Windows 设计的程序提供此合并视图。要更改交互式用户的设置,必须在 HKEY_CLASSES_ROOT 下 要更改默认设置,必须在 下进行更改 如果您将值写入 HKEY_CLASSES_ROOT 下的某个键,并且该键已经存在于 下 |
HKEY_CURRENT_CONFIG | 包含有关本地计算机在系统启动时使用的硬件配置文件的信息。 |
离线访问注册表配置单元
如果只能访问磁盘映像,则必须知道注册表配置单元在磁盘上的位置。这些配置单元中的大多数都位于C:\Windows\System32\Config
目录中,并且是:
- 默认(安装在
HKEY_USERS\DEFAULT
) - SAM(安装在
HKEY_LOCAL_MACHINE\SAM
) - 安全(安装在
HKEY_LOCAL_MACHINE\Security
) - 软件(安装在
HKEY_LOCAL_MACHINE\Software
) - 系统(安装在
HKEY_LOCAL_MACHINE\System
)
除了这些配置单元之外,还可以在用户配置文件目录中找到另外两个包含用户信息的配置单元。对于 Windows 7 及更高版本,用户的配置文件目录位于C:\Users\<username>\
配置单元所在的位置:
- NTUSER.DAT(当用户登录时安装在 HKEY_CURRENT_USER 上)
- USRCLASS.DAT(安装在 HKEY_CURRENT_USER\Software\CLASSES 上)
- NTUSER.DAT 和 USRCLASS.DAT 是隐藏文件
USRCLASS.DAT 配置单元位于目录中C:\Users\<username>\AppData\Local\Microsoft\Windows
Amcache
AmCache 配置单元。位于C:\Windows\AppCompat\Programs\Amcache.hve
. Windows 创建此配置单元以保存有关最近在系统上运行的程序的信息。
事务日志和备份:
取证数据来源是注册表事件日志和备份。事件日志可以被认为是注册表配置单元更改日志的日志。在将数据写入注册表配置单元时,Windows 经常使用事件日志。这意味着事务日志通常可以在注册表中包含尚未进入注册表配置单元本身的最新更改。每个 hive 的事件日志作为 .LOG 文件存储在与 hive 本身相同的目录中。它与注册表配置单元同名,但扩展名为 .LOG。例如,SAM 配置单元的事务日志将位于C:\Windows\System32\Config
在文件名 SAM.LOG 中。有时也可能有多个事务日志。在这种情况下,它们将具有 .LOG1、.LOG2 等作为其扩展名。
注册表备份与事件日志相反。这些是位于C:\Windows\System32\Config
目录中的注册表配置单元的备份。C:\Windows\System32\Config\RegBack
这些配置单元每十天被复制到 目录中。如果怀疑某些注册表项最近可能已被删除/修改,可查看此位置。
Windows取证数据采集
虽然我们可以通过注册表编辑器查看注册表,但取证正确的方法是获取此数据的副本并对其进行分析。但是,当从复制注册表配置单元时%WINDIR%\System32\Config
,我们不能,因为它是受限制的文件。那么,现在该怎么办?
为了获取这些文件,可以使用以下工具之一:
- KAPE是一种实时数据采集和分析工具,可用于获取注册表数据。它主要是一个命令行工具,但也带有一个 GUI。
- Autopsy使你可以选择从实时系统或磁盘映像中获取数据。添加数据源后,导航到要提取的文件的位置,然后右键单击并选择提取文件选项。它看起来与您在下面的屏幕截图中看到的相似。
- FTK Imager类似于 Autopsy,允许通过在 FTK Imager 中安装所述磁盘映像或驱动器来从磁盘映像或实时系统中提取文件。
Windows 探索注册表
一旦提取了注册表配置单元,需要一个工具来查看这些文件,就像我们在注册表编辑器中一样。由于注册表编辑器仅适用于实时系统并且无法加载导出的配置单元,因此可以使用以下工具:
注册表查看器:
AccessData 的注册表查看器具有与 Windows 注册表编辑器类似的用户界面。但是,有一些限制。它一次只加载一个配置单元,并且不能考虑事务日志。
- 如图所示
Zimmerman 的注册表浏览器:
Eric Zimmerman 开发了一些对执行数字取证和事件响应非常有用的工具。其中之一是注册表浏览器。它可以同时加载多个配置单元,并将事务日志中的数据添加到配置单元中,以使用更多最新数据制作更“干净”的配置单元。它还有一个方便的“书签”选项,其中包含取证调查人员经常寻找的重要的取证注册表项。调查人员可以通过书签菜单项直接访问感兴趣的注册表项和值。
- 如图所示
RegRipper是一个实用程序,它将注册表配置单元作为输入并输出一个报告,该报告从该配置单元中的一些取证重要的键和值中提取数据。输出报告在一个文本文件中,并按顺序显示所有结果。
- 如图所示