Introduction to Windows Forensics

Windows 计算机取证简介:

计算机取证是网络安全的一个重要领域,涉及收集计算机上执行的活动的证据。它是更广泛的数字取证领域的一部分,涉及所有类型数字设备的取证分析,包括恢复、检查和分析数字设备中的数据。数字和计算机取证的应用范围很广,从法律领域(用于支持或反驳民事或刑事案件中的假设)到私人领域(用于帮助公司内部调查以及事件和入侵分析)。

数字取证解决刑事案件的一个完美例子是 BTK 连环杀手 案。当凶手开始通过寄信来嘲弄警方时,这个案件已经搁置了十多年。当他向当地一家新闻台寄出一张软盘时,案件发生了重大转折,后来被警方作为证据带走。警方成功恢复了驱动器上已删除的 Word 文档,并使用元数据和其他一些证据锁定并逮捕了他。

Microsoft Windows 是目前使用最广泛的桌面操作系统。私人用户和企业更喜欢它,它目前占据了大约 80% 的桌面市场份额。这意味着,对于对数字取证感兴趣的人来说,了解如何在 Microsoft Windows 上执行取证分析非常重要。在本模块中,我们将了解从 Windows 注册表收集取证数据的不同方法,并根据这些数据对 Windows 系统上执行的活动得出结论。

取证文物:

在进行取证分析时,您经常会听到“文物”这个词。取证文物是提供人类活动证据的重要信息。例如,在调查犯罪现场时,指纹、衬衫或外套的断扣、用于实施犯罪的工具都被视为取证文物。所有这些证据结合在一起,重现了犯罪的经过。

在计算机取证中,取证证据可以是计算机系统上留下的少量活动痕迹。在 Windows 系统上,由于 Windows 系统为特定活动创建了各种证据,因此可以使用计算机取证非常准确地追溯一个人的行为。这些证据通常位于“普通”用户通常不会冒险前往的位置。就我们的目的而言,可以分析这些证据,为调查提供活动证据。

那么我的电脑在监视我吗?

你怎么看?

Windows 系统会跟踪用户执行的大量活动。但所有这些跟踪都是出于恶意目的,还是有其他原因?正如我们将在本会议室中看到的,取证专家认为是证据的文件系统组件主要源自 Microsoft 为改善用户体验所做的努力。

假设系统上安装了相同版本的 Windows,除了安装过程中采取的操作外,所有用户的开箱即用体验都是相似的。但是,随着时间的推移,每个用户都会根据自己的偏好对计算机进行个性化设置。这些偏好包括桌面布局和图标、互联网浏览器中的书签、用户名称、安装不同的应用程序以及使用互联网浏览器为每个应用程序和其他帐户登录不同的帐户。

Windows 会保存这些偏好,以使您的计算机更加个性化。但是,法医调查员会使用这些偏好作为工件来识别在系统上执行的活动。因此,虽然您的计算机可能正在监视您,但这并不是出于监视的明确原因,而是为了让您更愉快地按照自己的喜好使用计算机。但法医调查员会使用相同的信息进行法医分析。当我们穿过这个房间时,我们会看到 Windows 将这些工件存储在整个文件系统的不同位置,例如注册表、用户的配置文件目录、应用程序特定的文件等。

在下一个任务中,我们将了解 Windows 注册表以及它如何帮助我们对 Windows 系统进行取证分析。

Windows Registry and Forensics

Windows Registry:

Windows 注册表是包含系统配置数据的数据库集合。此配置数据可以是关于硬件、软件或用户的信息。它还包括有关最近使用的文件、使用的程序或连接到系统的设备的数据。正如您所理解的,从取证的角度来看,这些数据是有益的。在整个房间中,我们将学习如何读取这些数据以识别有关系统的所需信息。您可以使用 regedit.exe(一个内置的 Windows 实用程序来查看和编辑注册表)查看注册表。我们将在接下来的任务中探索其他工具来了解注册表。

