Was macht Analysieren von Windows-Shellbag-Artefakten?
Überblick
Shellbags sind Windows-Registry-Artefakte, die nachverfolgen, wie Benutzer über Windows Explorer mit Ordnern interagieren. Sie speichern Ansichtseinstellungen wie Symbolgröße, Fensterposition, Sortierreihenfolge und Ansichtsmodus. Aus forensischer Sicht liefern Shellbags eindeutige Beweise für Ordnerzugriffe – selbst für Ordner, die nicht mehr auf dem System vorhanden sind. Wenn ein Benutzer über Windows Explorer, den Öffnen/Speichern-Dialog oder die Systemsteuerung zu einem Ordner navigiert, wird in der Benutzer-Registry-Hive ein Shellbag-Eintrag erstellt oder aktualisiert. Diese Einträge bleiben auch nach dem Löschen von Ordnern, dem Trennen von Laufwerken und sogar nach dem Zurücksetzen von Benutzerprofilen bestehen, was sie für den Nachweis unerlässlich macht, dass ein Benutzer zu bestimmten Verzeichnissen auf lokalen Laufwerken, USB-Geräten, Netzwerkfreigaben oder ZIP-Archiven navigiert ist.
Verwendungszweck
- Bei der Untersuchung von Sicherheitsvorfällen, die die Analyse von Windows-Shellbag-Artefakten erfordern
- Bei der Erstellung von Erkennungsregeln oder Bedrohungsjagd-Abfragen für diesen Bereich
- Wenn SOC-Analysten strukturierte Verfahren für diesen Analysetyp benötigen
- Bei der Validierung der Abdeckung der Sicherheitsüberwachung für verwandte Angriffstechniken
Voraussetzungen
- Vertrautheit mit Konzepten und Tools der digitalen Forensik
- Zugriff auf eine Test- oder Laborumgebung für die sichere Ausführung
- Python 3.8+ mit installierten erforderlichen Abhängigkeiten
- Entsprechende Autorisierung für alle Testaktivitäten
Registry-Speicherorte
Windows 7/8/10/11
| Hive | Schlüsselpfad | Speichert |
|---|---|---|
| NTUSER.DAT | Software\Microsoft\Windows\Shell\BagMRU | Ordnerhierarchiebaum |
| NTUSER.DAT | Software\Microsoft\Windows\Shell\Bags | Ansichtseinstellungen pro Ordner |
| UsrClass.dat | Local Settings\Software\Microsoft\Windows\Shell\BagMRU | Desktop/Explorer-Shell |
| UsrClass.dat | Local Settings\Software\Microsoft\Windows\Shell\Bags | Zusätzliche Ansichtseinstellungen |
BagMRU-Struktur
Der BagMRU-Schlüssel enthält eine hierarchische Struktur nummerierter Unterschlüssel, die die Verzeichnisstruktur darstellt. Jeder Wert eines Unterschlüssels enthält ein binäres Shell-Element (SHITEMID)-Blob, das die Ordneridentität codiert:
- Root (BagMRU): Desktop-Namespace-Root
- BagMRU\0: Typischerweise „Arbeitsplatz"
- BagMRU\0\0: Erstes Laufwerk (z.B. C:)
- BagMRU\0\0\0: Erster Unterordner auf C:
Jedes Shell-Element enthält:
- Elementtyp (Ordner, Laufwerk, Netzwerk, ZIP, Systemsteuerung)
- Kurzname (8.3-Format)
- Langname (Unicode)
- Erstellungs-/Änderungszeitstempel
- MFT-Eintrag/Sequenz für NTFS-Ordner
Analyse mit EZ-Tools
SBECmd (Befehlszeile)
# Shellbags aus einem Verzeichnis von Registry-Hives parsen
SBECmd.exe -d "C:\Evidence\Registry" --csv C:\Output --csvf shellbags.csv
# Von einem Live-System parsen (erfordert Admin-Rechte)
SBECmd.exe --live --csv C:\Output --csvf live_shellbags.csv
# Wichtige Ausgabespalten:
# AbsolutePath - Vollständig rekonstruierter Pfad
# CreatedOn - Wann der Ordner zum ersten Mal durchsucht wurde
# ModifiedOn - Wann die Ansichtseinstellungen zuletzt geändert wurden
# AccessedOn - Letzter Zugriffszeitstempel
# ShellType - Typ des Shell-Elements (Verzeichnis, Laufwerk, Netzwerk usw.)
# Value - Rohdaten des Shell-Elements
ShellBags Explorer (GUI)
# GUI-Tool für interaktive Analyse starten
ShellBagsExplorer.exe
# Registry-Hives laden: Datei > Hive laden
# Navigieren Sie in der Baumstruktur, um die Ordnerhierarchie zu sehen
# Rechtsklick auf Einträge für detaillierte Shell-Element-Eigenschaften
Forensische Untersuchungsszenarien
Nachweis des Durchsuchens von USB-Geräten
Shellbag-Pfad: Arbeitsplatz\E:\Vertraulich\Projektdateien
ShellType: Verzeichnis (auf Wechselvolume)
CreatedOn: 2025-03-15 09:30:00 UTC
Dies beweist, dass der Benutzer zu E:\Vertraulich\Projektdateien
über Windows Explorer navigiert ist, selbst wenn das USB-Laufwerk nicht mehr angeschlossen ist.
Der Laufwerksbuchstabe E: und die Verzeichniszeitstempel können mit
USBSTOR- und MountPoints2-Registry-Einträgen korreliert werden.
Erkennung des Zugriffs auf Netzwerkfreigaben
Shellbag-Pfad: \\FileServer01\Finanzen\Q4_Berichte
ShellType: Netzwerkort
AccessedOn: 2025-02-20 14:15:00 UTC
Dies beweist, dass der Benutzer zu einer Netzwerkfreigabe navigiert ist, selbst wenn
die Freigabe stillgelegt oder der Zugriff entzogen wurde.
Identifizieren von Kenntnissen über gelöschte Ordner
Shellbag-Pfad: C:\Benutzer\Verdacht\Dokumente\Exfiltration_Staging
ShellType: Verzeichnis
CreatedOn: 2025-01-10 08:00:00 UTC
Obwohl C:\Benutzer\Verdacht\Dokumente\Exfiltration_Staging
nicht mehr existiert, beweist der Shellbag-Eintrag, dass der Benutzer
diesen Ordner erstellt und durchsucht hat.
Einschränkungen
- Shellbags zeichnen nur Interaktionen auf Ordnerebene auf, nicht den Zugriff auf einzelne Dateien
- Werden nur über die Windows Explorer-Shell und die Öffnen/Speichern-Dialoge erstellt
- Befehlszeilenzugriff (cmd, PowerShell) generiert keine Shellbag-Einträge
- Programmatischer Dateizugriff über APIs generiert keine Shellbag-Einträge
- Zeitstempel können Änderungen der Ansichtseinstellungen widerspiegeln, nicht unbedingt den Ordnerzugriff
- Windows kann Shellbag-Einträge beim Herunterfahren des Explorers stapelweise aktualisieren
Referenzen
- 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/
Beispielausgabe
$ 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/