Jede Anti-Forensik-Technik auf NTFS hinterlässt etwas. Der Grund ist strukturell. Die MFT, das USN-Journal, $LogFile und Volume Shadow Copies erfassen jeweils eine andere Sicht auf dieselben Ereignisse, und das Ändern eines davon ist selbst ein Ereignis, das die anderen erfassen. Ein Angreifer, der sich vor einem Artefakt versteckt, leuchtet fast immer auf einem anderen auf. Ein Verteidiger, der alle vier zusammen durchgeht, ist schwer zu schlagen.
Das ist der Katalog. Für jede Technik: was Angreifer tun, welche Rückstände sie hinterlässt und welches Artefakt sie verrät.
Timestomping
Der Klassiker. Tools wie SetMACE, timestomp, die bekannten Invoke-TimeStomp-PowerShell-Skripte und beliebig viele Red-Team-Helfer rufen SetFileTime auf oder schreiben direkt in $STANDARD_INFORMATION, um eine Datei älter oder neuer erscheinen zu lassen, als sie ist. Aktuelle Varianten fassen auch $FILE_NAME an, indem sie die Datei umbenennen (was NTFS zwingt, FN zu aktualisieren) und dann zurückbenennen. Der "Double-Rename"-Trick trennt den kompetenten Operator vom Script-Kiddie.
Was es verrät:
- SI/FN-Divergenz. Reines
SetFileTimeberührt nur SI. Die entsprechenden FN-Zeitstempel sind weiterhin die echten Erstellungs-/Umbenennungszeiten. Siehe die vier MFT-Zeitstempel. Jeder Datensatz, bei dem SI created mehr als ein paar Sekunden von FN created entfernt ist, ist verdächtig. Wo SI created vor FN created liegt, ist es natürlich unmöglich: Dateien können nicht existieren, bevor sie benannt wurden. - Sub-Sekunden-Granularität. NTFS speichert Zeitstempel in 100-Nanosekunden-Ticks. Native Operationen hinterlassen Rauschen in den unteren Ziffern. Die meisten Timestomping-Tools runden auf die Sekunde. Eine Spalte von
.0000000-Suffixen, sauber aufgereiht über mehrere Dateien, ist ein Fingerabdruck. $UsnJrnl-Wahrheit. Das USN-Journal protokolliert die tatsächliche Modifikationszeit, wenn Einträge geschrieben werden. Ein USNDATA_OVERWRITEfür das$DATA-Attribut eines Datensatzes mit einem Zeitstempel, der mit der SI-Modified-Zeit der MFT nicht übereinstimmt, ist Timestomping auf frischer Tat.- VSS-Snapshots. Ältere Volume Shadow Copies halten die Pre-Stomp-Werte. Diffe die aktuelle
$MFTgegen die$MFTdes Snapshots für denselben Datensatz, und die Änderung wird sichtbar.
Der Double-Rename-Trick besiegt die SI/FN-Divergenz. Er besiegt nicht USN-Journaleinträge oder VSS-Diffs.
Alternate Data Streams als Payload-Versteck
Ein $DATA-Attribut mit einem Namen (legit.docx:payload.exe) ist im Explorer unsichtbar, in dir unsichtbar und wird routinemäßig genutzt, um ausführbare Dateien, Skripte oder kodierte Konfiguration zu verstecken, die die sichtbare Datei nicht verrät. Gestartet via wmic process call create, rundll32 oder Get-Content -Stream plus Invoke-Expression.
Was es verrät:
- MFT-Walks decken jedes
$DATA-Attribut auf. Per-File-Enumeration übersieht Streams in Dateien, die du nicht zu prüfen gedacht hast. Die MFT nicht. Siehe Alternate Data Streams. - Sysmon Event ID 15 (FileCreateStreamHash) ist das eine Sysmon-Ereignis, das ADS-Erstellung hasht. Wenn Sysmon deployt und konfiguriert ist, fängt das Stream-Drops direkt.
Zone.Identifier. Downloads aus einem Browser tragen diesen ADS. Eine Binärdatei in\Downloads\, der er fehlt, kam entweder nie aus einem Browser oder wurde absichtlich entfernt (Unblock-File).
Eine einzelne Datei wipen
Anspruchsvolle Wiper überschreiben die Cluster der Datei und löschen dann den MFT-Datensatz. Weniger anspruchsvolle (SDelete in den Defaults, cipher /w, del /f) überschreiben die Daten, lassen aber den MFT-Datensatz an Ort und Stelle.
Was es verrät:
- Der MFT-Datensatz selbst. Ein gelöschter Datensatz mit intaktem
$FILE_NAMEund$STANDARD_INFORMATIONbenennt die Datei weiterhin, gibt ihr übergeordnetes Verzeichnis an und zeigt die Zeitstempel zum Zeitpunkt der Löschung. Siehe was beim Löschen erhalten bleibt. $UsnJrnl-Erstell- und Löscheinträge. Beide Ereignisse werden unabhängig davon protokolliert, ob die Daten gewipt wurden.$LogFile. Transaktionsdatensätze für die Metadatenoperationen sitzen dort, bis sie rotieren.- VSS-Snapshots. Wenn ein Snapshot vor dem Wipe existierte, ist die Datei in ihm intakt.
Den MFT-Datensatz selbst wipen
Ein aggressiverer Angreifer schreibt neue Dateien speziell, um NTFS zu zwingen, den Slot wiederzuverwenden und den gelöschten Datensatz zu überschreiben. Das gelingt: Der Slot ist weg. Die Löschung ist immer noch ein Ereignis.
Was es verrät:
- Sequenznummer-Inkrement. Eine Referenz aus
$UsnJrnloder$LogFileauf DatensatzRSequenzSist jetzt veraltet; der aktuelle Datensatz ist SequenzS+1. Eine Querverweisanalyse offenbart die Wiederverwendung. $UsnJrnl-Historie. Die ursprüngliche Erstellung, Modifikation und Löschung werden weiterhin aufgezeichnet. Ebenso die Erstellung der neuen Datei. Die Wiederverwendung hinterlässt eine USN-Spur.- VSS-Snapshots. Snapshot-Kopien von
$MFTvon vor der Wiederverwendung halten weiterhin den ursprünglichen Datensatz auf SequenzS.
$UsnJrnl-Trunkierung
Das Change Journal ist endlich. Ein Angreifer, der laute Operationen ausführt (viele Dateischreibvorgänge), kann $UsnJrnl zwingen zu wrappen und ältere Einträge zu räumen. Die Standardgröße ist 32 MB auf den meisten Installationen; größer auf Server.
Was es verrät:
- Ein kurzes
$UsnJrnlmit einer hohen Start-USN. Wenn der erste Datensatz des Journals Stunden oder Minuten vor dem Vorfall liegt, auf einem Host, der seit Wochen online ist, wurde es unnatürlich schnell rotiert. Berechne die erwartete Rate. $LogFilerotiert nicht auf die gleiche Weise. Es ist auf das Volume dimensioniert und überschreibt nach einer anderen Politik. Operationen, die das USN-Journal hinausgeschoben haben, sind manchmal noch in$LogFile.- Die lauten Operationen selbst hinterlassen Tausende von MFT-Datensätzen. Die Tausende gewirbelter Dateien, die nötig sind, um das Journal zu wrappen, sind in
$MFTsichtbar. Die Technik ist laut.
$UsnJrnl-Löschung
fsutil usn deletejournal /D C: entfernt das Journal vollständig. Das neu erstellte Journal beginnt mit einem frischen USN-Zähler. Die Sequenznummer des $Extend\$UsnJrnl-MFT-Datensatzes erhöht sich, um die Löschung und Neuerstellung widerzuspiegeln.
Was es verrät:
- Erste USN verdächtig hoch oder erster Datensatz verdächtig aktuell. Ein frisch erstelltes
$UsnJrnl, dessen erster Datensatz nach dem Vorfall liegt, ist ein Hinweis. - Sequenznummer des
$Extend-Verzeichniseintrags erhöht. Der MFT-Datensatz für$UsnJrnlselbst hat eine höhere Sequenz als die Baseline. - VSS-Snapshots. Pre-Löschungs-Snapshots enthalten weiterhin das volle Original-Journal. Mounte sie mit
vshadowmountund extrahiere.
Malware in einen Systemdateinamen umbenennen
Ein Tool als svchost.exe, lsass.exe, cmd.exe oder eine andere vertraute Windows-Binärdatei tarnen. Streng genommen keine MFT-Anti-Forensik, aber es ist der häufigste Analysten-verwirrende Trick in freier Wildbahn.
Was es verrät:
$FILE_NAME-Eltern-Verzeichnisreferenz. Die legitimesvchost.exelebt inC:\Windows\System32. Eine Datei mit diesem Namen in\Users\bob\AppData\Local\Temp\ist es nicht. Prüfe die Eltern-Referenz, nicht nur den Namen.$DATA-Größe und -Hash. Die legitime Binärdatei ist gut bekannt. SHA-256 den Hochstapler und vergleiche. Mismatches sind sofort offensichtlich.Zone.Identifier-ADS, falls heruntergeladen.- Code-Signing. Microsoft-Binaries sind signiert. Prüfe die Authenticode-Signatur der On-Disk-Datei; der Hochstapler hat keine oder hat eine nicht-Microsoft-Signatur.
Hard-Link-Manipulation
Weniger verbreitet, aber wissenswert. Mehrere $FILE_NAME-Attribute am selben MFT-Datensatz lassen einen Angreifer dieselbe Nutzlast in zwei Verzeichnissen gleichzeitig erscheinen. Das Löschen von einem entfernt nur ein $FILE_NAME; die Datei lebt, bis der letzte Link weg ist.
Was es verrät:
hardlink_count-Feld im Datensatzkopf. Wenn ein Datensatz Count> 1hat, ist jedes$FILE_NAMEeiner der Links. Die MFT zeigt alle.$UsnJrnl-HARD_LINK_CHANGE-Grund bei Erstellung und Entfernung von Hard Links.
$LogFile-Manipulation
fsutil bietet keine "Logdatei löschen"-Option, aber das Log rotiert von selbst und Operationen, die das Volume füllen, können Einträge hinausschieben. Anspruchsvolle Operatoren versuchen gelegentlich, $LogFile zu säubern, um Transaktionsdatensätze rund um einen Vorfall zu entfernen.
Was es verrät:
$LogFileist gesperrt, während Windows läuft. Manipulation erfordert das Unmounten des Volumes, was selbst ein Ereignis ist.- VSS-Snapshots von vor der Manipulation halten weiterhin das volle Log.
Ransomware-MFT-Kritzeleien
Manche Ransomware-Familien (Petya, NotPetya, eine Handvoll seitdem) korrumpieren $MFT absichtlich, um das Volume nicht mountbar zu machen. Das ist destruktiv statt evasiv; das Ziel ist Denial of Service, nicht Heimlichkeit.
Was es verrät:
BAAD-Datensätze, woFILEstehen sollte. chkdsks Grabstein für nicht reparierbare Datensätze ist das, was NTFS nach dem Wipe hinterlässt. Manchmal schreibt der Schreiber keinBAAD, in welchem Fall die Datensätze unparsbar, aber per Signatur scannbar sind.- Ein nicht bootfähiges System, aber ein forensisch wertvolles Image. Die Datencluster sind meist intakt. Scanne das Volume per Signatur nach
FILE-Datensätzen und der Großteil der Tabelle ist lesbar. Siehe Ransomware-Muster in MFT für die Details.
Das allgemeine Prinzip
Jede Anti-Forensik-Technik auf NTFS hinterlässt irgendwo ein Artefakt. Der Grund ist strukturell: $MFT, $UsnJrnl, $LogFile und VSS erfassen jeweils eine andere Sicht auf dieselben Ereignisse. Der Angreifer, der die MFT säubert, hinterlässt USN-Einträge. Der Angreifer, der das USN-Journal löscht, hinterlässt eine frische $Extend\$UsnJrnl-Sequenznummer-Erhöhung und intakte VSS-Snapshots. Der Angreifer, der vssadmin delete shadows ausführt, hinterlässt Windows-Ereignisprotokolleinträge (System 8224, Application VSS 8194) und möglicherweise Sysmon Event ID 1 für den vssadmin.exe-Aufruf.
Triage, die alle vier NTFS-Artefakte plus Ereignisprotokolle und VSS durchläuft, ist es, was anspruchsvolle Operatoren fängt. Single-Artefakt-Triage übersieht sie.
Weiterführende Literatur
- Joakim Schicht, RawCopy und die
$Extend-Parser. Die Toolchain unter vielen Anti-Forensik-Untersuchungen. - MITRE ATT&CK, T1070 Indicator Removal. Untertechniken passen sauber auf die obigen Techniken.
- David Cowen, Forensic-Lunch-Folgen über NTFS-Anti-Forensik. Jahre an Praktiker-Fallstudien, die die Techniken in freier Wildbahn illustrieren.