Windows 注册表取证实践-Shellbags和系统网络信息

Windows 注册表取证实践-Shellbags和系统网络信息

注册表中的系统、用户和网络信息

用户信息

此信息存储在 SAM 配置单元中。在这里我们可以找到存储的用户帐户、用户组、登录信息、密码策略等信息。

系统上可用的用户。路径为:

C:\Windows\system32\config\SAM: SAM\Domains\Account\Users

我们可以将活跃用户列表看作为“Users”键的值。我们还可以在之前讨论的用户键下的“Names”子键下查看这些名称。它还会为我们提供任何已删除的用户信息。如果攻击者删除了任何用户等,这将非常有用。

系统信息

这些信息大部分存储在 SYSTEM、SOFTWARE 配置单元中。我们可以找到系统配置、操作系统信息、网络信息、时区信息等。

系统配置存储在控制集中。我们在 SYSTEM 配置单元中发现了 2 个控制集。有时,我们可能会发现 2 个不同的控制集。它们编号为“001”和“002”。第一个控制集指的是系统正在使用的配置,第二个控制集指的是最后一个工作配置。它可以在发生故障时充当备份。控制集在调查系统故障事件或硬件故障事件时很有用。我们还可以在另一个名为“CurrentControlSet”的键中找到与“ControlSet001”相同的键值,该键不保留在磁盘上,而是保留在内存中。但是,Registry Explorer无法挂载此当前键,但它可以在 regedit 上使用。

控制集的位置是

C:\Windows\system32\config\SYSTEM: ControlSet001\Control

这里可以找到大量的信息,如启动服务、硬件配置文件、驱动程序信息等。

下一个信息是操作系统版本。这可以帮助我们找到重要信息,例如计算机的架构、版本号等。如果存在漏洞,这可以帮助我们找到特定版本号的漏洞等。

C:\Windows\system32\config\SOFTWARE: Microsoft\Windows NT\CurrentVersion

网络信息 

我们可以利用网络信息来查找重要信息,例如 VPN/代理的使用情况、过去连接的网络、当前 TCP/IP 配置、接口等。让我们从查找系统已连接的网络开始。

C:\Windows\system32\config\SOFTWARE: Microsoft\Windows NT\CurrentVersion\NetworkList

我们可以找到网络 SSID(无论是以太网还是无线)、首次连接到 PC 的时间、上次在 PC 上处于活动状态的时间以及提供该连接的路由器的 MAC 地址。这可能是有力的证据,因为我们有网络名称、时间戳等证据。

我们还可以通过读取以下键值来查看系统上打开的网络共享:

C:\Windows\system32\config\SYSTEM: CurrentControlSet\services\LanmanServer\Shares

开放网络共享的信息可帮助我们发现攻击者的横向移动技术,以及受感染机器可访问哪些共享。

可以从以下位置找到 TCP/IP 配置和接口信息。

C:\Windows\system32\config\SYSTEM: CurrentControlSet\Services\Tcpip\Parameters
C:\Windows\system32\config\SYSTEM: CurrentControlSet\Services\Tcpip\Parameters\Interfaces

Shellbags

Shellbags 是用户与 shell(用于访问操作系统及其文件系统的用户界面)交互时创建的工件,shell 是 Windows 中基于 GUI 的文件资源管理器(不要与 CLI 的 shell 混淆)。Shellbags 包含有关文件夹状态的信息,例如其大小、位置和其中包含的项目。存储此信息是为了使文件夹在用户再次访问该文件夹时能够以与用户上次与其交互时相同的状态显示。例如,可能已将文件夹视图设置为按较小或较大查看其大小,或将其重新排列为文件夹在文件资源管理器中显示的顺序。此信息保存在 shellbags 中,因此此配置保持不变。

Shellbags 存储在注册表中的以下位置:

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

因为这些值是以二进制格式存在的。Windows 通过减小数据大小来保持这种数据格式的二进制效率。但是,我们可以使用许多工具将二进制数据转换为人类可读的 ASCII 格式。我们将使用 Eric Zimmerman 的 ShellbagExplorer 来分析。

下载 ShellbagExplorer

https://ericzimmerman.github.io/#!index.md

加载活动注册表

打开该工具时会要求提供电子邮件(可选)。转到左上角的“文件”,然后单击“加载活动注册表”或“加载脱机注册表”。

它将自动解析来自 NTUSER.DAT 和 UsrClass.dat 配置单元的 shellbag。将提供有关从 shelbags 中找到的实体数量以及所用时间的信息。

这将包含文件资源管理器中访问过的所有文件夹位置。可以展开“我的电脑”文件夹,然后就可以按字母顺序访问计算机上的所有文件夹和驱动器。

Shellbags取证

为了从取证角度查看 shellbags 的实际运行,我们在桌面上创建一个名为“LogFiles”的文件夹,然后将其删除。

然后在 shellbags explorer 上重新加载活动的配置单元。尽管我们已删除该文件夹,但我们仍可以看到该文件夹​​的名称。而且还存储已访问的网络共享、可移动设备(USB 等)的路径,这本身就是有用的信息。我们可以找到用户在网络共享或 USB 上浏览了哪些类型的数据。

注意: shellbags 在注册表中更新可能需要一些时间。

shellbags 还会存储 zip 文件的名称,即使压缩文件下的文件夹没有密码保护。如果用户下载了任何恶意档案,这将非常有用。

Shellbag 可用于各种取证环境,包括调查网络犯罪、员工不当行为和数据泄露。它可以深入了解用户的活动及其访问过的文件夹。例如,如果用户访问了包含敏感文件的文件夹,则该文件夹的 shellbag 可能包含有关这些文档的名称和位置的信息。它们对于跟踪试图通过删除或移动文件来掩盖其踪迹的用户的活动特别有用。在这些情况下,存储在 shellbag 中的信息可能是用户活动的唯一记录,可以提供有价值的证据。

赞赏

微信赞赏支付宝赞赏

Zgao

愿有一日,安全圈的师傅们都能用上Zgao写的工具。

发表评论