ShellBags: Grenzen und Anti-Forensik im Überblick
Was ShellBags nicht belegen, was nie welche erzeugt, wie PrivaZer oder CCleaner sie entfernen und welche Spuren Löschung und Manipulation hinterlassen.
TL;DR. ShellBags belegen Navigation in der Windows-Shell durch ein Konto, mehr nicht. Sie sind blind für Dateizugriffe über Konsole, Skripte oder APIs, ihre Zeiten müssen interpretiert werden, Windows begrenzt die Zahl gemerkter Ordner, und ein Benutzer (oder Schadsoftware) kann sie mit einem Registry-Eingriff oder einem Bereinigungstool löschen. Eine Löschung hinterlässt selten gar nichts: Suchen Sie nach verwaisten Bags-Schlüsseln, MRUListEx-Listen mit Verweisen auf fehlende Werte, gelöschten Schlüsseln in nicht zugeordneten Hive-Zellen, älteren Kopien in Transaktionsprotokollen und Schattenkopien sowie Ausführungsspuren des Bereinigers selbst.
Ich habe ShellBags Fälle entscheiden sehen und ich habe sie in Berichten falsch verwendet gesehen. Der Fehler ist fast immer derselbe: das Artefakt als vollständiges, manipulationssicheres Protokoll von Ordnerzugriffen zu behandeln. Es ist weder das eine noch das andere.
Was ShellBags nicht sagen können
| Grenze | Warum | Was stattdessen |
|---|---|---|
| Dateizugriff | Es werden nur Ordner aufgezeichnet | LNK-Dateien, Jump Lists, RecentDocs |
| Konsolen- / Skriptaktivität | cmd, PowerShell, Skripte und APIs laufen nie über den Shell-Namespace | Ausführungsartefakte (Prefetch, Amcache), PowerShell- und Sicherheits-Ereignisprotokolle, USN-Journal |
| Genaue Besuchszeit für die meisten Einträge | Nur das MRU-erste Kind jedes Ordners lässt sich einem Schlüssel-Schreibzugriff zuordnen | Bestätigen; siehe ShellBags-Zeitstempel erklärt |
| Anzahl der Besuche | Es gibt keinen Zähler | Jump Lists (Zugriffszähler in neueren Versionen) |
| Geräteidentität | Ein Volume-Item enthält nur einen Laufwerksbuchstaben | Gerätehistorie im SYSTEM-Hive, Volume-Seriennummern in LNK-Dateien |
| Wer an der Tastatur saß | Der Hive gehört einem Konto | Anmeldeereignisse, RDP-Artefakte, Kontext |
Was nie einen ShellBag erzeugt
dir, cd, robocopy, xcopy, Get-ChildItem, Compress-Archive, rclone, die meisten Fernwartungswerkzeuge und Schadsoftware, die Dateien über APIs aufzählt. Die Übersicht 2026 von Cyber Triage hält dasselbe für Zugriffe über Befehlszeile und Browser fest. Ein Angreifer, der den Explorer nie öffnet, hinterlässt keinen einzigen ShellBag.
Aufbewahrungsgrenzen
Windows merkt sich Ansichtseinstellungen nur für eine begrenzte Zahl von Ordnern. Der Wert BagMRU Size, dessen Standard seit Vista üblicherweise mit 5.000 angegeben wird (siehe Winaeros Beitrag), hebt die Grenze an. Gehen Sie bei stark genutzten Profilen nicht davon aus, dass die älteste Navigation noch vorhanden ist.
Parser-Grenzen
Shell-Items sind undokumentiert und erweiterbar. Jeder Parser, auch der ShellBags Parser, dekodiert manche Items nur teilweise (MTP-Geräte, Archivinhalte, Suchergebnisse). Unbekannt heißt nicht verdächtig. Behalten Sie das Roh-Hex und prüfen Sie mit einem zweiten Werkzeug gegen, bevor Sie auf einem ungewöhnlichen Eintrag aufbauen (Werkzeugvergleich).
Zustand des Hives
Ein von einem Live-System kopierter Hive ist oft dirty: Die jüngsten Schreibvorgänge stehen in .LOG1/.LOG2. Fehlende aktuelle ShellBags sind häufiger ein Sicherungsproblem als Anti-Forensik. Spielen Sie zuerst die Protokolle ein (Suhanovs Spezifikation des Registry-Formats beschreibt den Mechanismus).
Wie ShellBags entfernt werden
| Methode | Wirkung | Typische Spuren |
|---|---|---|
Manuelles Löschen (regedit, reg delete) von BagMRU/Bags | Entfernt Schlüssel unter HKCU\Software\Classes\Local Settings\Software\Microsoft\Windows\Shell und/oder HKCU\Software\Microsoft\Windows\Shell | Winziger Baum mit jungem Root-LastWrite; gelöschte Zellen im Hive |
| PrivaZer | Entfernt laut eigener Dokumentation die BagMRU-Spur; behält die Bags-Ansichtseinstellungen, sofern nicht „alles entfernen“ gewählt wird; kann sich auf „Spuren gelöschter Ordner“ beschränken | Verwaiste Bags\<n>-Schlüssel; Einträge vorhandener Ordner bleiben, gelöschte verschwinden; PrivaZer-Ausführungsartefakte |
| CCleaner mit Community-Regeln (Winapp2) | Löscht die in der Regeldatei aufgeführten Schlüssel | CCleaner-Ausführungsartefakte, Regeldatei auf dem Datenträger |
| Profil-Reset / neues Profil | Neue UsrClass.dat | Erstellungsdatum des Profils, Reste des alten Profilordners |
| Zeitmanipulation | Werkzeuge wie SetRegTime können den LastWrite von Schlüsseln über die dokumentierte Klasse KEY_WRITE_TIME_INFORMATION umschreiben | Schlüsselzeiten, die nicht zu eingebetteten Zeiten, zur Eltern-/Kind-Reihenfolge und anderen Artefakten passen |
Bereinigung erkennen
1. Strukturelle Widersprüche
- Verwaiste
Bags-Schlüssel. Jeder BagMRU-Eintrag hat einenNodeSlot, der aufBags\<n>zeigt. VieleBags\<n>-Schlüssel, auf die kein BagMRU-Eintrag verweist, passen zu einer reinen BagMRU-Löschung. Der ShellBags Parser zeigt den NodeSlot jedes Eintrags; listen Sie dieBags-Unterschlüssel in Registry Explorer auf und vergleichen Sie. MRUListExmit Verweisen auf fehlende Werte. Nennt dieMRUListExeines Elternschlüssels Slot 3, gibt es aber keinen Wert3, hat etwas den Wert entfernt, ohne die Liste neu zu schreiben.- Hohe NodeSlots, wenige Einträge. Slots werden vergeben, wenn Ordner einen Ansichtszustand erhalten. Ein Profil, dessen NodeSlots in die Tausende gehen, dessen BagMRU aber nur eine Handvoll Einträge enthält, hat womöglich Verlauf verloren (eine Heuristik; mit den übrigen Prüfungen bestätigen).
- Junger Root-LastWrite bei fast leerem Baum. Ein wenige Minuten vor der Sicherung neu geschriebener
BagMRU-Wurzelschlüssel in einem ansonsten aktiven Profil verdient eine Nachfrage.
2. Wiederherstellbare Kopien
- Nicht zugeordnete Hive-Zellen. Gelöschte Schlüssel und Werte bleiben oft in freien Zellen, bis sie überschrieben werden. Registry Explorer zeigt wiederhergestellte gelöschte Schlüssel; der ShellBags Parser stellt sie noch nicht wieder her.
- Transaktionsprotokolle.
UsrClass.dat.LOG1/.LOG2können ältere Zustände einzelner Seiten enthalten. - Volumeschattenkopien und Backups enthalten oft eine ältere UsrClass.dat. Werten Sie beide aus und vergleichen Sie.
- Andere Hives.
NTUSER.DAThat einen eigenen BagMRU-Baum, den manche Bereiniger übersehen.
3. Spuren des Bereinigers
Ein Bereiniger ist ein Programm. Er taucht in Prefetch, Amcache, ShimCache, SRUM und BAM auf wie jedes andere. PrivaZer oder CCleaner, kurz vor einer absehbaren Ermittlung ausgeführt, ist für sich schon ein Befund.
4. Lücken zwischen Artefakten
LNK-Dateien, Jump Lists und RecentDocs, die in Ordner ohne ShellBags zeigen, oder eine USB-Gerätehistorie für einen Laufwerksbuchstaben ohne einen einzigen ShellBag auf diesem Buchstaben, deuten auf unvollständige ShellBags hin. Konsistente Lücken über mehrere Artefakte weisen auf einen Bereiniger oder ein anderes Konto hin.
Verantwortungsvoll berichten
- Halten Sie fest, was die ShellBags zeigen, für welches Konto und mit welcher Art von Zeit.
- Schließen Sie aus einem ShellBag nie auf Dateizugriff.
- Schließen Sie aus einem Fehlen nie auf Unschuld.
- Bei Verdacht auf Bereinigung listen Sie die konkreten Widersprüche auf, keine Schlussfolgerung.
Häufige Fragen
Lassen sich ShellBags löschen?
Ja. Jeder Prozess, der als der Benutzer läuft, kann BagMRU-Schlüssel löschen, und Bereinigungstools wie PrivaZer oder CCleaner mit Community-Regeln bieten das an. Oft bleiben Spuren: verwaiste Bags-Schlüssel, inkonsistente MRU-Listen, nicht zugeordnete Hive-Zellen, Transaktionsprotokolle, Schattenkopien und Ausführungsspuren des Bereinigers.
Bedeutet ein leerer ShellBags-Baum, dass der Benutzer nichts getan hat?
Nein. Konsolen- und Skriptaktivität erzeugt nie ShellBags, und ein leerer oder winziger Baum in einem aktiven Profil ist für sich schon ein Grund, nach einer Bereinigung oder einem Profil-Reset zu suchen.