What are ShellBags?
ShellBags are registry keys where Windows Explorer remembers how each folder was displayed — view mode, icon size, window position. To do that it stores, per user, an entry for every folder that was opened, in a tree that mirrors the folder hierarchy.
Because Windows keeps these entries long after the folder is gone, ShellBags prove that a user browsed to a location: a USB drive that was unplugged, a network share, the inside of a ZIP file, or a folder that was later deleted.
Where ShellBags are stored
- Windows 7 and later: UsrClass.dat (C:\Users\<user>\AppData\Local\Microsoft\Windows\UsrClass.dat) under Local Settings\Software\Microsoft\Windows\Shell\BagMRU and Bags.
- Also NTUSER.DAT (C:\Users\<user>\NTUSER.DAT) under Software\Microsoft\Windows\Shell\BagMRU — mostly desktop and network items.
- Windows XP: NTUSER.DAT, Software\Microsoft\Windows\ShellNoRoam\BagMRU.
- Each BagMRU key holds numbered values — one shell item per child folder — plus MRUListEx (most-recently-used order) and NodeSlot (link to the Bags view settings).
Why it matters in an investigation
- Shows folders a specific user opened, even on removable media or remote shares that are no longer attached.
- Shell items carry the folder's MFT entry and sequence number and its created, modified and accessed times as they were when browsed.
- Browsing inside ZIP files and to network shares often reveals staging and exfiltration.
Limitations
- Key timestamps only tell you when a key last changed; "last interacted" can only be derived for the most recently used child of each folder.
- Shell item times use FAT format: 2-second resolution.
- A ShellBag proves the folder was browsed in Explorer, not that files in it were opened.
- Entries deleted from the registry (unallocated cells) are not recovered yet.
How to get the hives
- Both hives are locked while the user is logged on: collect them with KAPE (RegistryHivesUser target), Velociraptor, FTK Imager, or from a disk image.
- Keep the .LOG1 and .LOG2 files next to each hive: a dirty hive may be missing recent writes.
- Name each pair by user (or keep the Users\<name>\ folder structure) so the tool can tell accounts apart.
FAQ
Is my hive uploaded anywhere?
No. The parser is Rust compiled to WebAssembly and runs in a Web Worker in your browser. There is no upload endpoint; you can use the site offline once loaded.
UsrClass.dat or NTUSER.DAT?
Both. Since Windows 7 most ShellBags are in UsrClass.dat; NTUSER.DAT holds a smaller BagMRU (desktop, some network items). Drop them together to see everything for one user.
What does "last interacted" mean?
When a folder's list of children changes order, Windows rewrites its key. The child at the top of MRUListEx was therefore the one used when the parent key was last written — that time is shown as its last interaction.
Can ShellBags show deleted folders?
Yes. Entries stay after the folder is deleted, so a folder that no longer exists on disk can still appear here, with its MFT entry and timestamps.
Is this the same as SBECmd / ShellBags Explorer?
It covers the same core fields (absolute path, shell type, MRU position, NodeSlot, MFT reference, timestamps) and exports CSV, but runs in the browser with no install.