Skip to content

Alternativen zu ShellBags Explorer: SBECmd, RegRipper & Co.

Ein fairer Vergleich von ShellBags-Werkzeugen: ShellBags Explorer, SBECmd, RegRipper, Velociraptor, shellbags.py, Volatility und ein Browser-Parser.

Veröffentlicht am 5 Min. Lesezeit

TL;DR. Eric Zimmermans ShellBags Explorer (GUI) und SBECmd (CLI) bleiben die Referenz: breite Shell-Item-Abdeckung, Einspielen der Transaktionsprotokolle, Spalten first/last interacted, Stapelverarbeitung. RegRipper liefert schnelle Textausgabe im Rahmen eines breiteren Registry-Durchlaufs. Velociraptor sichert und wertet in der ganzen Umgebung aus. shellbags.py und das shellbags-Plugin von Volatility decken Python-Pipelines und Arbeitsspeicher ab. Der ShellBags Parser ist der schnellste Weg, einen Hive auf jedem Betriebssystem ohne Installation anzusehen, mit Triage-Hinweisen und CSV-/JSON-Export, spielt aber noch keine Protokolle ein, stellt keine gelöschten Schlüssel wieder her und dekodiert nicht jeden Item-Typ. Für Befunde, die in einen Bericht gehen, prüfen Sie mit einem zweiten Werkzeug gegen.

Offenlegung: Ich entwickle den ShellBags Parser. Ich nutze auch SBECmd und versuche im Folgenden genau zu sein, wo welches Werkzeug stärker ist.

Der Vergleich

WerkzeugPlattformOberflächeProtokolle einspielenStärkenBekannte Lücken
ShellBags Explorer / SBECmdWindows (.NET)GUI / CLIJa, standardmäßig (--nl schaltet ab)Breite Item-Abdeckung; first/last interacted; „has explored“; Modi -d (Verzeichnis) und -l (Live-Registry); --dedupe; CSVNur Windows; GUI nicht skriptbar
RegRipper 3.0 shellbags.pl, shellbags_tln.plWindows (Perl, läuft auch anderswo)CLI / GUINein, bereinigten Hive auswertenTeil eines vollständigen Registry-Durchlaufs; TLN-Ausgabe; prüft die MRUListEx, bevor Zeiten ausgegeben werden (laut 4n6k)Textbericht; Item-Abdeckung je nach Plugin-Version
Velociraptor Windows.Forensics.ShellbagsPlattformübergreifender AgentVQL / GUIEigener Roh-Registry-ParserSuche über die gesamte Umgebung; Ausgabe von Hive, Schlüsselpfad, Slot, vollständigem Pfad, Änderungszeit, BeschreibungWeniger abgeleitete Felder; bietet zusätzlich Windows.Applications.SBECmd, um SBECmd aus der Ferne auszuführen
shellbags.py (Willi Ballenthin)Python 2.7CLINeinBodyfile-Ausgabe für mactime-Zeitachsen; skriptbarAbhängigkeit von Python 2; ältere Item-Abdeckung
Volatility 2 shellbagsPythonCLIn/a (Arbeitsspeicher)Liest ShellBags aus der Registry im SpeicherabbildNur Volatility 2; Speicherabbild nötig (RAM-Parser)
ShellBags ParserJeder moderne BrowserWeb (WASM)Nein (warnt bei dirty Hives)Keine Installation, nichts wird hochgeladen; Hives, Ordner oder ZIP-Triage-Sammlungen ablegen; Gruppierung nach Konto; Baum + Zeitachse; Triage-Hinweise; CSV-/JSON-ExportKein Einspielen von Protokollen, keine Wiederherstellung gelöschter Schlüssel; MTP-, ZIP-Inhalts- und Such-Items nur näherungsweise; Validierung mit echten Hives gegen SBECmd läuft noch

Quellen für Optionen und Funktionen: SBECmd-Optionen (SANS-Werkzeugseite), die oben verlinkten Velociraptor-Artefaktreferenzen, die Repositories der Werkzeuge und die README dieser Website.

ShellBags Explorer und SBECmd

Der De-facto-Standard, aus gutem Grund. In der Praxis:

  • Abdeckung. Jahre voller Sonderfälle aus echter Fallarbeit: Delegate-Items, MTP-Geräte, Inhalte komprimierter Ordner, Systemsteuerungselemente und viele Shell-Erweiterungen von Drittanbietern.
  • Interpretationsspalten. „First interacted“ und „Last interacted“ aus der MRU-Logik sowie ein Indikator „has explored“, abgeleitet aus den Bags-Einstellungen.
  • Stapelbetrieb. SBECmd.exe -d <dir> --csv <out> durchläuft eine Triage-Sammlung und schreibt pro Hive eine CSV; --dedupe entfernt doppelte Hives (etwa aus Schattenkopien).
  • Dirty Hives. Transaktionsprotokolle werden eingespielt, sofern Sie nicht --nl angeben.

