← Zurück zum Blog

NTFS-Anti-Forensik: Angreifer-Taktiken an der MFT

· 5 Min. Lesezeit

Kurze Antwort: Anti-Forensik-Techniken auf NTFS sollen verbergen, was eine Datei ist, wann sie angefasst wurde oder dass sie überhaupt existiert hat. Keine der gängigen Techniken ist sauber — jede hinterlässt ein anderes Artefakt in $MFT, $UsnJrnl, $LogFile oder VSS-Snapshots. Dieser Artikel katalogisiert die Techniken und die verräterischen Spuren, die sie aushebeln.

Timestomping

Der Klassiker. Werkzeuge wie SetMACE, timestomp und integrierte PowerShell-Einzeiler rufen SetFileTime auf oder schreiben direkt in $STANDARD_INFORMATION, um eine Datei älter oder jünger erscheinen zu lassen, als sie ist.

Was es hinterlässt:

  • Die Zeitstempel in $STANDARD_INFORMATION und $FILE_NAME driften auseinander — SetFileTime aktualisiert nur SI. Siehe die vier MFT-Zeitstempel.
  • Die Sub-Sekunden-Präzision ist oft genullt. Natürliche Windows-Aktivität hinterlässt Sekundenbruchteile; viele Timestomping-Werkzeuge runden auf die Sekunde.
  • Eine Erstellt-Zeit in $STANDARD_INFORMATION, die älter ist als die Erstellt-Zeit in $FILE_NAME, ist unmöglich — Dateien können nicht existieren, bevor sie benannt wurden.

Wie man es erkennt: Parsen Sie $MFT und markieren Sie jeden Eintrag, in dem SI und FN um mehr als wenige Sekunden differieren oder in dem SI überhaupt vor FN liegt. Der Browser-Parser dieser Seite zeigt beide Zeitstempelsätze pro Eintrag.

Alternative Datenströme (ADS)

NTFS erlaubt einer Datei mehrere $DATA-Attribute. Das unbenannte ist die „eigentliche" Datei; benannte (file.txt:hidden) sind alternative Datenströme — unsichtbar für den Explorer, unsichtbar für dir und routinemäßig genutzt, um Payloads zu verstecken.

Was es hinterlässt:

  • Ein ADS ist nur ein weiteres $DATA-Attribut im selben MFT-Eintrag. Jeder Parser, der den Attributstrom durchläuft, listet sie auf.
  • Der ADS Zone.Identifier, von Browsern automatisch hinzugefügt, überlebt häufig auf heruntergeladenen Payloads — als Beleg, dass die Datei aus dem Internet stammt, und aus welcher Sicherheitszone.

Wie man es erkennt: dir /R aus der cmd.exe listet ADS auf einem Live-System. streams.exe aus den Sysinternals zählt sie auf. Der MFT-Parser zeigt sie inline mit dem Eintrag. Siehe alternative Datenströme.

Eine einzelne Datei wischen

Anspruchsvolle Wiper überschreiben die Cluster der Datei und löschen anschließend den MFT-Eintrag. Weniger anspruchsvolle (del /f, SDelete in den Standardeinstellungen) überschreiben die Daten, lassen den MFT-Eintrag aber stehen.

Was es hinterlässt:

  • Einen gelöschten MFT-Eintrag mit intaktem $FILE_NAME und $STANDARD_INFORMATION — Name und Zeitstempel überleben, auch wenn die Daten weg sind. Siehe was beim Löschen einer NTFS-Datei überlebt.
  • Häufig einen $UsnJrnl-Eintrag für die ursprüngliche Erstellung und die Löschung.
  • $LogFile-Einträge für die Metadaten-Operationen.
  • Einen VSS-Snapshot von vor dem Wipe, der die vollständige Datei noch enthält.

Wie man es erkennt: Selbst eine „gewischte" Datei hinterlässt Namen, Pfad und Zeitstempel in $MFT. In Kombination mit VSS-Snapshots (Snapshots und $MFT) lässt sich oft auch der Inhalt zurückgewinnen.

Den MFT-Eintrag selbst wischen