Windows 注册表由键和值组成。当您打开 regedit.exe 实用程序查看注册表时,您看到的文件夹是注册表项。注册表值是存储在这些注册表项中的数据。 [注册表配置单元](https://docs.microsoft.com/en-us/windows/win32/sysinfo/registry-hives#:~:text=Registry Hives。配置单元是一个逻辑组,具有用于用户配置文件的单独文件。) 是存储在磁盘上的单个文件中的一组键、子键和值。

注册表结构:

任何 Windows 系统上的注册表都包含以下五个根键:

  1. HKEY_CURRENT_USER
  2. HKEY_USERS
  3. HKEY_LOCAL_MACHINE
  4. HKEY_CLASSES_ROOT
  5. HKEY_CURRENT_CONFIG

打开 regedit.exe 实用程序时,您可以查看这些键。要打开注册表编辑器,请同时按下 Windows 键和 R 键。它将打开一个如下所示的“运行”提示符:

img

在此提示中,输入“regedit.exe”,您将看到注册表编辑器窗口。它看起来像这样:

img

在这里,您可以在左窗格中以树状视图的形式看到根键,该树状视图显示了所包含的注册表项,而所选键中的值则显示在右窗格中。您可以右键单击右窗格中显示的值,然后选择属性以查看该值的属性。

以下是 Microsoft 定义每个根键的方式。有关以下 Windows 注册表项的更多详细信息和信息,请访问 Microsoft 的文档

文件夹/预定义键 说明
HKEY_CURRENT_USER 包含当前登录用户的配置信息的根目录。用户的文件夹、屏幕颜色和控制面板设置都存储在此处。此信息与用户的配置文件相关联。此键有时缩写为 HKCU。
HKEY_USERS 包含计算机上所有主动加载的用户配置文件。HKEY_CURRENT_USER 是 HKEY_USERS 的子项。HKEY_USERS 有时缩写为 HKU。
HKEY_LOCAL_MACHINE 包含特定于计算机的配置信息(适用于任何用户)。此键有时缩写为 HKLM。
HKEY_CLASSES_ROOT HKEY_LOCAL_MACHINE\Software 的子项。存储在此处的信息可确保使用 Windows 资源管理器打开文件时打开正确的程序。此键有时缩写为 HKCR。从 Windows 2000 开始,此信息存储在 HKEY_LOCAL_MACHINE 和 HKEY_CURRENT_USER 键下。HKEY_LOCAL_MACHINE\Software\Classes 键包含可应用于本地计算机上所有用户的默认设置。 “HKEY_CURRENT_USER\Software\Classes” 键具有覆盖默认设置并仅适用于交互式用户的设置。HKEY_CLASSES_ROOT 键提供了注册表视图,该视图合并了来自这两个来源的信息。HKEY_CLASSES_ROOT 还为针对早期版本的 Windows 设计的程序提供了此合并视图。要更改交互式用户的设置,必须在“HKEY_CURRENT_USER\Software\Classes”下进行更改,而不是在 HKEY_CLASSES_ROOT 下进行更改。要更改默认设置,必须在“HKEY_LOCAL_MACHINE\Software\Classes”下进行更改。如果将键写入 HKEY_CLASSES_ROOT 下的键,系统会将信息存储在“HKEY_LOCAL_MACHINE\Software\Classes”下。如果将值写入 HKEY_CLASSES_ROOT 下的键,并且该键已经存在于“HKEY_CURRENT_USER\Software\Classes”下,系统会将信息存储在那里,而不是在“HKEY_LOCAL_MACHINE\Software\Classes”下。
HKEY_CURRENT_CONFIG 包含有关本地计算机在系统启动时使用的硬件配置文件的信息。

Accessing registry hives offline

如果您正在访问实时系统,您将能够使用 regedit.exe 访问注册表,并且您将看到我们在上一个任务中了解到的所有标准根键。但是,如果您只能访问磁盘映像,则必须知道注册表配置单元在磁盘上的位置。这些配置单元中的大多数位于 C:\Windows\System32\Config 目录中,并且是:

  1. DEFAULT(安装在 HKEY_USERS\DEFAULT 上)
  2. SAM(安装在 HKEY_LOCAL_MACHINE\SAM 上)
  3. SECURITY(安装在 HKEY_LOCAL_MACHINE\Security 上)
  4. SOFTWARE(安装在 HKEY_LOCAL_MACHINE\Software 上)
  5. SYSTEM(安装在 HKEY_LOCAL_MACHINE\System 上)

包含用户信息的配置单元:

除了这些配置单元之外,在用户配置文件目录中还可以找到另外两个包含用户信息的配置单元。对于 Windows 7 及更高版本,用户的配置文件目录位于 C:\Users\<username>\,其中配置单元为:

  1. NTUSER.DAT(用户登录时安装在 HKEY_CURRENT_USER 上)

  2. USRCLASS.DAT(安装在 HKEY_CURRENT_USER\Software\CLASSES 上)

USRCLASS.DAT 配置单元位于目录 C:\Users\<username>\AppData\Local\Microsoft\Windows 中。d

img

NTUSER.DAT 配置单元位于目录“C:\Users<username>\”中。

img

请记住,NTUSER.DAT 和 USRCLASS.DAT 是隐藏文件。

Amcache 配置单元:

除了这些文件之外,还有另一个非常重要的配置单元,称为 AmCache 配置单元。此配置单元位于“C:\Windows\AppCompat\Programs\Amcache.hve”。Windows 创建此配置单元是为了保存有关最近在系统上运行的程序的信息。

事务日志和备份:

其他一些非常重要的取证数据来源是注册表事务日志和备份。事务日志可以被视为注册表配置单元的更改日志的日志。Windows 在将数据写入注册表配置单元时经常使用事务日志。这意味着事务日志通常可以包含注册表中尚未进入注册表配置单元本身的最新更改。每个配置单元的事务日志都作为 .LOG 文件存储在与配置单元本身相同的目录中。它与注册表配置单元同名,但扩展名为 .LOG。例如,SAM 配置单元的事务日志将位于文件名为 SAM.LOG 的“C:\Windows\System32\Config”中。有时也可能有多个事务日志。在这种情况下,它们的扩展名为 .LOG1、.LOG2 等。在执行注册表取证时,查看事务日志也是明智的做法。

注册表备份与事务日志相反。这些是位于“C:\Windows\System32\Config”目录中的注册表配置单元的备份。这些配置单元每十天复制到“C:\Windows\System32\Config\RegBack”目录。如果您怀疑某些注册表项可能最近被删除/修改,那么它可能是一个绝佳的查看位置。

Data Acquisition

在进行取证时,我们要么遇到实时系统,要么遇到系统映像。为了准确起见,建议对系统进行映像或复制所需数据并对其进行取证。此过程称为数据获取。下面我们讨论从实时系统或磁盘映像获取注册表数据的不同方法:

虽然我们可以通过注册表编辑器查看注册表,但正确的取证方法是获取此数据的副本并对其进行分析。但是,当我们从“%WINDIR%\System32\Config”复制注册表配置单元时,我们不能这样做,因为它是一个受限制的文件。那么,现在该怎么办?

为了获取这些文件,我们可以使用以下工具之一:

KAPE:

KAPE 是一种实时数据采集和分析工具,可用于获取注册表数据。它主要是一个命令行工具,但也带有 GUI。下面的屏幕截图显示了 KAPE GUI 的外观。我们已经在此屏幕截图中选择了使用 KAPE 提取注册表数据的所有设置。我们将详细了解如何在专用的 KAPE 室中使用 KAPE 收集取证文物。

img

Autopsy:

Autopsy 为您提供了从实时系统或磁盘映像获取数据的选项。添加数据源后,导航到要提取的文件的位置,然后右键单击并选择提取文件选项。它看起来类似于您在下面的屏幕截图中看到的内容。

img

FTK Imager:

FTK Imager 与 Autopsy 类似,允许您通过在 FTK Imager 中安装所述磁盘映像或驱动器来从磁盘映像或实时系统中提取文件。您可以在下方看到导出文件的选项,如屏幕截图中突出显示的那样。

img

另一种从 FTK Imager 中提取注册表文件的方法是通过“获取受保护文件”选项。此选项仅适用于实时系统,并在下面的屏幕截图中突出显示。此选项允许您将所有注册表配置单元提取到您选择的位置。但是,它不会复制“Amcache.hve”文件,而这通常是调查上次执行的程序的证据所必需的。

img

Exploring Windows Registry

一旦提取了注册表配置单元,我们就需要一个工具来查看这些文件,就像在注册表编辑器中一样。由于注册表编辑器仅适用于实时系统,无法加载导出的配置单元,因此我们可以使用以下工具:

注册表查看器:

如下面的屏幕截图所示,AccessData 的注册表查看器 具有与 Windows 注册表编辑器类似的用户界面。不过,它有几个限制。它一次只能加载一个配置单元,并且不能考虑事务日志。

img

Zimmerman’s Registry Explorer:

Eric Zimmerman 开发了一些 工具,它们对于执行数字取证和事件响应非常有用。其中之一就是注册表资源管理器。它看起来像下面的屏幕截图。它可以同时加载多个配置单元,并将事务日志中的数据添加到配置单元中,以创建更“干净”的配置单元,其中包含更多最新数据。它还有一个方便的“书签”选项,其中包含取证调查人员经常寻找的具有法医重要性的注册表项。调查人员可以使用书签菜单项直接转到有趣的注册表项和值。我们将在接下来的任务中更详细地探讨这些内容。

img

RegRipper:

RegRipper 是一款实用程序,它将注册表配置单元作为输入,并输出一份报告,该报告从该配置单元中的一些具有法医意义的键和值中提取数据。输出报告位于一个文本文件中,并按顺序显示所有结果。

RegRipper 有 CLI 和 GUI 两种形式,如下面的屏幕截图所示。

img**
RegRipper 的一个缺点是它不考虑事务日志。我们必须使用 Registry Explorer 将事务日志与相应的注册表配置单元合并,然后再将输出发送到 RegRipper 以获得更准确的结果。

尽管我们已经讨论了这些不同的工具,但就本房间而言,我们将仅使用 Registry Explorer 和 Eric Zimmerman 的一些工具。此处提到的其他工具将在单独的房间中介绍。

System Information and System Accounts

现在我们已经学会了如何读取注册表数据,让我们找出在注册表中查找哪里可以执行取证分析。

当我们开始执行取证分析时,第一步是找出系统信息。此任务将涵盖收集与机器的系统和帐户信息相关的信息。

操作系统版本:

如果我们只有分类数据来执行取证,我们可以通过注册表确定这些数据是从哪个操作系统版本中提取的。要查找操作系统版本,我们可以使用以下注册表项:

SOFTWARE\Microsoft\Windows NT\CurrentVersion

注册表资源管理器显示此注册表项的方式如下。

img

Current control set:

包含用于控制系统启动的机器配置数据的配置单元称为控制集。通常,我们会在机器的 SYSTEM 配置单元中看到两个控制集,ControlSet001 和 ControlSet002。在大多数情况下(但并非总是),ControlSet001 将指向机器启动时使用的控制集,而 ControlSet002 将是“最后已知的良好”配置。它们的位置将是:

SYSTEM\ControlSet001
SYSTEM\ControlSet002

当机器处于活动状态时,Windows 会创建一个易失性控制集,称为 CurrentControlSet (HKLM\SYSTEM\CurrentControlSet)。为了获取最准确的系统信息,我们将参考这个配置单元。我们可以通过查看以下注册表值来找出哪个控制集被用作 CurrentControlSet:

SYSTEM\Select\Current

类似地,可以使用以下注册表值找到“最后一次正确的”配置:

SYSTEM\Select\LastKnownGood

这是注册表资源管理器中的样子。

img

在进行分析之前,确定这些信息至关重要。正如我们将看到的,我们收集的许多法医文物都将从控制集中收集。

Computer Name:

在进行取证分析时,确定计算机名称至关重要,以确保我们在应该工作的机器上工作。我们可以从以下位置找到计算机名称:

SYSTEM\CurrentControlSet\Control\ComputerName\ComputerName

注册表资源管理器显示如下。查看并回答问题 3:

img

Time Zone Information:

为了准确起见,确定计算机所在的时区非常重要。这将有助于我们了解事件发生的年表。要查找时区信息,我们可以查看以下位置:

SYSTEM\CurrentControlSet\Control\TimeZoneInformation

它在注册表资源管理器中的样子如下。

img

时区信息很重要,因为计算机中的某些数据的时间戳为 UTC/GMT,而其他数据则为本地时区。了解本地时区有助于在合并来自所有来源的数据时建立时间线。

网络接口和过去的网络:

以下注册表项将提供我们正在调查的机器上的网络接口列表:

SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces

查看注册表资源管理器中显示的此注册表项

img

每个接口都用一个唯一标识符 (GUID) 子项表示,其中包含与接口的 TCP/IP 配置相关的值。此键将为我们提供 IP 地址、DHCP IP 地址和子网掩码、DNS 服务器等信息。这些信息非常重要,因为它可以帮助您确保在应该执行取证的机器上执行取证。

可以在以下位置找到给定机器所连接的过去网络:

SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList\Signatures\Unmanaged
SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList\Signatures\Managed

img

这些注册表项包含过去的网络以及它们上次连接的时间。注册表项的最后写入时间指向这些网络的上次连接时间。

自动启动程序 (Autoruns):

以下注册表项包含有关用户登录时运行的程序或命令的信息。

NTUSER.DAT\Software\Microsoft\Windows\CurrentVersion\Run
NTUSER.DAT\Software\Microsoft\Windows\CurrentVersion\RunOnce
SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce
SOFTWARE\Microsoft\Windows\CurrentVersion\policies\Explorer\Run
SOFTWARE\Microsoft\Windows\CurrentVersion\Run

img

以下注册表项包含有关服务的信息:

SYSTEM\CurrentControlSet\Services

请注意下面屏幕截图中“Start”键的值。

img

在此注册表项中,如果“start”键设置为 0x02,则表示此服务将在启动时启动。

SAM 配置单元和用户信息:

SAM 配置单元包含用户帐户信息、登录信息和组信息。这些信息主要位于以下位置:

SAM\Domains\Account\Users

看一下下面的截图

img

这里包含的信息包括用户的相对标识符 (RID)、用户登录的次数、上次登录时间、上次登录失败、上次更改密码、密码过期、密码策略和密码提示以及用户所属的任何组。

Usage or knowledge of files/folders

Recent Files:

Windows 为每个用户维护最近打开的文件列表。正如我们在使用 Windows 资源管理器时可能看到的那样,它向我们显示了最近使用的文件列表。此信息存储在 NTUSER 配置单元中,可以在以下位置找到:

NTUSER.DAT\Software\Microsoft\Windows\CurrentVersion\Explorer\RecentDocs

img

注册表资源管理器允许我们对注册表项中包含的数据进行快速排序。例如,“最近文档”选项卡将“最近使用 (MRU)”文件排列在列表顶部。注册表资源管理器还会对它们进行排列,以便“最近使用 (MRU)”文件显示在列表顶部,较旧的文件显示在后面。

此注册表项中另一个有趣的信息是,有不同的键具有文件扩展名,例如 .pdf.jpg.docx 等。这些键为我们提供了有关特定文件扩展名的最后使用文件的信息。因此,如果我们专门查找最后使用的 PDF 文件,我们可以查看以下注册表项:

NTUSER.DAT\Software\Microsoft\Windows\CurrentVersion\Explorer\RecentDocs\.pdf

注册表资源管理器还列出了文件的上次打开时间。查看上面的屏幕截图回答问题 1。

Office 最近文件:

与 Windows 资源管理器维护的“最近文档”类似,Microsoft Office 还维护最近打开的文档列表。此列表也位于 NTUSER 配置单元中。可以在以下位置找到它:

NTUSER.DAT\Software\Microsoft\Office\VERSION

每个 Microsoft Office 版本的版本号都不同。示例注册表项如下所示:

NTUSER.DAT\Software\Microsoft\Office\15.0\Word

此处的 15.0 指的是 Office 2013。可以在 此链接 上找到不同 Office 版本及其版本号的列表。

从 Office 365 开始,Microsoft 现在将位置与用户的 live ID 绑定。在这种情况下,可以在以下位置找到最近的文件。

NTUSER.DAT\Software\Microsoft\Office\VERSION\UserMRU\LiveID_####\FileMRU

在这种情况下,可以在以下位置找到最近使用的文件。此位置还保存了最近使用的文件的完整路径。

ShellBags:

当任何用户打开文件夹时,它会以特定的布局打开。用户可以根据自己的喜好更改此布局。这些布局对于不同的文件夹可能不同。有关 Windows ‘shell’ 的此信息被存储,并且可以识别最近使用的文件和文件夹。由于此设置对于每个用户都是不同的,因此它位于用户配置单元中。我们可以在以下位置找到此信息:

USRCLASS.DAT\Local Settings\Software\Microsoft\Windows\Shell\Bags
USRCLASS.DAT\Local Settings\Software\Microsoft\Windows\Shell\BagMRU
NTUSER.DAT\Software\Microsoft\Windows\Shell\BagMRU
NTUSER.DAT\Software\Microsoft\Windows\Shell\Bags

Registry Explorer 并没有向我们提供太多有关 ShellBags 的信息。但是,Eric Zimmerman 的另一个工具 ShellBag Explorer 以一种易于使用的格式向我们显示了这些信息。我们只需指向我们提取的配置单元文件,它就会解析数据并显示结果。下面显示了一个示例。查看并回答问题 2。

img

Open/Save and LastVisited Dialog MRUs:

当我们打开或保存文件时,会出现一个对话框,询问我们从哪里保存或打开该文件。您可能会注意到,一旦我们在特定位置打开/保存文件,Windows 就会记住该位置。这意味着如果我们掌握了这些信息,我们就可以找出最近使用的文件。我们可以通过检查以下注册表项来做到这一点

NTUSER.DAT\Software\Microsoft\Windows\CurrentVersion\Explorer\ComDlg32\OpenSavePIDlMRU
NTUSER.DAT\Software\Microsoft\Windows\CurrentVersion\Explorer\ComDlg32\LastVisitedPidlMRU

Registry Explorer 显示此注册表项的方式如下。

img

Windows Explorer Address/Search Bars:

识别用户最近活动的另一种方法是查看 Windows 资源管理器地址栏中输入的路径或分别使用以下注册表项执行的搜索。

NTUSER.DAT\Software\Microsoft\Windows\CurrentVersion\Explorer\TypedPaths
NTUSER.DAT\Software\Microsoft\Windows\CurrentVersion\Explorer\WordWheelQuery

以下是 TypedPaths 项在注册表资源管理器中的样子:

img

Evidence of Execution

UserAssist:

Windows 会在 User Assist 注册表项中跟踪用户使用 Windows 资源管理器启动的应用程序,以用于统计目的。这些项包含有关启动的程序、启动时间以及执行次数的信息。但是,在 User Assist 注册表项中找不到使用命令行运行的程序。User Assist 注册表项位于 NTUSER 配置单元中,映射到每个用户的 GUID。我们可以在以下位置找到它:

NTUSER.DAT\Software\Microsoft\Windows\Currentversion\Explorer\UserAssist\{GUID}\Count

查看下面的注册表资源管理器屏幕截图

img

ShimCache:

ShimCache 是一种用于跟踪应用程序与操作系统兼容性的机制,可跟踪机器上启动的所有应用程序。它在 Windows 中的主要目的是确保应用程序的向后兼容性。它也被称为应用程序兼容性缓存 (AppCompatCache)。它位于 SYSTEM 配置单元中的以下位置:

SYSTEM\CurrentControlSet\Control\Session Manager\AppCompatCache

ShimCache 存储可执行文件的文件名、文件大小和上次修改时间。

我们的首选工具 Registry Explorer 不会以人类可读的格式解析 ShimCache 数据,因此我们使用另一个名为 AppCompatCache Parser 的工具,它也是 Eric Zimmerman 工具的一部分。它将 SYSTEM 配置单元作为输入,解析数据并输出如下所示的 CSV 文件:

img

我们可以使用以下命令来运行 AppCompatCache Parser Utility:

AppCompatCacheParser.exe --csv <path to save output> -f <path to SYSTEM hive for data parsing> -c <control set to parse>

可以使用 Eric Zimmerman 的另一个工具 EZviewer 查看输出。

AmCache:

AmCache 配置单元是与 ShimCache 相关的工件。它执行与 ShimCache 类似的功能,并存储与程序执行相关的其他数据。这些数据包括执行路径、安装、执行和删除时间以及已执行程序的 SHA1 哈希值。此配置单元位于文件系统中的以下位置:

C:\Windows\appcompat\Programs\Amcache.hve

有关最后执行的程序的信息可以在配置单元中的以下位置找到:

Amcache.hve\Root\File\{Volume GUID}\

Registry Explorer 解析 AmCache 配置单元的方式如下:

img

BAM/DAM:

后台活动监视器或 BAM 会监控后台应用程序的活动。类似地,桌面活动管理器或 DAM 是 Microsoft Windows 的一部分,可优化设备的功耗。这两者都是 Microsoft Windows 中现代待机系统的一部分。

在 Windows 注册表中,以下位置包含与 BAM 和 DAM 相关的信息。此位置包含有关上次运行的程序、其完整路径和上次执行时间的信息。

SYSTEM\CurrentControlSet\Services\bam\UserSettings\{SID}
SYSTEM\CurrentControlSet\Services\dam\UserSettings\{SID}

下面您可以看到注册表资源管理器如何解析来自 BAM 的数据:

img

External Devices/USB device forensics

在对机器进行取证时,通常需要确定机器上是否连接了任何 USB 或可移动驱动器。如果是,那么与这些设备相关的任何信息对于取证调查员来说都很重要。在此任务中,我们将介绍使用注册表查找连接设备和系统驱动器信息的不同方法。

设备标识:

以下位置跟踪插入系统的 USB 密钥。这些位置存储插入的 USB 设备的供应商 ID、产品 ID 和版本,可用于识别唯一设备。这些位置还存储设备插入系统的时间。

SYSTEM\CurrentControlSet\Enum\USBSTOR
SYSTEM\CurrentControlSet\Enum\USB

注册表资源管理器以一种简洁易懂的方式显示了这些信息。

img

First/Last Times:

类似地,以下注册表项跟踪设备首次连接的时间、最后一次连接的时间以及设备最后一次从系统中删除的时间。

SYSTEM\CurrentControlSet\Enum\USBSTOR\Ven_Prod_Version\USBSerial#\Properties\{83da6326-97a6-4088-9453-a19231573b29}\####

在此键中,#### 符号可以用以下数字替换以获取所需的信息:

信息
0064 首次连接时间
0066 上次连接时间
0067 上次删除时间

虽然我们可以手动检查此值,但正如我们上面所见,注册表资源管理器已经解析了这些数据并向我们显示我们是否选择了 USBSTOR 键。

USB 设备卷名:

可以在以下位置找到所连接驱动器的设备名称:

SOFTWARE\Microsoft\Windows Portable Devices\Devices

img我们可以比较此注册表项中看到的 GUID,并将其与设备标识中提到的键上看到的磁盘 ID 进行比较,以将名称与唯一设备关联起来。

结合所有这些信息,我们可以清晰地了解连接到我们正在调查的机器的所有 USB 设备。