Skip to content

Die Eigenschaften des Windows-Search-Index erklärt

System.ItemPathDisplay, System.Search.GatherTime, System.Search.AutoSummary und die übrigen Windows-Search-Eigenschaften, die in einer Ermittlung zählen.

Veröffentlicht am 5 Min. Lesezeit

Kurz gesagt. Jedes Element im Windows-Search-Index ist ein Bündel von Windows-Shell-Eigenschaften, identifiziert durch eine WorkId. Ein Dutzend davon trägt den Großteil des forensischen Werts: System.ItemPathDisplay (vollständiger Pfad), System.Size, System.FileOwner, System.DateCreated / DateModified / DateAccessed (Dateisystemzeiten zum Indizierungszeitpunkt), System.Search.GatherTime (wann der Indexer das Element verarbeitet hat), System.Search.AutoSummary (ein Inhaltsauszug), System.ItemType und System.Kind (was es ist) sowie URL-Eigenschaften für den Webverlauf. Microsoft dokumentiert, was jede Eigenschaft bedeutet, nicht, wie die Datenbank sie speichert. Alle Zeiten sind FILETIME-Werte in UTC.

Woher die Eigenschaften kommen

Das Windows-Eigenschaftensystem definiert kanonische Namen wie System.ItemPathDisplay, jeweils mit Format-ID und Eigenschafts-ID (einem PROPERTYKEY). Der Indexer wendet Eigenschaftenhandler auf jede Datei an und speichert die Werte. In Windows.edb ist jede Eigenschaft eine Spalte mit einem Namen wie 4447-System_ItemPathDisplay. In Windows.db ist sie eine Zeile, deren ColumnId über SystemIndex_1_PropertyStore_Metadata auf den Namen verweist. Der Formatvergleich zeigt beide Strukturen.

Das numerische Präfix gilt nur für die jeweilige Datenbank. Nach dem Namen gehen. Microsofts Referenzseiten nennen Bedeutung und Typ jedes Namens, etwa für System.ItemPathDisplay.

Die Eigenschaften, die zählen

Identität und Ort

EigenschaftBedeutung (Microsoft)Forensische Hinweise
System.ItemPathDisplayBenutzerfreundlicher Anzeigepfad des ElementsDer Pfad, den man zitiert. Enthält die Erweiterung. Lokalisiert, falls ein lokalisierter Name existiert. UNC-Pfade bei Freigaben.
System.ItemUrlURL-Form mit Schema (file:, iehistory:, mapi:…)Zeigt, welche Art von Element es ist: Datei, Webverlauf, Mail.
System.ItemFolderPathDisplayOrdneranteil des PfadsPraktisch, um Bereitstellungsordner zu gruppieren.
System.FileName / System.ItemNameDisplayDateiname / AnzeigenameDer Anzeigename kann die Erweiterung verbergen.
System.ComputerNameName des Computers, auf dem sich das Element befindetNützlich, wenn Indizes mehrerer Rechner in einem Fall gemischt werden.

Microsofts Beispiele für System.ItemPathDisplay umfassen einen lokalen Pfad, einen UNC-Pfad und einen Postfachpfad: Der Index erfasst mehr als lokale Dateien.

Typ

EigenschaftBedeutungForensische Hinweise
System.ItemTypeKanonischer Typ, meist die Erweiterung (.exe, .zip) oder DirectoryEs gibt Sonderwerte wie ActivityHistoryItem für Aktivitätsdatensätze.
System.ItemTypeTextLesbarer Typ („Anwendung“, „Textdokument“)Lokalisiert. Nicht danach filtern.
System.KindAus der Erweiterung abgeleitete Kategorie: document, program, folder, link, webhistory…Microsoft ordnet Erweiterungen Kategorien zu, im Registry-Schlüssel KindMap. Mehrwertig.
System.FileAttributesWin32-DateiattributeVersteckt- / System-Attribute an Benutzerdateien verdienen einen Blick.

Besitz und Größe

EigenschaftBedeutungForensische Hinweise
System.FileOwnerDer Besitzer der Datei, wie ihn das Dateisystem kenntDOMÄNE\benutzer oder RECHNER\benutzer. Das stärkste Zuordnungsfeld im Index, aber Besitz ist nicht Urheberschaft: Ein Administrator, der eine Datei kopiert, kann ihr Besitzer werden.
System.SizeGröße in BytesGröße zum Zeitpunkt der Indizierung.

Zeit

