关于 analyzing-windows-shellbag-artifacts
面向安全调查人员的取证分析技能,用于检查 Windows Shellbag 注册表痕迹。内容涵盖注册表位置、结构解析和 EZ Tools 用法,可重建已消失文件夹的浏览路径。
主要功能
- 01说明 Shellbag 注册表位置
- 02解析 BagMRU 层级结构
- 03使用 EZ Tools 分析
- 04调查 USB 与网络路径
- 05说明分析局限
适用场景
- 01调查已删除文件夹的浏览痕迹
- 02核查可移动设备访问记录
- 03分析网络共享访问证据
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ mukul975/ anthropic-cybersecurity-skills --skill analyzing-windows-shellbag-artifacts安装后在 Claude Code 中输入/analyzing-windows-shellbag-artifacts确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
LICENSEassets/template.mdreferences/api-reference.mdstandards.mdworkflows.mdscripts/agent.pyprocess.py详细介绍
分析 Windows Shellbag 痕迹
概述
Shellbag 是 Windows 注册表中的痕迹,用于记录用户通过 Windows 资源管理器与文件夹的交互方式,存储图标大小、窗口位置、排序顺序和视图模式等视图设置。从取证角度来看,Shellbag 提供了文件夹访问的确凿证据——即使是系统中已不存在的文件夹。当用户通过 Windows 资源管理器、打开/保存对话框或控制面板浏览到某个文件夹时,会在用户的注册表配置单元中创建或更新一条 Shellbag 条目。这些条目在文件夹删除、驱动器断开连接后依然存在,甚至能跨越用户配置文件重置,因此对于证明用户曾导航到本地驱动器、USB 设备、网络共享或 zip 压缩包中的特定目录具有极高的价值。
使用场景
- 调查需要分析 Windows Shellbag 痕迹的安全事件时
- 为该领域构建检测规则或威胁狩猎查询时
- SOC 分析师需要针对此类分析的结构化流程时
- 验证相关攻击技术的安全监控覆盖范围时
前提条件
- 熟悉数字取证概念和工具
- 拥有用于安全执行的测试或实验环境
- Python 3.8+ 并安装所需依赖
- 任何测试活动均需获得适当授权
注册表位置
Windows 7/8/10/11
| 配置单元 | 键路径 | 存储内容 |
|---|---|---|
| NTUSER.DAT | Software\Microsoft\Windows\Shell\BagMRU | 文件夹层次树 |
| NTUSER.DAT | Software\Microsoft\Windows\Shell\Bags | 每个文件夹的视图设置 |
| UsrClass.dat | Local Settings\Software\Microsoft\Windows\Shell\BagMRU | 桌面/资源管理器外壳 |
| UsrClass.dat | Local Settings\Software\Microsoft\Windows\Shell\Bags | 额外的视图设置 |
BagMRU 结构
BagMRU 键包含一个由编号子键组成的层次树,表示目录结构。每个子键值包含一个 Shell Item(SHITEMID)二进制数据块,编码了文件夹的身份信息:
- 根(BagMRU):桌面命名空间根
- BagMRU\0:通常为“我的电脑”
- BagMRU\0\0:第一个驱动器(例如 C:)
- BagMRU\0\0\0:C: 上的第一个子文件夹
每个 Shell Item 包含:
- 项目类型(文件夹、驱动器、网络、zip、控制面板)
- 短名称(8.3 格式)
- 长名称(Unicode)
- 创建/修改时间戳
- NTFS 文件夹的 MFT 条目/序列号
使用 EZ Tools 进行分析
SBECmd(命令行)
# Parse shellbags from a directory of registry hives
SBECmd.exe -d "C:\Evidence\Registry" --csv C:\Output --csvf shellbags.csv
# Parse from a live system (requires admin)
SBECmd.exe --live --csv C:\Output --csvf live_shellbags.csv
# Key output columns:
# AbsolutePath - Full reconstructed path
# CreatedOn - When the folder was first browsed
# ModifiedOn - When view settings were last changed
# AccessedOn - Last access timestamp
# ShellType - Type of shell item (Directory, Drive, Network, etc.)
# Value - Raw shell item data
ShellBags Explorer(GUI)
# Launch GUI tool for interactive analysis
ShellBagsExplorer.exe
# Load registry hives: File > Load Hive
# Navigate the tree structure to see folder hierarchy
# Right-click entries for detailed shell item properties
取证调查场景
证明 USB 设备浏览
Shellbag Path: My Computer\E:\Confidential\Project_Files
ShellType: Directory (on removable volume)
CreatedOn: 2025-03-15 09:30:00 UTC
This proves the user navigated to E:\Confidential\Project_Files
via Windows Explorer, even if the USB drive is no longer connected.
The volume letter E: and directory timestamps can be correlated
with USBSTOR and MountPoints2 registry entries.
检测网络共享访问
Shellbag Path: \\FileServer01\Finance\Q4_Reports
ShellType: Network Location
AccessedOn: 2025-02-20 14:15:00 UTC
This proves the user browsed to a network share, even if
the share has been decommissioned or access revoked.
识别已删除文件夹的知晓情况
Shellbag Path: C:\Users\suspect\Documents\Exfiltration_Staging
ShellType: Directory
CreatedOn: 2025-01-10 08:00:00 UTC
Even though C:\Users\suspect\Documents\Exfiltration_Staging
no longer exists, the Shellbag entry proves the user
created and navigated to this folder.
局限性
- Shellbag 仅记录文件夹级别的交互,不记录单个文件的访问
- 仅通过 Windows 资源管理器外壳和打开/保存对话框创建
- 命令行访问(cmd、PowerShell)不会生成 Shellbag 条目
- 通过 API 进行的程序化文件访问不会生成 Shellbag 条目
- 时间戳可能反映的是视图设置变更,而不一定是文件夹访问
- Windows 可能在资源管理器关闭时批量更新 Shellbag 条目
参考资料
- Shellbags Forensic Analysis 2025: https://www.cybertriage.com/blog/shellbags-forensic-analysis-2025/
- SANS Shellbag Forensics: https://www.sans.org/blog/computer-forensic-artifacts-windows-7-shellbags
- Magnet Forensics Shellbag Analysis: https://www.magnetforensics.com/blog/forensic-analysis-of-windows-shellbags/
- ShellBags Explorer: https://ericzimmerman.github.io/
示例输出
$ SBECmd.exe -d "C:\Evidence\Users\jsmith" --csv /analysis/shellbag_output
SBECmd v2.1.0 - ShellBags Explorer (Command Line)
====================================================
Processing hives for user: jsmith
NTUSER.DAT: C:\Evidence\Users\jsmith\NTUSER.DAT
UsrClass.dat: C:\Evidence\Users\jsmith\AppData\Local\Microsoft\Windows\UsrClass.dat
[+] NTUSER.DAT shellbag entries: 456
[+] UsrClass.dat shellbag entries: 1,234
[+] Total shellbag entries: 1,690
--- Folder Access Timeline (Incident Window) ---
Last Accessed (UTC) | Folder Path | Type | Access Count
------------------------|---------------------------------------------------------|-------------|-------------
2024-01-15 14:34:05 | C:\Users\jsmith\Downloads | File System | 45
2024-01-15 14:36:25 | C:\ProgramData\Updates | File System | 3
2024-01-15 15:05:00 | \\FILESERV01\Finance | Network | 2
2024-01-15 15:12:30 | \\FILESERV01\Finance\Q4_Reports | Network | 1
2024-01-15 15:30:00 | E:\ | Removable | 4
2024-01-15 15:30:45 | E:\Backup | Removable | 3
2024-01-15 15:31:20 | E:\Backup\Corporate_Data | Removable | 2
2024-01-15 16:12:45 | \\FILESERV01\HR\Employees | Network | 1
2024-01-15 16:15:00 | \\FILESERV01\HR\Employees\Records_2024 | Network | 1
2024-01-16 02:35:00 | C:\Windows\Temp | File System | 5
2024-01-17 02:44:00 | C:\ProgramData\svc | File System | 2
2024-01-18 01:10:00 | C:\Users\jsmith\AppData\Local\Temp | File System | 8
--- Network Share Access ---
\\FILESERV01\Finance First: 2023-09-10 Last: 2024-01-15
\\FILESERV01\Finance\Q4_Reports First: 2024-01-15 Last: 2024-01-15 (NEW)
\\FILESERV01\HR\Employees First: 2024-01-15 Last: 2024-01-15 (NEW)
\\DC01\SYSVOL First: 2023-03-15 Last: 2024-01-16 (anomalous access time)
--- Removable Device Access ---
E:\ (USB Drive)
Volume Name: BACKUP_DRIVE
First Accessed: 2024-01-15 15:30:00 UTC
Last Accessed: 2024-01-15 15:45:22 UTC
Folders Browsed: 3 (E:\, E:\Backup, E:\Backup\Corporate_Data)
--- Deleted/No Longer Existing Paths ---
C:\ProgramData\Updates\ (folder deleted, shellbag persists)
C:\ProgramData\svc\ (folder deleted, shellbag persists)
C:\Windows\Temp\tools\ (folder deleted, shellbag persists)
Summary:
Total unique folders accessed: 1,690
Network shares accessed: 4 (2 newly accessed during incident)
Removable media: 1 USB device (data staging suspected)
Deleted folder evidence: 3 paths (anti-forensics indicator)
CSV exported to: /analysis/shellbag_output/
评论
支持 Markdown