← Zurück zum Blog

Beweisen, dass eine Datei auf Windows existierte

· 2 Min. Lesezeit

Forensische Untersuchungen drehen sich oft um eine einzige Frage: War diese Datei je auf diesem Computer? Nicht „liegt sie jetzt auf der Platte?" — das ist dir. Die schwierigere Frage ist: Können wir zeigen, dass sie gestern, letzte Woche, letztes Jahr auf der Platte war? Auf NTFS-Volumes ist die $MFT meist die stärkste Antwort.

Was eine Löschung überlebt

Wenn eine Datei auf NTFS gelöscht wird, wird das In-Use-Bit ihres MFT-Eintrags zurückgesetzt, der Rest des Eintrags bleibt aber stehen. Dieser Eintrag trägt:

  • den vollen Dateinamen (in $FILE_NAME)
  • die Referenz auf das Elternverzeichnis
  • vier Zeitstempel (erstellt, geändert, zugegriffen, MFT-geändert) — doppelt, in SI und FN
  • die logische und physische Größe
  • bei kleinen Dateien den gesamten Inhalt (resident in $DATA)
  • bei größeren Dateien die Runlist der Cluster, die die Daten enthielten

Jeder dieser Punkte ist direkter Beweis. Ein gelöschter MFT-Eintrag mit $FILE_NAME = geheimer-plan.docx, Elternverzeichnis \Users\bob\Documents und SI-erstellt 2024-11-03T14:02:11Z zeigt, dass eine Datei dieses Namens an diesem Tag in diesem Verzeichnis existierte — unabhängig davon, was dir heute anzeigt.

Die Beweiskraft

Drei Eigenschaften machen MFT-Einträge zu starkem forensischem Beweismaterial:

  1. NTFS schreibt sie selbst. Mit üblichen Windows-Werkzeugen sind sie nicht benutzerseitig editierbar. Ein Verteidiger kann nicht behaupten, sie seien platziert worden, ohne die gesamte $MFT fälschen zu lassen — kein leichtes Unterfangen.
  2. Acht Zeitstempel kontrollieren einander. Manipulation hinterlässt meist Spuren: SI geändert, FN unverändert ist die Signatur von Timestomping.
  3. $UsnJrnl und $LogFile bestätigen. Sagt die $MFT, eine Datei sei zum Zeitpunkt T erstellt worden, sollte das Change Journal das Erstellungsereignis zur selben Zeit verzeichnen. Abweichungen sind selbst Beweis.

Was die $MFT allein nicht beweist

Die $MFT beweist, dass die Datei zu einem bestimmten Zeitpunkt in einem bestimmten Verzeichnis existierte. Sie beweist nicht:

  • wer sie erstellt oder geöffnet hat — dafür braucht es die Security-Event-Logs
  • welches Programm sie erzeugt hat — Prefetch und ShimCache helfen hier
  • was bei großen Dateien drinsteckte — sofern man nicht die Datencluster wiederherstellt
  • ob ein Benutzer sie je geöffnet hat — Jump Lists und LNK-Dateien sind aufschlussreicher

Eine vollständige Antwort verbindet die $MFT mit den umliegenden Artefakten. Aber die $MFT ist der Eckstein — ohne sie haben die übrigen Teile nichts, woran sie sich verankern könnten.

Externe Ressourcen