L’interface est localisée ; les présentations et documents des Skills sont traduits automatiquement par IA dans votre langue. Le code, les commandes, chemins et termes techniques restent en version originale, et le document de l’auteur fait foi.
Explorer les Skills
Productivité · SKILL.md

analyzing-windows-shellbag-artifacts

analyzing-windows-shellbag-artifacts

分析 Windows ShellBag 注册表取证痕迹,使用 SBECmd 和 ShellBags Explorer 重建文件夹浏览活动,检测对可移动介质和网络共享的访问,并在删除后仍能确认用户与目录的交互行为。

Independent GitHub snapshot · Automated classification · Original documentation governs

Documentation de la Skill

GitHub

name: analyzing-windows-shellbag-artifacts description: 分析 Windows ShellBag 注册表取证痕迹,使用 SBECmd 和 ShellBags Explorer 重建文件夹浏览活动,检测对可移动介质和网络共享的访问,并在删除后仍能确认用户与目录的交互行为。 domain: cybersecurity subdomain: digital-forensics tags: [shellbags, windows-registry, sbecmd, shellbags-explorer, folder-access, user-activity, removable-media, network-shares, bagmru, dfir] version: "1.0" author: mahipal license: Apache-2.0

分析 Windows ShellBag 取证痕迹

概述

ShellBag 是 Windows 注册表取证痕迹,用于追踪用户通过 Windows 资源管理器与文件夹的交互方式,存储视图设置,如图标大小、窗口位置、排序顺序和视图模式。从取证角度看,ShellBag 能提供文件夹访问的确切证据——即便文件夹已不存在于系统中。当用户通过 Windows 资源管理器、打开/保存对话框或控制面板浏览到某文件夹时,用户注册表配置单元中会创建或更新一条 ShellBag 条目。这些条目在文件夹删除、驱动器断开连接甚至跨用户配置文件重置后仍会保留,使其在证明用户导航到本地驱动器、USB 设备、网络共享或 zip 压缩包中的特定目录时极具价值。

注册表位置

Windows 7/8/10/11

配置单元键路径存储内容
NTUSER.DATSoftware\Microsoft\Windows\Shell\BagMRU文件夹层级树
NTUSER.DATSoftware\Microsoft\Windows\Shell\Bags每个文件夹的视图设置
UsrClass.datLocal Settings\Software\Microsoft\Windows\Shell\BagMRU桌面/资源管理器 Shell
UsrClass.datLocal Settings\Software\Microsoft\Windows\Shell\Bags附加视图设置

BagMRU 结构

BagMRU 键包含一个以数字编号的子键层级树,表示目录结构。每个子键值包含一个 Shell Item(SHITEMID)二进制 blob,对文件夹标识进行编码:

  • 根(BagMRU):桌面命名空间根
  • BagMRU\0:通常为"我的电脑"
  • BagMRU\0\0:第一个驱动器(如 C:)
  • BagMRU\0\0\0:C: 上的第一个子文件夹

每个 Shell Item 包含:

  • 项目类型(文件夹、驱动器、网络、zip、控制面板)
  • 短名称(8.3 格式)
  • 长名称(Unicode)
  • 创建/修改时间戳
  • NTFS 文件夹的 MFT 条目/序列号

使用 EZ Tools 分析

SBECmd(命令行)

# 从注册表配置单元目录解析 ShellBag
SBECmd.exe -d "C:\Evidence\Registry" --csv C:\Output --csvf shellbags.csv

# 从实时系统解析(需要管理员权限)
SBECmd.exe --live --csv C:\Output --csvf live_shellbags.csv

# 关键输出列:
# AbsolutePath - 完整重建路径
# CreatedOn - 文件夹首次被浏览的时间
# ModifiedOn - 视图设置最后更改时间
# AccessedOn - 最后访问时间戳
# ShellType - Shell 项目类型(Directory、Drive、Network 等)
# Value - 原始 Shell 项目数据

ShellBags Explorer(GUI)

# 启动 GUI 工具进行交互式分析
ShellBagsExplorer.exe

# 加载注册表配置单元:File > Load Hive
# 在树形结构中导航查看文件夹层级
# 右键点击条目查看详细 Shell 项目属性

取证调查场景

证明 USB 设备浏览行为

Shellbag Path: My Computer\E:\Confidential\Project_Files
ShellType: Directory (on removable volume)
CreatedOn: 2025-03-15 09:30:00 UTC

这证明用户通过 Windows 资源管理器导航到了 E:\Confidential\Project_Files,
即使 USB 驱动器已不再连接。
卷盘符 E: 和目录时间戳可与 USBSTOR 和 MountPoints2 注册表条目关联。

检测网络共享访问

Shellbag Path: \\FileServer01\Finance\Q4_Reports
ShellType: Network Location
AccessedOn: 2025-02-20 14:15:00 UTC

这证明用户浏览了网络共享,即使该共享已停用或访问权限已撤销。

识别已删除文件夹的访问记录

Shellbag Path: C:\Users\suspect\Documents\Exfiltration_Staging
ShellType: Directory
CreatedOn: 2025-01-10 08:00:00 UTC

即使 C:\Users\suspect\Documents\Exfiltration_Staging 已不存在,
ShellBag 条目仍证明用户创建并导航到了该文件夹。

局限性

  • ShellBag 只记录文件夹级别的交互,不记录单个文件的访问
  • 只通过 Windows 资源管理器 Shell 和打开/保存对话框创建
  • 命令行访问(cmd、PowerShell)不生成 ShellBag 条目
  • 通过 API 进行的编程化文件访问不生成 ShellBag 条目
  • 时间戳可能反映视图设置更改,不一定是文件夹访问
  • Windows 可能在资源管理器关闭期间批量更新 ShellBag 条目

参考资料

Skills enregistrées