Ransomware-Aktivität im USN Journal erkennen

Selbst wenn die Binärdatei weg ist, hinterlässt Ransomware einen sehr charakteristischen Fingerabdruck in $UsnJrnl:$J. Ein Durchgang durch die Muster, nach denen man suchen muss, mit den passenden Reason-Code-Kombinationen.

Von 5 Min. Lesezeit

Ransomware ist eines der saubersten Signale, das Sie je im USN Journal lesen werden. Was auch immer der Operator upstream getan hat — Credential-Diebstahl, laterale Bewegung, Persistenz-Implantate, Shadow-Copy-Löschung — die Verschlüsselungsphase berührt das Dateisystem mit einem einheitlichen, hochvolumigen, monoton ansteigenden Muster, das sich noch Monate später vom umgebenden Rauschen abhebt. Jeder Operator, auf den ich je reagiert habe, hat versucht, einen Teil der Kill Chain zu tarnen. Niemand hat bisher herausgefunden, wie man das Verschlüsseln zehntausender Dateien in fünf Minuten tarnt.

Dieser Beitrag ist das Playbook, um dieses Muster zu finden. Das Setup geht davon aus, dass Sie bereits $J gezogen und geparst haben und dass die Reason-Bitmaske kein Rätsel mehr ist.

Das kanonische Encrypt-Phase-Muster

Die meiste moderne Ransomware (LockBit 3.0, BlackCat/ALPHV, Royal, Akira, die verschiedenen Post-Conti-Ableger, Play, Black Basta) folgt demselben Drei-Schritte-Rezept pro Datei:

  1. Datei zum Lesen öffnen.
  2. Inhalt in place überschreiben oder eine neue Datei daneben schreiben und das Original löschen.
  3. Umbenennen, um eine Marker-Erweiterung hinzuzufügen (.locked, .lockbit, einen 8-bis-16-stelligen Zufallsstring oder bei einigen Familien gar keine).

Im Journal produziert das pro Datei:

DataOverwrite | Close
DataOverwrite | Close
...           ← einer pro Schreibblock
RenameOldName | Close   (alt: document.docx)
RenameNewName | Close   (neu: document.docx.locked)

Über Tausende von Dateien in wenigen Minuten. Die beiden diagnostischen Signale sind:

Bursts von DataOverwrite innerhalb eines kurzen Zeitfensters. Normale Windows-Aktivität produziert selten anhaltendes DataOverwrite auf Nicht-Datenbankdateien. Office-Save, Browser-Cache-Kompaktierung und IDE-Rebuilds produzieren transiente Spikes; Ransomware produziert einen monotonen Boden, der nicht nachlässt, bis dem Host die Dateien zum Verschlüsseln ausgehen oder der Operator die Binärdatei stoppt.

Massenhafte RenameNewName-Ereignisse mit einem eng geclusterten neuen-Namen-Suffix. Das Verhältnis von RenameNewName zu insgesamt aktiven Dateien explodiert während der Verschlüsselung. Die Cluster-Signatur — derselbe feste String oder dasselbe .{8}-Zufallsmuster bei 80 %+ der Umbenennungen im Fenster — ist das, was Ransomware von jeder legitimen Arbeitslast trennt.

Das entspricht primär T1486 Data Encrypted for Impact in MITRE ATT&CK, mit angrenzenden Journal-Beweisen, die T1490 (Inhibit System Recovery) und T1485 (Data Destruction) abdecken.

Ein Erkennungsrezept, das vor Gericht standhält

Beim Durcharbeiten eines geparsten Journals:

  1. DataOverwrite pro Minute histogrammieren. Nach Minute bucketten und nach der Klippe suchen. Ein Baseline-Windows-Host läuft mit einstelligen DataOverwrite-Werten pro Minute. Verschlüsselung steigt auf das 50-500-fache davon und bleibt dort. Plotten Sie es oder pivotieren Sie in einer Tabellenkalkulation — die Form sagt es Ihnen sofort.
  2. RenameNewName-Ereignisse nach neuer Erweiterung clustern. Auf die Erweiterung des neuen Namens oder auf eine Regex über den neuen Namen gruppieren. Wenn 80 %+ der Umbenennungen in einem Fenster einen identischen Suffix teilen oder demselben Zufallsmuster fester Länge entsprechen, ist das ein Encryptor.
  3. FileDelete | Close mit FileCreate von gleicher-Stamm-andere-Erweiterung paaren. Einige Familien (LockBits ältere Varianten darunter) schreiben Chiffretext in eine neue Datei und löschen das Original. Suchen Sie nach einem FileCreate, dessen Stamm zu einer kürzlich gelöschten Datei passt, beide in derselben Wanduhr-Sekunde. Gleiche FileReferenceNumber auf dem Create wie bei einer kürzlichen Umbenennung ist schlüssig.
  4. Die übergeordneten Verzeichnisse über $MFT durchlaufen. Lösen Sie die übergeordnete Referenz für die betroffenen Dateien auf. Ransomware durchwalzt Benutzerprofile, gemappte Netzwerklaufwerke und Users\Public\. Ein auf ein einzelnes Unterverzeichnis beschränkter Scope ist viel wahrscheinlicher Office-Autosave oder ein schiefgelaufenes Backup-Tool.

Der Parser auf dieser Seite stellt das Per-Reason-Filtering direkt zur Verfügung. Setzen Sie ihn für Schritt 1 auf DataOverwrite und für Schritt 2 auf RenameNewName. Schritte 3 und 4 wollen einen CSV-Export und eine Pivottabelle.

Wie es bei echten Daten aussieht

Ein redigierter Auszug aus einem LockBit-3.0-Fall, an dem ich gearbeitet habe:

