Windows磁盘取证-RDP和缩略图缓存

Windows磁盘取证-RDP和缩略图缓存

当用户使用 RDP 连接到另一个系统时,小尺寸(位图)图像会存储在其 RDP 配置文件中,这样一旦要在会话中使用相同的图像,就可以更快地获取/拉取。如果连接速度较慢,则整体 RDP 会话体验会得到增强。对缩略图取证有时可以帮助我们识别用户在其 RDP 会话中看到的内容。

RDP 缓存

在涉及使用 RDP 进行横向移动的取证中, RDP 位图缓存文件是重要的证据之一。每个用户的缓存都不同,并且是用户特定的,其位于:

 %userprofile%\AppData\Local\Microsoft\Terminal Server Client\Cache

我们可以在内部网络发生横向移动的情况下分析该文件,它将帮助我们发现攻击者对横向移动受害者的活动。

RDP缓存提取工具

https://github.com/ANSSI-FR/bmc-tools

https://github.com/BSI-Bund/RdpCacheStitcher

使用bmc-tools将获得许多小图像的输出,可以手动查看这些图像,也可以使用RdpCacheStitcher来查看。我们获取缓存文件并将其放在名为 bitmap 的文件夹中,然后运行 bmc 工具。

bmc提取缓存图像

可以先将RDP Cache文件件从目标主机上拷贝出来。

└─# git clone https://github.com/ANSSI-FR/bmc-tools.git   
└─# cd bmc-tools
└─# python3 bmc-tools.py -h    
usage: bmc-tools.py [-h] -s SRC -d DEST [-c COUNT] [-v] [-o] [-b] [-w WIDTH]

RDP 位图缓存解析器(版本 3.02,2023 年 3 月 2 日)

选项:
-h,--help                显示此帮助消息并退出
-s SRC,--src SRC         指定要处理的 BMCache 文件或目录。
-d DEST,--dest DEST      指定存储提取位图的目录。
-c COUNT,--count COUNT   仅提取给定数量的位图。
-v,--verbose             确定显示的信息量。
-o,--old                 提取在 BMCache 文件中找到的旧位图数据。
-b,--bitmap              提供一个聚合所有图块的大位图。
-w WIDTH,--width WIDTH   指定聚合位图每行的图块数量(默认=64)。 

执行bmc提取RDP缓存图像。

python3 bmc-tools.py -s ./Cache -d ./output -b

注意在使用 bmc 工具时,我们添加了一个 -b选项,用于创建拼贴画。如果我们在存储所有位图的文件夹中搜索关键字拼贴画,我们将得到一个文件。

我们可以浏览所有这些图像,因为它们就像 RDP 会话的屏幕截图,只是尺寸较小。

我们还会发现更多全屏的小图片。例如,如果攻击者在命令提示符下运行命令,或者使用浏览器或执行任何操作。我们可以用这个来发现攻击者的活动。唯一的缺点是非常耗时,特别是在实际情况下会有很多图像。

一个有用的技巧是打开放置所有文件的文件夹并最大化窗口。这样将显示所有图像预览,我们就可以辨别每张图片是什么。

RdpCacheStitcher重新拼图

现在使用 RdpCacheStitcher 工具,它比手动图像分析更有用。它将帮助我们从所有小位图图像中重建更有意义的屏幕截图。打开工具,进入文件和新案例。

ctrl + N 新建case,然后浏览到存储所有位图图像的目录。双击该目录,然后单击选择文件夹。

所有位图图像都将被加载。

虽然图像仍然很混乱,但比以前更容易理解每​​张图像。

缩略图缓存

ThumbCache 是 Windows 操作系统自 Windows Vista 开始提供的一项功能,用于缓存 Windows 资源管理器视图的文件缩略图。当您以缩略图视图打开 Windows 资源管理器时,文件夹中的文件将显示为代表文件内容的小图像。这些图像存储在集中缩略图缓存文件中。此功能的目的是避免繁重的磁盘 I/O、CPU 处理和加载时间。Microsoft Windows 存储许多文件类型的缩略图,其中包括:JPEG、BMP、GIF、PNG、TIFF、AVI、PDF、PPTX、DOCX、HTML、MP4 等。

ThumbCache Artifacts 存储在以下位置:

 %userprofile%\AppData\Local\Microsoft\Windows\Explorer

这些文件被命名为 Thumcache_xxx.db 和 iconcache_xxxx.db,其中 xxx 是位/像素/分辨率值。

我们将获得文件的缩略图、屏幕截图或图像、文件的大小、源缓存文件的位置。

下载ThumbCache Viewer

我们使用 ThumbCache Viewer来分析这些数据库文件。

https://thumbcacheviewer.github.io/

ThumbCache Viewer 解析缓存图像

选中所有的DB文件加载解析。

加载完成后双击就能查看到缓存的缩略图文件了。在文件资源管理器中,我们设置了“超大图标”视图选项,因此数据库中保存的缩略图分辨率更高。如果我们将文件资源管理器视图选项保留为其他选项(例如中或小),则缩略图缓存数据库中的图像会更小且不太清晰。

据了解,执法机构曾使用缩略图缓存文件来证明文件即使被删除也存储在 Windows 系统硬盘上。当用户删除文件时,其缩略图仍保留在缓存文件中。对 ThumbCache 文件的分析会产生诸如原始文件的元数据、其缓存 ID、标头校验和、数据偏移量、数据类型和数据大小等信息。元数据可以为取证人员提供关键信息,例如文件的创建时间、在文件系统中的位置、上次访问时间、上次修改时间等等。

赞赏

微信赞赏支付宝赞赏

Zgao

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

发表评论