EigenschaftBedeutungForensische Hinweise
System.DateCreatedErstellungszeit des ElementsBei der Indizierung aus dem Dateisystem kopiert.
System.DateModifiedLetzte ÄnderungEbenso.
System.DateAccessedLetzter ZugriffEbenso; zudem ist die Aktualisierung des letzten Zugriffs unter NTFS oft deaktiviert oder grob.
System.Search.GatherTimeWann der Gatherer die Eigenschaften des Dokuments zuletzt weitergegeben hatDie eigene Uhr des Indexers. Kein Dateisystemzeitstempel, daher ändert Timestomping der Datei ihn nicht.

Alle vier sind FILETIME-Werte: 100-Nanosekunden-Intervalle seit dem 1. Januar 1601, UTC. In Windows.db liest der Parser sie gemäß öffentlicher Forschung als 8-Byte-Little-Endian-Werte und bewahrt die Rohbytes neben dem dekodierten Datum.

Inhalt

EigenschaftBedeutungForensische Hinweise
System.Search.AutoSummaryEine automatische Zusammenfassung des Volltexts des DokumentsIn der Praxis der Textanfang. Stroz Friedberg berichtet von bis zu 1.024 Bytes unter Windows 11.
System.Title, System.Author, System.Subject…Dokument-Metadaten aus EigenschaftenhandlernOffice-Dokumente, PDFs und E-Mails tragen zusätzliche Metadaten, die man in der Liste der Roh-Eigenschaften lesen sollte.

Web und Aktivität

EigenschaftBedeutungForensische Hinweise
System.Link.TargetUrlZiel-URL eines Links / VerlaufselementsUnter Windows 11 fand Stroz Friedberg hier besuchte URLs.
System.ItemUrl mit iehistory://{SID}/…Element des WebverlaufsDie SID ordnet den Eintrag einem Benutzer zu.
ActivityHistory-Eigenschaften (StartTime, EndTime, AppId)Datensätze des AktivitätsverlaufsVorhanden, wenn System.ItemType den Wert ActivityHistoryItem hat, laut derselben Forschung.

Die Zeitstempel gemeinsam lesen

Die Gather-Zeit ist das Feld, an das ein Angreifer selten denkt, und sie macht die anderen nützlicher.

MusterWahrscheinliche Deutung
Gather-Zeit wenige Sekunden oder Minuten nach DateModifiedDer Indexer hat eine frische Änderung erfasst. Normal bei aktiven Dateien.
Gather-Zeit lange nach DateModifiedDie Datei wurde später indiziert: neu indizierter Ort, Neuerstellung des Index, Neuindizierung oder wieder angeschlossenes Laufwerk.
DateCreated später als DateModifiedTypisch für eine kopierte oder entpackte Datei mit erhaltener ursprünglicher Änderungszeit. Die Quelle suchen.
Sehr altes DateModified bei einer ausführbaren Datei in einem vom Benutzer beschreibbaren Ordner, Gather-Zeit aktuellMögliches Timestomping oder eine Archiventpackung. USN-Journal und MFT prüfen.
Gather-Zeit nach der letzten bekannten Anmeldung des BesitzersJemand oder etwas anderes hat an diesen Ort geschrieben, oder der Indexer hat verspätet aufgeholt.

Der Windows Search Index Parser markiert „kürzlich indizierte“ Elemente: nach ihrer letzten Änderung indiziert und innerhalb von 24 Stunden vor der jüngsten Gather-Zeit derselben Datenbank. Auf einem Rechner, der kurz nach einem Vorfall sichergestellt wurde, hebt das hervor, was sich am letzten Aktivitätstag geändert hat.

Stolperfallen

  • Werte sind Momentaufnahmen. Alles außer der Gather-Zeit beschreibt die Datei zum Zeitpunkt der Indizierung. Eine danach geänderte und nie neu indizierte Datei zeigt veraltete Werte.
  • Lokalisierung. Anzeigenamen und Typtexte ändern sich mit der Systemsprache. Stattdessen nach System.ItemType, System.Kind oder Erweiterungen filtern.
  • Mehrwertige Eigenschaften. System.Kind und einige andere enthalten mehrere Werte („program; executable“). Ein Parser, der nur den ersten behält, verliert Information.
  • Fehlend ist nicht null. Eine fehlende Eigenschaft bedeutet, dass kein Handler sie gesetzt hat. Nicht „leer“ und nicht „falsch“.
  • Undokumentierte Speicherung. Microsoft dokumentiert die Eigenschaften, nicht die Datenbank. Wie ein Wert in Windows.edb oder Windows.db kodiert ist, stammt aus öffentlicher Forschung. Im Zweifel die Rohbytes ansehen; deshalb zeigt der Parser jede Roh-Eigenschaft.

Verwandte Artikel

Verwandte Artikel