Shellbagとは
Shellbagは、Windows上で「ユーザーがどのフォルダをいつ開いたか」を記録するアーティファクト(アーティファクトとは、フォレンジックを行う際に証拠として収集される、価値のあるデータを意味する言葉)です。
Shellbagは、Windows Explorerがフォルダを開いたときに作成されるレジストリ情報で、フォルダの表示設定(アイコンサイズ、ウィンドウ位置など)を保存します。
レジストリとしてはNTUSER.DAT、USRCLASS.DATに保存されます。
ShellBag は以下の2つで構成されます。
- BagMRU:フォルダ階層(どのフォルダを開いたかで、NTUSER.DATに格納される)
- Bags:フォルダの表示設定(ビュー、ウィンドウ位置などでUSRCLASS.DATに格納される)
ShellBagは基本的に消えることはないようですが、以下の場合に削除されるようです。
- レジストリを手動で削除した場合
- 専用ツールで削除した場合
- ユーザープロファイルを削除した場合
Shellbagからは以下のような情報を読み取ることができます。
- ユーザーが過去に開いたフォルダの一覧
- 最終アクセス日時・作成日時・更新日時
- フォルダの属性(読み取り専用など)
- 削除済みフォルダの痕跡
- ネットワーク共有フォルダを開いた履歴も残る
https://www.giac.org/paper/gcfa/9576/windows-shellbag-forensics-in-depth/128522
Shellbagの見方
Shellbagは以下のShellbags Explorerで内容を確認することができます。
※実行するには.Netが必要になります。

GUIとCLIの2つのバージョンがあります。
CLIは管理者権限のコマンドプロンプトで実行できます。
C:\Users\test\Downloads\SBECmd>SBECmd.exe -l --csv ./ SBECmd version 2.1.0.0 Author: Eric Zimmerman (saericzimmerman@gmail.com) https://github.com/EricZimmerman Command line: -l --csv ./ Processing live registry. Disabling dedupe All messages will be saved to C:\Users\test\Downloads\SBECmd\!SBECmd_Messages.txt Processing live registry 'C:\Users\test\AppData\Local\Microsoft\Windows\usrClass.dat' is in use. Rerouting... Two transaction logs found. Determining primary log... Primary log: C:\Users\test\AppData\Local\Microsoft\Windows\UsrClass.dat.LOG2, secondary log: C:\Users\test\AppData\Local\Microsoft\Windows\UsrClass.dat.LOG1 Replaying log file: C:\Users\test\AppData\Local\Microsoft\Windows\UsrClass.dat.LOG2 Replaying log file: C:\Users\test\AppData\Local\Microsoft\Windows\UsrClass.dat.LOG1 At least one transaction log was applied. Sequence numbers have been updated to 0x0279. New Checksum: 0xA909E9DE Parse time: 3.67 seconds Total ShellBags found: 58 Totals by bag type Users property view: Drive letter: 1 Directory: 38 Drive letter: 2 MTP folder: 1 MTP storage: 1 MTP device: 1 Root folder: GUID: 8 Users Files Folder: 1 Variable: 1 Network location: 1 Variable: Users property view: 1 GUID: Control panel: 1 Control Panel Category: 1 Finished processing live registry Exported to: C:\Users\test\Downloads\SBECmd\20260422_221320_DESKTOP-G3K11LE_LIVE_REGISTRY.csv Processing complete! Processed live registry in 3.67 seconds! Total ShellBags found: 58 C:\Users\test\Downloads\SBECmd>
コマンド実行後、CSVファイルが出力されます。
エクスプローラーによるフォルダの操作のログが確認できます。

GUI版は以下のような画面です。


「File」よりレジストリの指定ができます。
「Load active registry」は現在ログオンしているユーザーのレジストリを参照します。
「Load offline hive」では、出力したレジストリを読み込むことができます。
「Load offline hive」について、ライブ環境からのレジストリハイブのエクスポートは以下のように行います。
C:\Windows\System32>reg query HKU HKEY_USERS\.DEFAULT HKEY_USERS\S-1-5-19 HKEY_USERS\S-1-5-20 HKEY_USERS\S-1-5-21-633068330-4022851247-2438111986-1001 HKEY_USERS\S-1-5-21-633068330-4022851247-2438111986-1001_Classes HKEY_USERS\S-1-5-18 C:\Windows\System32>reg save "HKEY_USERS\S-1-5-21-633068330-4022851247-2438111986-1001" c:\temp\NTUSER.DAT この操作を正しく終了しました。 C:\Windows\System32>reg save "HKEY_USERS\S-1-5-21-633068330-4022851247-2438111986-1001_Classes" c:\temp\UsrClass.DAT この操作を正しく終了しました。 C:\Windows\System32>
上記の2つのファイルをSBEで読み込むと情報を確認することができます。