2024-04-12T03:14:08Z  DataOverwrite Close   C:\Users\ana\Desktop\notes.docx
2024-04-12T03:14:08Z  DataOverwrite Close   C:\Users\ana\Desktop\notes.docx
2024-04-12T03:14:08Z  DataOverwrite Close   C:\Users\ana\Desktop\notes.docx
2024-04-12T03:14:08Z  RenameOldName Close   C:\Users\ana\Desktop\notes.docx
2024-04-12T03:14:08Z  RenameNewName Close   C:\Users\ana\Desktop\notes.docx.HLJkNskOq
2024-04-12T03:14:08Z  DataOverwrite Close   C:\Users\ana\Desktop\quarterly.xlsx
...

Jede Datei im Verzeichnis verschlüsselt innerhalb derselben Wanduhr-Sekunde. Die neue Erweiterung ist ein einheitlicher neunstelliger Zufallsstring — ein starkes Cluster-Signal für Schritt 2 und der Marker, den LockBit 3.0 verwendet, um Chiffretext an den operator-spezifischen Keystream zu binden.

Jenseits der Encrypt-Phase

Das Journal fängt auch vorbereitendes und Aufräumverhalten rund um den Burst ein.

Shadow-Copy-Löschung ist nicht direkt in $J sichtbar — VSS-Zustand lebt in $WSC-verwalteten Namensräumen — aber operator-gestartete vssadmin.exe, wmic.exe shadowcopy delete, wbadmin.exe delete catalog und bcdedit.exe /set-Aufrufe berühren alle temporäre Dateien in \Windows\Temp\ oder \Users\<u>\AppData\Local\Temp\. Diese FileCreate-Einträge erscheinen Momente vor dem Verschlüsselungs-Burst. Paaren Sie mit Sysmon Event 1 für den tatsächlichen Prozessbaum.

Discovery-Scans sind dem Journal größtenteils unsichtbar — nur lesende Verzeichnis-Enumerationen produzieren nichts. Aber Tool-Drops schon. adfind.exe, PsExec.exe, BloodHounds SharpHound-Output und ähnliches Tooling produzieren FileCreate-Ereignisse in ihren Arbeitsverzeichnissen, normalerweise in \ProgramData\, \Users\Public\ oder \Users\<u>\AppData\Local\Temp\.

Ransom-Note-Lieferung. Jede moderne Familie wirft eine Notiz in jedes verschlüsselte Verzeichnis. README.txt, HOW_TO_DECRYPT.html, restore-my-files.txt, familien-spezifische Namen. Ein FileCreate desselben Dateinamens über viele übergeordnete Verzeichnisse in derselben Minute ist die faule Regex, die die überwältigende Mehrheit von ihnen fängt.

Pre-Encrypt-Staging. Einige Operatoren stagen Exfiltration, bevor sie verschlüsseln — siehe den Exfil-Erkennungs-Beitrag. Suchen Sie nach Archiv-FileCreate-Ereignissen mit .zip-, .7z-, .rar-Erweiterungen in der Stunde vor dem Verschlüsselungs-Burst.

Was das Journal Ihnen nicht sagen wird

Das Journal zeichnet Änderungen auf, nicht Akteure. Um einen Benutzer oder einen Prozess dem Verschlüsselungs-Burst zuzuordnen:

  • Security.evtx Event 4663 (Object Access) — erfordert vorab konfigurierte SACLs, die fast nie konfiguriert sind.
  • Microsoft-Windows-Sysmon%4Operational.evtx Event 11 (File Create) und Event 1 (Process Create) — der Goldstandard, wenn Sysmon ausgerollt war.
  • Prefetch und AmCache für die Ransomware-Binärdatei selbst, selbst nachdem der Operator sie gelöscht hat.

Für das breitere Response-Playbook ist CISAs #StopRansomware-Leitfaden die maßgebliche Referenz.

Ransomware von legitimen Bursts unterscheiden

Einige reale Arbeitslasten können beim falschen Filter oberflächlich wie Ransomware aussehen:

BitLocker-Initial-Konvertierung produziert kontinuierliches DataOverwrite, aber kein RenameNewName. Ransomware benennt immer um. Wenn Ihr RenameNewName-Zähler flach ist, ist es keine Ransomware.

Backup-Software (Veeam, Macrium, Acronis) produziert DataOverwrite auf dem Zielvolume, nicht auf den Documents und Desktop des Benutzers. Querprüfen Sie Benutzer und Pfad.

Office-Autosave und Visual-Studio-Rebuilds spiken für ein paar Sekunden und hören auf. Ransomware ist monoton. Das Per-Minute-Histogramm macht das offensichtlich.

Disk-Image-Wiederherstellung schreibt große Datenmengen, aber zu einem \\?\Volume{...}-Gerätepfad, nicht zu einem Benutzerprofil. Die Auflösung des übergeordneten Verzeichnisses fängt das ab.

Wenn Ihre Detection-Logik bei einer gesunden Baseline null Alerts produziert, ist sie unterspezifiziert. Das Signal, das Sie wollen, ist die Kombination aus DataOverwrite-Rate, RenameNewName-Rate und Same-Extension-Clustering — nicht eines davon allein.

Weiterführende Literatur

  • CISA, #StopRansomware-Leitfaden — das maßgebliche End-to-End-Response-Playbook.
  • The DFIR Reports LockBit-3.0-Walkthrough und ähnliche Langformat-Intrusion-Writeups — die beste öffentliche Quelle für die Wanduhr-Kadenz eines echten Ransomware-Einsatzes.
  • Microsoft Defender Research, Ransomware-as-a-service — nützlich als operator-seitiger Kontext für das, was Ihre Journal-Beweise tatsächlich repräsentieren.