Skip to content

ShellBags und ZIP-Dateien: Archivnavigation nachweisen

Wie ShellBags das Navigieren in ZIP-Dateien und anderen Archiven im Explorer aufzeichnen, was die Items im Archiv enthalten und wie man Archivpfade deutet.

Veröffentlicht am 5 Min. Lesezeit

TL;DR. Öffnet ein Benutzer eine ZIP-Datei im Explorer, behandelt Windows sie wie einen Ordner, und der ShellBags-Baum erhält einen Eintrag für das ZIP (ein File-Entry-Item) mit Kindeinträgen für jedes darin durchsuchte Verzeichnis. Das belegt, dass der Benutzer in das Archiv geschaut hat und welche internen Ordner er geöffnet hat. Es belegt weder Entpacken noch Ausführung. Laut libfwsi sind die Items in einem ZIP „Compressed Folder“-Items, die über ihren Vorfahren erkannt werden; unter Windows 10 enthalten sie die Größen des Eintrags, die Komprimierungsmethode, CRC-32 und die Änderungszeit als Text.

Archive tauchen in fast jedem Einbruchs- und Insider-Fall auf: als ZIP ausgelieferte Toolkits, vor der Exfiltration in Archive gepackte Daten, ein Benutzer, der behauptet, einen Anhang „nie geöffnet“ zu haben. ShellBags gehören zu den wenigen Artefakten, die zeigen können, was ein Benutzer in einem Archiv angesehen hat, ohne es zu entpacken.

Wie der Explorer mit Archiven umgeht

Seit Windows XP lässt der eingebaute Handler für komprimierte Ordner den Explorer eine ZIP-Datei wie einen Ordner anzeigen. Ein Doppelklick auf tools.zip öffnet eine Ordneransicht; ein Doppelklick auf ein Verzeichnis darin navigiert weiter. Jede dieser Navigationen läuft über den Shell-Namespace und erhält daher wie jeder andere Ordner einen BagMRU-Eintrag.

Unter Windows 11 hat Microsofts Update KB5031455 (Oktober 2023) das native Lesen von .rar, .7z, .tar, .tar.gz, .tgz und verwandten Formaten über das Projekt libarchive ergänzt. Das Durchsuchen dieser Formate im Explorer hinterlässt vermutlich vergleichbare Spuren, eine öffentliche, getestete Beschreibung ihrer Shell-Items habe ich aber nicht gesehen. Hängt Ihr Fall davon ab, testen Sie auf derselben Build.

In Drittanbieter-Werkzeugen (7-Zip-Dateimanager, WinRAR) geöffnete Archive laufen nicht über den Archiv-Handler des Explorers und erzeugen daher keine Einträge unterhalb des Archivs. Diese Werkzeuge führen einen eigenen Verlauf, oft in NTUSER.DAT unter herstellerspezifischen Schlüsseln.

So sieht der Baum aus

Aus dem Sample des ShellBags Parser (fiktive Daten):

My Computer\C:\Users\svc_backup\Downloads              directory   MFT 88530/1
My Computer\C:\Users\svc_backup\Downloads\tools.zip    file        MFT 91004/2   [archive]
My Computer\C:\Users\svc_backup\Downloads\tools.zip\x64            [archive]
  • tools.zip ist ein File-Entry-Item mit dem „Datei“-Flag (Klassentyp 0x32), kein Verzeichnis. Es hat normale eingebettete Zeiten und eine MFT-Referenz, weil das ZIP selbst eine NTFS-Datei ist.
  • x64 liegt innerhalb des Archivs. Sein Elternteil im Baum ist der Schlüssel des ZIP. Diese Beziehung ist der Nachweis der Navigation im Archiv.
  • Der LastWrite des Schlüssels tools.zip, mit x64 an erster Stelle seiner MRUListEx, liefert die „letzte Interaktion“ für x64. Siehe ShellBags-Zeitstempel erklärt.

Der Parser markiert jeden Pfad durch .zip, .7z, .rar, .cab, .iso, .tar, .gz, .tgz oder .vhd(x) als In einem Archiv, sodass diese Einträge mit dem Filter Nur markierte sichtbar werden. ISO- und VHD-Dateien stehen auf der Liste, weil Windows sie als Laufwerke einbindet; dann erscheint der Inhalt meist unter einem neuen Laufwerksbuchstaben statt unterhalb der Datei.

Was die Items im Archiv enthalten

libfwsis Windows Shell Item format dokumentiert das Compressed Folder Shell Item als über seine Abstammung erkannt (sein Elternteil ist das Archiv) statt über einen Klassentyp-Wert. Das Layout unterscheidet sich je nach Version:

