Windows磁盘取证-SRUM 数据库

Windows磁盘取证-SRUM 数据库

SRUM 被认为是取证信息的金矿,因为它包含特定 Windows 系统上发生的所有活动。SRUM 跟踪和记录程序执行、功耗、网络活动以及更多信息,即使源已被删除也可以检索这些信息。此类信息使取证人员能够深入了解系统上以前发生的活动和事件。

SRUM 数据库

Windows 系统资源使用情况监视器 (SRUM) 首次在 Windows 8 中推出。SRUM 跟踪 30 到 60 天的系统资源使用情况,特别是应用程序的资源使用情况、能源使用情况、Windows 推送通知和网络连接以及数据使用情况。

SRUM 以可扩展存储引擎 (ESE) 数据库格式存储。此数据库文件包含多个表,记录特定系统上发生的所有活动。SRUM 数据库中有多个类别的数据。

  • SRUM 应用程序资源使用情况
  • SRUM网络使用情况
  • SRUM网络连接
  • SRUM 能源使用情况
  • SRUM推送通知数据
  • SRUM 能源使用情况(长期)

我们只讨论 1 和 2,因为它们提供的价值最大。

下载 srumEcmd 和 timeline explorer

我们使用 Eric Zimmerman 开发的 srumEcmd 的工具来解析数据库输出为CSV格式,然后用timeline explorer打开csv文件。

https://github.com/EricZimmerman/Srum

https://ericzimmerman.github.io

解析srum.dat文件

SRUM 存储在名为 SRUDB.dat 的文件中,位于:

C:\Windows\System32\SRU\SRUDB.dat

我们首先获取 srum db 文件,复制到SrumECmd的目录下。

C:\Users\Administrator\Downloads\SrumECmd>SrumECmd.exe -h
Description:
  SrumECmd version 0.5.1.0

  Author: Eric Zimmerman (saericzimmerman@gmail.com)
  https://github.com/EricZimmerman/Srum

  Examples: SrumECmd.exe -f "C:\Temp\SRUDB.dat" -r "C:\Temp\SOFTWARE" --csv "C:\Temp\"
            SrumECmd.exe -f "C:\Temp\SRUDB.dat" --csv "c:\temp"
            SrumECmd.exe -d "C:\Temp" --csv "c:\temp"

            Short options (single letter) are prefixed with a single dash. Long commands are prefixed with two dashes
Usage:
  SrumECmd [options]

选项:
  -f <f>                  要解析的 SRUDB.dat 文件
  -r <r>                  要处理的 SOFTWARE 配置单元。这是可选的,但建议使用
  -d <d>                  要递归处理的目录,查找 SRUDB.dat 和 SOFTWARE 配置单元。此模式主要与 KAPE 一起使用,因此可以找到 SRUDB.dat 和 SOFTWARE 配置单元
  --csv <csv>(必需)  保存 CSV 格式结果的目录。请务必用双引号包含完整路径
  --dt <dt>               显示时间戳时使用的自定义日期/时间格式。有关选项,请参阅 https://goo.gl/CNVq0k  [默认值:yyyy-MM-dd HH:mm:ss]
  --debug                 在处理过程中显示调试信息 [默认值:False]
  --trace                 在处理过程中显示跟踪信息 [默认值:False]
  --version               显示版本信息
  -?, -h, --help          显示帮助和使用信息 

其中必要的参数是-f和–csv是必需的。SOFTWARE是注册表文件需要在安全模式或者从pe启动下拷贝出来,否则会被system占用。

SrumECmd.exe -f SRUDB.dat --csv "./"

执行完成后在当前目录下生成csv文件。

SRUM应用程序资源使用

这个对我们来说是最重要的,因为它可以作为应用程序执行的证据。我们可以确定是否有任何程序或恶意软件运行以及在什么时间运行。这可以与其他取证(如prefetch)链接以证明应用程序的执行。

SRUM应用程序资源使用是最有用的类别之一,通常也是最复杂的。这是因为它跟踪系统上执行的每个exe,无论它是否仍然存在于磁盘上。只要它被执行,都会被记录下来。SRUM应用程序资源使用存储应用程序执行的完整路径。

现在使用timeline explorer打开这些csv文件。

我们可以在这个类别中找到许多条目,但对我们来说重要的是exe信息,它是已执行可执行文件的完整路径,执行时间戳,以及执行它的用户名。这在恶意软件在系统上执行的情况下非常有用。我们可以找到从奇怪路径执行的exe,或者名称奇怪的文件,它们运行的时间。我们还可以获得详细的资源使用信息,如读取、写入或使用的cpu周期、读写操作等。

这些在恶意程序在执行过程中导致更多cpu使用或信息窃取的情况下可能很有用,这些信息可以根据读取和写入的字节检测到。

比如我们筛选出v2ray进程的资源占用数据。

SRUM网络使用

这是仅次于应用程序使用情况的第二有用的类别。SRUM网络使用情况跟踪有线和无线连接以及资产连接到的网络SSID(无线时)。它还以应用程序发送和接收的字节为单位捕获带宽使用情况。与其他SRUM类别一样,这些结果包括应用程序的完整路径和执行它的SID。

如果怀疑数据泄露事件,可以利用该文件来查看哪些应用程序传输了最多的数据,无论是发送还是接收。

我们可以看到应用程序ID(可以跨SRUM数据类别在多个csv中使用它来跟踪某个应用程序)、时间戳、exe完整路径、执行应用程序的用户名,最重要的是通过网络接收和发送的字节总数。

这里不要与上一个类别中写入和读取的字节混淆。这里这些是发送和接收的实际网络字节。这些在数据泄露的情况下非常有用,因为我们可以很容易地发现应用程序在不应该传输大量字节的情况下传输大量字节。

例如,如果我们发现一个exe名称Notepad. exe传输大量字节,这肯定是可疑的,这可能是一个进程注入的情况,其中恶意shellcode被注入到合法的记事本进程中。

赞赏

微信赞赏支付宝赞赏

Zgao

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

发表评论