Kompromisse: Windows und eine .NET-Laufzeit sind erforderlich. Auf einer Forensik-Workstation kein Problem, auf einem Mac, einer Linux-SIFT oder einem abgeriegelten Firmen-Laptop schon eher.

RegRipper

Harlan Carveys RegRipper hat seit über zehn Jahren ShellBags-Plugins für Hives aus der Windows-7-Zeit. Es glänzt, wenn ShellBags nur eines von vierzig Dingen sind, die Sie in einem Durchgang aus einem Hive holen wollen, und shellbags_tln.pl speist direkt eine TLN-Zeitachse. Wie bei jedem Textbericht-Werkzeug fehlt der interaktive Baum, und die Abdeckung neuerer Item-Typen hängt von der Plugin-Version ab. Spielen Sie die Protokolle ein, bevor Sie ihm einen dirty Hive geben.

Velociraptor

In großen Umgebungen ist Velociraptor die praktische Antwort. Windows.Forensics.Shellbags nutzt Velociraptors eigenen Roh-Registry-Parser für NTUSER.DAT und UsrClass.dat unter C:\Users\*, sodass Sie auf Tausenden Endpunkten nach einem UNC-Pfad oder Laufwerksbuchstaben suchen können. Für eine tiefe Analyse einzelner Rechner sichern Sie zusätzlich die Roh-Hives und werten sie mit einem spezialisierten Werkzeug aus.

Python- und Arbeitsspeicher-Optionen

  • shellbags.py ist klein und skriptbar, mit Bodyfile-Ausgabe, die direkt in eine mactime-Zeitachse passt. Es setzt Python 2.7 voraus und braucht daher eine Legacy-Umgebung.
  • Das Plugin shellbags von Volatility 2 wertet die Registry so aus, wie sie im Speicher liegt. Nützlich, wenn der Hive auf dem Datenträger fehlt, verschlüsselt oder dirty ist und Sie ein RAM-Abbild haben. Volatility 3 hat Registry-Plugins, meines Wissens aber kein direktes Gegenstück; prüfen Sie die aktuelle Plugin-Liste, bevor Sie sich darauf verlassen.

ShellBags Parser (diese Website)

Wo er gut ist:

  • Keine Installation, vertraulich. Rust, kompiliert nach WebAssembly, in einem Web Worker; es gibt keinen Upload-Endpunkt.
  • Triage-Tempo. Legen Sie ein KAPE- oder Velociraptor-ZIP ab; Konten werden getrennt (SID aus UsrClass, Benutzername aus NTUSER oder Pfad Users\<name>\); Hinweise heben andere Laufwerke, Netzwerkorte, Archivpfade und vom Benutzer beschreibbare Ordner hervor.
  • Transparenz. Jeder Eintrag zeigt BagMRU-Schlüssel, MRU-Position, NodeSlot, Erweiterungsversion und Roh-Hex; die Zeitachse gibt an, ob eine Zeit MRU-abgeleitet oder ein Schlüssel-Schreibzugriff ist.
  • Robustheit. Grenzgeprüfte Auswertung angreiferkontrollierbarer Daten, mit Warnungen statt Abstürzen bei beschädigten Hives.

Was er noch nicht kann (laut eigener README): .LOG1/.LOG2 einspielen, gelöschte BagMRU-Einträge aus nicht zugeordneten Zellen wiederherstellen, MTP-, ZIP-Inhalts- (0x52) und Suchergebnis-Items vollständig dekodieren. Die Validierung an einem Korpus echter Windows-7-/10-/11-Hives mit SBECmd-Abgleich steht auf der Roadmap. Die Schritt-für-Schritt-Anleitung zeigt den Ablauf.

Welches Werkzeug wann

SituationWerkzeug
Erster Blick auf einen Hive am Mac/unter Linux oder auf einem abgeriegelten LaptopShellBags Parser
Vollständige Analyse eines Rechners für einen BerichtSBECmd / ShellBags Explorer, mit einem zweiten Werkzeug gegengeprüft
Registry-Durchlauf in einem Schritt mit vielen PluginsRegRipper
Suche nach einem Pfad in der ganzen UmgebungVelociraptor
Python-Pipeline, Bodyfile-Zeitachseshellbags.py
Nur ein RAM-AbbildVolatility 2 shellbags
Verdacht auf Bereinigung, gelöschte SchlüsselRegistry Explorer plus die Prüfungen aus Grenzen und Anti-Forensik

Egal, wofür Sie sich entscheiden: Abweichungen zwischen Werkzeugen sind Information. Zeigen zwei Parser für denselben Schlüssel unterschiedliche Pfade, sehen Sie sich die Rohbytes an (Shell-Item-Format), bevor Sie einem von beiden vertrauen.

Verwandte Artikel

Verwandte Artikel