Sysmon Event 23 (FileDelete) und Event 26 (FileDeleteDetected) protokollieren das Löschen von Dateien. Der Unterschied liegt in der Sicherung: Event 23 schreibt die gelöschte Datei zusätzlich in ein konfiguriertes Archivverzeichnis, Event 26 meldet das Löschen nur, ohne die Datei zu sichern. Beide nennen den auslösenden Prozess, den vollständigen Pfad und den Hash der Datei. Welches der beiden Events entsteht, bestimmt deine Sysmon-Konfiguration.
Für Verteidiger schließt das eine wichtige Lücke: Das Windows-Security-Log zeigt gelöschte Dateien nur mit Objektzugriffsüberwachung und passender SACL, Sysmon zeigt sie systemweit. Zwei Muster sind besonders relevant. Angreifer räumen nach der Ausführung ihre Werkzeuge weg, um Spuren zu beseitigen (ATT&CK T1070.004, Indicator Removal: File Deletion). Und vor einer Ransomware-Verschlüsselung löschen manche Familien die Originaldateien oder Schattenkopien. Die Archivfunktion von Event 23 ist dabei ein stiller Vorteil: Eine vom Angreifer gelöschte Datei liegt danach noch im Archiv und lässt sich analysieren.
Das Gegenstück ist die Dateierstellung in Sysmon Event 11. Zusammen zeigen beide den vollständigen Lebenszyklus: angelegt, ausgeführt, gelöscht. Nachträglich gefälschte Zeitstempel zeigt Sysmon Event 2.
Die wichtigsten Felder
Image: der Prozess, der gelöscht hat.TargetFilename: der vollständige Pfad der gelöschten Datei.Hashes: der Hash der Datei, zum Abgleich mit Threat Intelligence auch nach dem Löschen.User: das Konto, unter dem der Prozess lief.
Worauf du bei der Detection achtest
- Selbstlöschung von Werkzeugen: eine ausführbare Datei oder ein Skript, das aus einem Benutzer- oder Temp-Verzeichnis gestartet und kurz darauf gelöscht wird, oft durch denselben Prozess oder durch
cmd.exe. - Massenhaftes Löschen: viele Dateien in kurzer Zeit durch einen Prozess, ein Hinweis auf Ransomware oder Daten-Zerstörung. Das korreliert mit massenhaft neuen Dateien in Sysmon Event 11.
- Gelöschte Logs und Backups: Löschungen in Backup-Pfaden oder von Protokolldateien, oft zusammen mit Event 104.
Typische False Positives
Installer, Update-Routinen, Browser und Build-Werkzeuge löschen laufend temporäre Dateien. Reines FileDelete ist deshalb sehr laut. Filtere nach Dateityp (ausführbare Dateien und Skripte), nach Pfad (Benutzer- und Temp-Verzeichnisse) und nach dem Zusammenhang mit einem vorherigen Prozessstart. Die Archivfunktion von Event 23 nur für ausgewählte Pfade aktivieren, sonst läuft die Platte voll.
Voraussetzung
Sysmon muss installiert und so konfiguriert sein, dass FileDelete (Event 23) oder FileDeleteDetected (Event 26) erfasst wird. Event 23 braucht ein Archivverzeichnis und etwas Speicherplatz, Event 26 nicht. Beschränke die Regel in der Konfiguration auf relevante Pfade und Dateitypen, damit das Volumen beherrschbar bleibt.
Sigma-Regel (Beispiel)
title: Ausfuehrbare Datei aus verdaechtigem Pfad geloescht
id: 5ae5abc3-fd53-4ed9-896e-cb3406b2112e
status: experimental
description: Erkennt das Loeschen ausfuehrbarer Dateien oder Skripte aus Benutzer- und Temp-Verzeichnissen, ein typisches Aufraeumen von Werkzeugen nach der Ausfuehrung.
references:
- https://attack.mitre.org/techniques/T1070/004/
author: blue-team.net
tags:
- attack.stealth
- attack.t1070.004
logsource:
product: windows
category: file_delete
detection:
selection:
TargetFilename|endswith:
- '.exe'
- '.dll'
- '.ps1'
selection_path:
TargetFilename|contains:
- '\Temp\'
- '\Users\Public\'
- '\AppData\'
condition: selection and selection_path
falsepositives:
- Installer und Update-Routinen, die eigene temporaere Dateien aufraeumen
level: medium
---
title: Ausfuehrbare Datei aus verdaechtigem Pfad geloescht (ohne Archivierung)
id: f6ddb88b-ce6c-4814-8d4f-6fc9f04ea96c
status: experimental
description: Erkennt das Loeschen ausfuehrbarer Dateien oder Skripte aus Benutzer- und Temp-Verzeichnissen, ein typisches Aufraeumen von Werkzeugen nach der Ausfuehrung.
references:
- https://attack.mitre.org/techniques/T1070/004/
author: blue-team.net
tags:
- attack.stealth
- attack.t1070.004
logsource:
product: windows
category: file_delete_detected
detection:
selection:
TargetFilename|endswith:
- '.exe'
- '.dll'
- '.ps1'
selection_path:
TargetFilename|contains:
- '\Temp\'
- '\Users\Public\'
- '\AppData\'
condition: selection and selection_path
falsepositives:
- Installer und Update-Routinen, die eigene temporaere Dateien aufraeumen
level: mediumBeispielregel als Ausgangspunkt. Vor dem produktiven Einsatz an die eigene Umgebung, Log-Quellen und Ausnahmen anpassen.