家studyをつづって

IT技術やセキュリティで勉強したことをつづっています。

Shellbagとは

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が必要になります。

ericzimmerman.github.io

 

GUI版とCLI版がある

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ファイルが出力されます。
エクスプローラーによるフォルダの操作のログが確認できます。

CSV

 

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

GUI

 

Shellbagの指定

「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で読み込むと情報を確認することができます。

ファイル読み込み完了