Windows Event IDs im Fokus: Die 20 wichtigsten IDs für die Detection
Einleitung
Wer in Windows-Umgebungen Detection betreiben will, muss sein Event Log lesen können. Die meisten Angriffe hinterlassen Spuren in einer Handvoll spezifischer Event IDs – wer sie kennt, deckt 80 % der relevanten Aktivitäten ab. Dieser Artikel listet die 20 wichtigsten IDs mit MITRE-ATT&CK-Bezug und konkreten SIGMA-/KQL-Snippets.
Warum das Thema wichtig ist
Windows produziert täglich tausende Events. Ohne Filter ist das unbenutzbar – mit den richtigen Filtern wird daraus eine der mächtigsten Detection-Quellen, die du in deinem Netz hast. Viele KMU loggen zwar irgendwie, aber niemand schaut hin, weil unklar ist, worauf zu achten ist. Das Ergebnis: Brute-Force-Angriffe, Privilege-Escalation und Persistence-Mechanismen laufen wochenlang unbemerkt durch.
Voraussetzung: Audit Policy aktivieren
Ohne aktivierte Advanced Audit Policy liegen viele dieser Events gar nicht erst vor. Per GPO:
Computer Configuration → Windows Settings → Security Settings
→ Advanced Audit Policy Configuration
- Account Logon: Audit Credential Validation = Success + Failure
- Account Management: alle = Success + Failure
- Detailed Tracking: Audit Process Creation = Success
- Logon/Logoff: Audit Logon = Success + Failure
- Object Access: Audit Other Object Access Events = Success + Failure
- Policy Change: Audit Audit Policy Change = Success + Failure
Zusätzlich: Command Line in Process Creation Events aktivieren:
Detailed Tracking → Audit Process Creation:
"Include command line in process creation events" = Enabled
Die 20 wichtigsten Event IDs
Authentication & Logon
1. Event ID 4624 – Erfolgreiche Anmeldung
Logon Type entscheidet:
| Type | Bedeutung |
|---|---|
| 2 | Interaktiv (Konsole) |
| 3 | Network (SMB, RDP-Session-Etablierung) |
| 4 | Batch (geplante Tasks) |
| 5 | Service |
| 7 | Unlock (Bildschirmsperre) |
| 8 | NetworkCleartext |
| 10 | RemoteInteractive (RDP) |
| 11 | CachedInteractive |
Verdächtig: Logon Type 3 oder 10 außerhalb der Geschäftszeiten, aus ungewöhnlichen Quellen oder mit privilegierten Accounts.
2. Event ID 4625 – Fehlgeschlagene Anmeldung
Wichtigster Indikator für Brute-Force und Password-Spray. Sub Status Code zeigt den Grund:
0xC000006A– falsches Passwort0xC0000064– User existiert nicht0xC0000234– Account gesperrt0xC0000072– Account deaktiviert
Detection: > 10 × 4625 für denselben User in 5 Minuten = Brute-Force. Viele 4625 für viele User mit 0xC000006A = Password Spray (MITRE T1110.003).
3. Event ID 4634 / 4647 – Logoff
Korrelation mit 4624 zur Session-Length-Berechnung.
4. Event ID 4648 – Anmeldung mit expliziten Credentials
runas oder net use mit anderen Credentials. Indikator für Pass-the-Hash, Lateral Movement (T1078).
5. Event ID 4672 – Special Privileges Assigned
User mit Admin-Rechten meldet sich an. Korrelation mit Account-Whitelist – jeder andere User ist verdächtig.
6. Event ID 4768 / 4769 – Kerberos TGT / Service Ticket Request
4769 mit RC4-Verschlüsselung (Ticket Encryption Type: 0x17) ist ein Kerberoasting-Indikator (T1558.003). Modernes AD nutzt AES; RC4-Anfragen für Service-Tickets sind Old-School und meist bösartig.
7. Event ID 4776 – NTLM Authentication
Sollte in modernen AD-Umgebungen selten sein. Spike = Lateral Movement oder Legacy-Service-Probleme.
Account Management
8. Event ID 4720 – User Account Created
Manuell angelegte Accounts außerhalb von HR-Onboarding-Prozessen sind verdächtig (T1136.002).
9. Event ID 4728 / 4732 / 4756 – Mitglied zu privilegierter Gruppe hinzugefügt
4728 = Global Group, 4732 = Local Group, 4756 = Universal Group. Privilege Escalation oder Persistence (T1098).
10. Event ID 4738 – User Account Changed
Passwort-Änderungen, UAC-Flag-Änderungen. Insbesondere passwordnotrequired-Flag ist ein Red Flag.
Process Execution
11. Event ID 4688 – Process Creation
Mit aktivierter Command-Line-Erfassung der wichtigste Detection-Event überhaupt. Was du suchst:
- PowerShell mit Encoded Commands:
powershell.exe -enc <base64>(T1059.001, T1027) - rundll32 mit verdächtigen DLLs:
rundll32.exe javascript:... - wmic / mshta als Execution-Wrapper (T1218)
- certutil als Downloader:
certutil.exe -urlcache -f http://... - Office-Apps spawnen cmd/powershell (Macro-Execution, T1204.002)
Beispiel-SIGMA-Snippet:
title: Suspicious PowerShell Execution
detection:
selection:
EventID: 4688
NewProcessName|endswith: '\powershell.exe'
CommandLine|contains:
- '-enc'
- '-EncodedCommand'
- 'IEX'
- 'DownloadString'
condition: selection
Object Access
12. Event ID 4663 – Object Access
Datei-/Registry-Zugriff. Nur sinnvoll mit definierten SACLs auf sensiblen Pfaden.
13. Event ID 4670 – Permissions Changed
Änderung von Berechtigungen auf Files/Registry. Oft Persistence-Setup.
Persistence
14. Event ID 4698 / 4702 – Scheduled Task Created / Updated
Klassische Persistence-Technik (T1053.005). Kombiniert mit 4688 (schtasks.exe) lassen sich CLI-erstellte Tasks gut tracken.
15. Event ID 7045 – New Service Installed
Service-Persistence (T1543.003). Insbesondere Service-Pfade in %TEMP%, %APPDATA% oder mit ungewöhnlichen Binärnamen sind verdächtig.
Defense Evasion
16. Event ID 4719 – Audit Policy Changed
Angreifer schalten Logging ab, um Spuren zu verwischen (T1562.002).
17. Event ID 1102 – Security Log Cleared
Eines der lautesten Indikatoren überhaupt (T1070.001). Sollte nie regulär passieren – jeder Cleared-Event ist eskalationswürdig.
PowerShell
18. Event ID 4103 – PowerShell Module Logging
Pipeline-Execution mit Parametern. Quelle: Microsoft-Windows-PowerShell/Operational.
19. Event ID 4104 – PowerShell Script Block Logging
Vollständiger Script-Inhalt – auch deobfuskiert. Wenn du nur eine PowerShell-ID aktivieren kannst, dann diese.
Network
20. Event ID 5140 / 5145 – Network Share Access
Detail-Zugriffe auf SMB-Shares. Wichtig für Lateral-Movement-Detection (T1021.002) und Detection von SMB-Enumeration.
Sysmon als Ergänzung
Wenn du Sysmon installierst, bekommst du zusätzlich:
- Sysmon 1 – Process Creation mit Hash und Parent (oft besser als 4688)
- Sysmon 3 – Network Connection
- Sysmon 7 – Image Loaded (DLL-Injection)
- Sysmon 10 – Process Access (LSASS-Dumping → T1003.001)
- Sysmon 11 – File Created (Drop-Detection)
Sysmon ersetzt 4688 nicht, aber ergänzt es um Daten, die im Standard-Event-Log fehlen.
Einfaches KQL-Beispiel (Microsoft Sentinel)
SecurityEvent
| where TimeGenerated > ago(1h)
| where EventID == 4625
| summarize FailCount = count() by TargetUserName, IpAddress
| where FailCount > 10
| order by FailCount desc
Detection für Brute-Force – in einer Zeile.
Praxis-Checkliste
- Advanced Audit Policy per GPO ausgerollt
- Command Line in Process Creation Events aktiviert
- PowerShell Module + Script Block Logging aktiv
- Sysmon mit SwiftOnSecurity-Config ergänzt
- Event-Log-Forwarding (WEF) oder NXLog/Winlogbeat zum SIEM aktiv
- Detection-Regeln für 4625, 4688, 4698, 7045, 1102 hinterlegt
- Logon Type 3/10 mit privilegierten Accounts gesondert beobachtet
- Quartalsweise Review: Welche IDs liefern False Positives, welche fehlen?
Fazit
Du brauchst kein Enterprise-SIEM, um aus Windows Event Logs ernsthafte Detection zu betreiben. Aktiviere die Advanced Audit Policy, ergänze Sysmon, und konzentriere dich auf diese 20 IDs. Mit dem Setup deckst du Brute-Force, Privilege Escalation, Persistence und die meisten Living-off-the-Land-Techniken ab.
Wenn du tiefer einsteigen willst: Im Newsletter zeige ich jeden Monat konkrete SIGMA-Rules, KQL-Queries und neue Detection-Ansätze. Trag dich ein.