VersionWichtige Felder
Windows XPÄnderungszeit als UTF-16-Zeichenkette (mm/dd/yy HH:MM), Namenszeichenketten
Windows 10Unkomprimierte und komprimierte Größe, Komprimierungsmethode (0x00 gespeichert, 0x08 DEFLATE), CRC-32, Änderungszeit als Text (mm/dd/yyyy HH:MM:SS oder eine „N/A“-Zeichenkette), Namenszeichenketten

Das ist verwertbar:

  • CRC-32 und Größen des Eintrags, wie er im Archiv lag, helfen, ein auf diesem Rechner gesehenes Archiv mit einem anderswo gefundenen abzugleichen.
  • Die Änderungszeit ist die im ZIP für diesen Eintrag gespeicherte Zeit, als Text, keine Dateisystemzeit dieses Rechners. Behandeln Sie ihre Zeitzone als unbekannt, solange Sie sie nicht getestet haben.
  • Keine MFT-Referenz: Der Inhalt existiert erst nach dem Entpacken als NTFS-Datei.

Unterstützung durch Parser

Die Dekodierung ist unterschiedlich. Der ShellBags Parser dekodiert den File Entry des Archivs selbst und behält den vollständigen Pfad, laut seiner README werden ZIP-Inhalts-Items (0x52) aber noch nicht vollständig dekodiert: Rechnen Sie mit einem Näherungsnamen oder der Bezeichnung „unknown shell item“ mit Roh-Hex im Detailbereich. SBECmd und ShellBags Explorer verarbeiten mehr dieser Items. In archivlastigen Fällen prüfen Sie dort gegen (Werkzeugvergleich).

Archiveinträge deuten

Sie sehenSie können sagenSie können nicht sagen
Eintrag für x.zip ohne KinderDer Elternordner des ZIP wurde durchsucht und das ZIP dort gelistet/ausgewähltDass das ZIP geöffnet wurde
Kinder unterhalb von x.zipDer Benutzer hat das ZIP im Explorer geöffnet und diese internen Ordner durchsuchtDass Dateien entpackt, geöffnet oder ausgeführt wurden
x.zip in Downloads, Minuten vor dem Durchsuchen angelegtPasst zu Download mit sofortiger SichtungWoher es stammt (prüfen Sie Zone.Identifier, den Browserverlauf)
Gelöschtes ZIP (nicht mehr auf dem Datenträger) mit Kindern in den ShellBagsDas Archiv existierte und wurde durchsucht; sein MFT-Datensatz lässt sich prüfenWas es außer den durchsuchten Ordnern enthielt

Den nächsten Schritt belegen

  • Entpacken: Suchen Sie die entpackten Dateien in der $MFT und im USN-Journal (Häufungen von Dateierstellungen unter einem neuen Ordner direkt nach der Navigationszeit).
  • Öffnen einer Datei aus dem ZIP: Windows öffnet sie in der Regel aus einer temporären Kopie; LNK-Dateien und Jump Lists verweisen auf den temporären Pfad.
  • Ausführung: Prefetch, Amcache, ShimCache.
  • Herkunft: Browser-Downloads (Browser-Forensik), E-Mail-Anhänge (Messaging-Forensik).

Staging-Archive für die Exfiltration

Das umgekehrte Muster ist ebenfalls häufig: Daten werden in ein Archiv gepackt und dann verschoben. ShellBags helfen, wenn der Benutzer in das Archiv navigiert ist, um den Inhalt zu prüfen, oder den Ordner durchsucht hat, der es enthielt. Ein Archiv, das per 7z.exe oder PowerShell Compress-Archive auf der Konsole erstellt wurde, hinterlässt keine ShellBags; sehen Sie sich stattdessen Ausführungsartefakte und das USN-Journal an.

Häufige Fragen

Zeigen ShellBags, dass eine ZIP-Datei entpackt wurde?

Nein. Sie zeigen, dass der Benutzer im Explorer im Archiv navigiert hat. Beim Entpacken entstehen Dateien auf dem Datenträger, die Sie mit der MFT, dem USN-Journal oder LNK-Dateien belegen, nicht mit ShellBags.

Zeichnen ShellBags 7z- und RAR-Archive auf?

Nur wenn der Explorer selbst sie durchsucht hat. Windows 11 öffnet RAR, 7z und tar-Varianten seit dem Update KB5031455 vom Oktober 2023 nativ, deren Spuren sind aber noch kaum dokumentiert; in 7-Zip oder WinRAR geöffnete Archive laufen nicht über den Archiv-Handler des Explorers.

Verwandte Artikel

Verwandte Artikel