用途:分析 Windows Shellbag(BagMRU)注册表痕迹,重建用户通过资源管理器、打开/保存对话框或控制面板浏览文件夹的历史,用于取证与事件调查。
主要能力:Shellbag 记录图标大小、窗口位置、排序、视图模式等设置,可证明用户曾访问特定目录,即使文件夹已删除、驱动器已断开或用户配置文件被重置。可识别本地磁盘、USB 设备、网络共享、zip 压缩包及控制面板路径。
注册表位置:NTUSER.DAT 的 Software\Microsoft\Windows\Shell\BagMRU 与 Bags;UsrClass.dat 的 Local Settings\Software\Microsoft\Windows\Shell\BagMRU 与 Bags。BagMRU 为编号子键构成的目录树,每个值含 Shell Item 二进制数据,包括项目类型、8.3 短名、Unicode 长名、时间戳及 NTFS 的 MFT 条目/序列。
使用方式:命令行用 SBECmd.exe -d "C:\Evidence\Registry" --csv C:\Output --csvf shellbags.csv 解析注册表 hive 目录;SBECmd.exe --live --csv C:\Output --csvf live_shellbags.csv 解析活动系统(需管理员)。输出列含 AbsolutePath、CreatedOn、ModifiedOn、AccessedOn、ShellType、Value。图形界面用 ShellBagsExplorer.exe,通过 File > Load Hive 加载 hive 并浏览树结构。
适用场景:证明 USB 设备浏览、检测网络共享访问、识别已删除文件夹的访问痕迹,并与 USBSTOR、MountPoints2 等关联。
限制:仅记录文件夹级交互,不记录单个文件访问;仅由资源管理器外壳和打开/保存对话框生成;命令行(cmd、PowerShell)和 API 程序化访问不生成条目;时间戳可能反映视图设置变更而非访问;Windows 可能在资源管理器关闭时批量更新条目。
前置条件:熟悉数字取证概念与工具,具备测试或实验环境,Python 3.8+ 及依赖,测试活动需获得授权。