Ein aggressiverer Angreifer schreibt absichtlich eine neue Datei, um den Slot wiederzuverwenden und so den gelöschten Eintrag zu überschreiben. Das funktioniert — der Slot ist weg —, aber die Löschung ist selbst ein Ereignis.

Was es hinterlässt:

  • Die Sequenznummer des Eintrags wurde inkrementiert. Eine Referenz aus $UsnJrnl oder $LogFile auf die alte Sequenznummer ist nun veraltet und verrät, dass der Slot seither wiederverwendet wurde.
  • $UsnJrnl zeichnet weiterhin sowohl die ursprüngliche Erstellung/Löschung als auch die Erstellung der neuen Datei auf, einschließlich eines anderen Elternverzeichnisses, falls die neue Datei woanders liegt.
  • Snapshot-Kopien von $MFT aus der Zeit vor der Wiederverwendung enthalten weiterhin den ursprünglichen Eintrag.

Wie man es erkennt: Kreuzen Sie $UsnJrnl mit der aktuellen $MFT. Ein $UsnJrnl-Eintrag, dessen Ziel-Eintrag heute eine höhere Sequenznummer hat als die Referenz im Eintrag, deutet auf eine Wiederverwendung hin.

$UsnJrnl-Trunkierung

Das Änderungsprotokoll ist endlich. Ein Angreifer, der laute Operationen ausführt (viele Datei-Schreibvorgänge), kann $UsnJrnl zum Umlauf zwingen und so ältere Einträge verdrängen.

Was es hinterlässt:

  • Ein $UsnJrnl, das später beginnt, als sein $Max-Parameter vermuten ließe, ist verdächtig.
  • $LogFile rotiert nicht auf dieselbe Weise und protokolliert oft noch die Operationen, die $UsnJrnl hinausgedrängt haben.
  • Die lauten Operationen selbst hinterlassen Tausende von MFT-Einträgen — sie sind sichtbar.

$UsnJrnl löschen

fsutil usn deletejournal /D C: entfernt das Journal vollständig. Neu erstellte Journale beginnen mit einem frischen USN-Zähler.

Was es hinterlässt:

  • Ein $UsnJrnl, dessen erste USN verdächtig hoch ist oder dessen erster Eintrag nur Stunden oder Minuten vor dem Vorfall liegt.
  • Ein $Extend-Verzeichniseintrag, dessen MFT-Eintragssequenznummer inkrementiert wurde.
  • VSS-Snapshots aus der Zeit vor der Löschung enthalten das vollständige Journal weiterhin.

Umbenennen in eine Systemdatei

Malware als svchost.exe, lsass.exe oder ein anderes vertrautes Windows-Binary verstecken. Technisch keine MFT-Anti-Forensik, aber der häufigste Analyst-Täuschtrick in freier Wildbahn.

Was es hinterlässt:

  • Einen $FILE_NAME, dessen Elternverzeichnis-Referenz nicht C:\Windows\System32 lautet.
  • Ein $DATA-Attribut, dessen Größe und Entropie nicht zur Verteilung des legitimen Binarys passen.
  • Einen Zone.Identifier-ADS aus dem Download.

Ransomware-Schmierereien in der MFT

Manche Ransomware-Familien (Petya, NotPetya und eine Handvoll seither) beschädigen $MFT absichtlich, um das Volume nicht mountbar zu machen. Das ist destruktiv und nicht ausweichend.

Was es hinterlässt:

  • BAAD-Einträge dort, wo FILE stehen sollte.
  • Ein nicht bootfähiges System, aber ein forensisch wertvolles Image — scannen Sie das Volume nach FILE-Signaturen und die meiste Tabelle ist noch lesbar.

Details siehe Ransomware-Muster in der MFT.

Das allgemeine Prinzip

Jede Anti-Forensik-Technik auf NTFS hinterlässt ein Artefakt. Der Grund ist strukturell: $MFT, $UsnJrnl, $LogFile und VSS zeichnen jeweils eine andere Sicht derselben Ereignisse auf, und das Modifizieren einer dieser Quellen ist selbst ein Ereignis, das die anderen aufzeichnen. Eine Triage, die alle vier gemeinsam durchgeht, ist schwer auszuhebeln.

Externe Ressourcen