Windows-Sicherheitsereignis-IDs, die wirklich zählen
Praxisreferenz der Windows-Ereignis-IDs, die sich zu erfassen und alarmieren lohnen: Anmeldungen, Fehlercodes, Kerberos, Kontoänderungen, Persistenz, Manipulation.
Windows protokolliert Hunderte Ereignis-IDs. Einige Dutzend beantworten fast jede Frage einer Untersuchung. Diese Referenz listet sie auf, erklärt ihre Bedeutung, die relevanten Felder und die Fallstricke, über die Analysten stolpern. Sie ergänzt die Baseline für Überwachungsrichtlinie und Sysmon, die beschreibt, welche Überwachungsunterkategorien Sie einschalten sollten. Hier geht es darum, das Ergebnis zu lesen und zu nutzen.
Sofern nicht anders angegeben, stehen die Ereignisse im Security-Log. Ereignisse von Domänencontrollern sind mit DC markiert.
Anmeldetypen
Ereignis 4624 (und 4625) enthält einen Logon Type, der angibt, wie sich jemand angemeldet hat. Lernen Sie diese Typen vor allem anderen:
| Typ | Name | Typische Ursache |
|---|---|---|
| 2 | Interactive | Anmeldung an der Konsole, einschließlich RunAs |
| 3 | Network | SMB-Freigabe, WinRM, Remoteausführung im Stil von PsExec, die meiste Remoteadministration |
| 4 | Batch | Geplante Aufgabe |
| 5 | Service | Dienst, der unter einem Konto gestartet wird |
| 7 | Unlock | Arbeitsstation entsperrt |
| 8 | NetworkCleartext | Anmeldedaten im Klartext an den Server gesendet, etwa IIS-Standardauthentifizierung |
| 9 | NewCredentials | runas /netonly; lokale Identität unverändert, neue Anmeldedaten im Netzwerk verwendet |
| 10 | RemoteInteractive | RDP |
| 11 | CachedInteractive | Domänenanmeldung mit zwischengespeicherten Anmeldedaten, kein DC erreichbar |
Anmeldungen vom Typ 3 durch Admin-Konten an Arbeitsplätzen, vom Typ 10 an Servern von Nicht-Admin-Hosts und vom Typ 9 irgendwo außerhalb von Admin-Arbeitsplätzen verdienen alle einen zweiten Blick.
Authentifizierung und Sitzungen
| ID | Bedeutung | Zu lesende Felder |
|---|---|---|
| 4624 | Erfolgreiche Anmeldung | Logon Type, Account, Source Network Address, Workstation, Authentication Package, Elevated Token, Logon ID |
| 4625 | Fehlgeschlagene Anmeldung | Status und Sub Status, Logon Type, Quelladresse |
| 4634 / 4647 | Abmeldung / vom Benutzer initiierte Abmeldung | Logon ID zum Abgleich mit 4624 |
| 4648 | Anmeldung mit expliziten Anmeldedaten | Prozess, Zielserver, verwendetes Konto |
| 4672 | Neuer Anmeldung besondere Berechtigungen zugewiesen | Adminäquivalente Sitzung; Logon ID |
| 4740 | Konto gesperrt (DC) | Caller Computer Name: woher die fehlerhaften Versuche kamen |
| 4767 | Konto entsperrt | Wer es entsperrt hat |
| 4778 / 4779 | Sitzung wiederverbunden / getrennt | RDP oder schnelle Benutzerumschaltung, Clientname und -adresse |
Korrelieren Sie 4624 und 4672 über die Logon ID: So sehen Sie, welche Anmeldungen privilegiert waren. Authentication Package NTLM mit Package Name NTLM V1 sollte es in einem modernen Netzwerk nicht geben. Überwachen Sie es und bauen Sie es im Rahmen Ihrer NTLM-Einschränkung ab.
Bei 4625 verrät der Sub Status den Grund:
| Sub Status | Bedeutung |
|---|---|
| 0xC0000064 | Konto existiert nicht |
| 0xC000006A | Falsches Kennwort |
| 0xC0000234 | Konto gesperrt |
| 0xC0000072 | Konto deaktiviert |
| 0xC0000193 | Konto abgelaufen |
| 0xC0000071 | Kennwort abgelaufen |
| 0xC0000224 | Kennwort muss bei der nächsten Anmeldung geändert werden |
| 0xC000006F / 0xC0000070 | Außerhalb der Anmeldezeiten / Arbeitsstationsbeschränkung |
| 0xC000015B | Anmeldetyp nicht gewährt (Zuweisen von Benutzerrechten) |
Viele 0xC0000064-Fehler von einer Quelle bedeuten, dass jemand Kontonamen rät. Viele 0xC000006A-Fehler über verschiedene Konten von einer Quelle bedeuten Password Spraying. Wiederholte 0xC000015B für Admin-Konten an Arbeitsplätzen sind oft Ihre Tiering-Einschränkungen, die wie vorgesehen greifen.
Domänencontroller: Kerberos und NTLM
| ID | Bedeutung | Worauf achten |
|---|---|---|
| 4768 | Kerberos-TGT angefordert | Pre-Authentication Type 0: Konto erfordert keine Vorauthentifizierung (anfällig für AS-REP Roasting) |
| 4769 | Kerberos-Dienstticket angefordert | Ticket Encryption Type 0x17 (RC4) für Dienstkonten, die AES unterstützen: Kerberoasting-Muster |
| 4771 | Kerberos-Vorauthentifizierung fehlgeschlagen | Fehlercode 0x18 falsches Kennwort, 0x12 Konto deaktiviert/gesperrt/abgelaufen, 0x17 Kennwort abgelaufen, 0x25 Zeitabweichung |
| 4776 | NTLM-Anmeldedatenvalidierung | Fehler 0xC000006A / 0xC0000064; auf einem Mitgliedsserver bedeutet es, dass ein lokales Konto verwendet wurde |
Verschlüsselungstypen in 4768/4769: 0x11 ist AES128, 0x12 ist AES256, 0x17 ist RC4. Während Domänen sich von RC4 verabschieden, verweisen verbleibende 0x17-Tickets auf Konten oder Dienste, die korrigiert werden müssen. Unter Windows Server 2019 und neuer sowie unter Server 2016 seit dem kumulativen Update vom Januar 2025 enthalten 4768 und 4769 außerdem MSDS-SupportedEncryptionTypes, Available Keys, Advertized Etypes (was der Client angeboten hat) und Session Encryption Type. Diese Felder zeigen, ob ein Konto oder Client AES beherrscht, bevor Sie RC4 abschalten.
Verzeichnis- und Kontoänderungen
| ID | Bedeutung |
|---|---|
| 4720 / 4726 | Benutzerkonto erstellt / gelöscht |
| 4722 / 4725 | Benutzerkonto aktiviert / deaktiviert |
| 4723 / 4724 | Versuch der Kennwortänderung durch den Benutzer / Kennwortzurücksetzung durch jemand anderen |
| 4738 | Benutzerkonto geändert (UAC-Flags, SPN-bezogene Änderungen, Kennwort läuft nie ab) |
| 4728 / 4729 | Mitglied zu globaler Sicherheitsgruppe hinzugefügt / daraus entfernt |
| 4732 / 4733 | Mitglied zu lokaler oder domänenlokaler Sicherheitsgruppe hinzugefügt / daraus entfernt |
| 4756 / 4757 | Mitglied zu universeller Sicherheitsgruppe hinzugefügt / daraus entfernt |
| 4741 / 4742 | Computerkonto erstellt / geändert (DC) |
| 4794 | Versuch, das DSRM-Administratorkennwort zu setzen (DC) |
| 5136 | Verzeichnisobjekt geändert (DC, erfordert Directory Service Changes und SACLs) |
| 4662 | Vorgang an einem Verzeichnisobjekt ausgeführt (DC, erfordert Directory Service Access und SACLs) |
| 4798 / 4799 | Lokale Gruppenmitgliedschaft aufgezählt (Aufklärung, laut) |
Alarmieren Sie bei 4728, 4732 und 4756, wenn die Gruppe privilegiert ist: Domain Admins, Enterprise Admins, Administrators, Account Operators, Backup Operators, DnsAdmins, Group Policy Creator Owners und Ihre eigenen Tier-0-Gruppen.
DCSync erscheint als 4662 auf einem DC, wenn die Eigenschaften die GUIDs der Replikationsrechte 1131f6aa-9c07-11d1-f79f-00c04fc2dcd2 (Get-Changes) und 1131f6ad-9c07-11d1-f79f-00c04fc2dcd2 (Get-Changes-All) enthalten und das anfordernde Konto kein Domänencontroller ist.
Ausführung und Persistenz
| ID | Log | Bedeutung |
|---|---|---|
| 4688 | Security | Prozess erstellt (Befehlszeilen-Erfassung aktivieren) |
| 4697 | Security | Dienst installiert (Unterkategorie Security System Extension) |
| 7045 | System | Dienst installiert (Dienststeuerungs-Manager, wird immer protokolliert) |
| 7040 | System | Starttyp eines Dienstes geändert |
| 4698 / 4702 | Security | Geplante Aufgabe erstellt / aktualisiert |
| 4699 / 4700 / 4701 | Security | Geplante Aufgabe gelöscht / aktiviert / deaktiviert |
| 106 / 140 / 141 | Microsoft-Windows-TaskScheduler/Operational | Aufgabe registriert / aktualisiert / gelöscht (Log ist oft standardmäßig deaktiviert; aktivieren Sie es) |
| 4657 | Security | Registrierungswert geändert (nur mit SACL auf dem Schlüssel) |
| 5140 | Security | Auf Netzwerkfreigabe zugegriffen (Unterkategorie File Share) |
Das Aufgaben-XML in 4698 enthält den Befehl, den die Aufgabe ausführt: Lesen Sie es, statt nur Ereignisse zu zählen. Für Details auf Prozessebene über 4688 hinaus siehe Sysmon verteilen und optimieren.
Manipulation und Richtlinienänderungen
| ID | Log | Bedeutung |
|---|---|---|
| 1102 | Security | Sicherheitsprotokoll gelöscht |
| 104 | System | Anderes Ereignisprotokoll gelöscht |
| 4719 | Security | Systemüberwachungsrichtlinie geändert |
| 4616 | Security | Systemzeit geändert |
| 4907 | Security | Überwachungseinstellungen (SACL) eines Objekts geändert |
| 5001 | Microsoft-Windows-Windows Defender/Operational | Echtzeitschutz deaktiviert |
| 5007 | Microsoft-Windows-Windows Defender/Operational | Defender-Konfiguration geändert (einschließlich Ausschlüssen) |
| 5013 | Microsoft-Windows-Windows Defender/Operational | Manipulationsschutz hat eine Änderung blockiert |
| 1116 / 1117 | Microsoft-Windows-Windows Defender/Operational | Schadsoftware erkannt / Aktion ausgeführt |
Jedes dieser Ereignisse sollte selten sein. 1102, 104 und 4719 außerhalb eines Änderungsfensters sind für sich genommen starke Indikatoren. Defender-Ereignisse werden in Microsoft Defender Antivirus härten ausführlicher behandelt.
Remotezugriff und PowerShell
| ID | Log | Bedeutung |
|---|---|---|
| 1149 | Microsoft-Windows-TerminalServices-RemoteConnectionManager/Operational | RDP-Netzwerkauthentifizierung erfolgreich, mit Quelladresse |
| 21 / 24 / 25 | Microsoft-Windows-TerminalServices-LocalSessionManager/Operational | RDP-Sitzung: Anmeldung / Trennung / Wiederverbindung |
| 4104 | Microsoft-Windows-PowerShell/Operational | Skriptblock protokolliert |
| 400 | Windows PowerShell | Engine gestartet, mit Host- und Engine-Version |
RDP hinterlässt Spuren an drei Stellen (Security 4624 Typ 10, 1149 und 21). Fehlt eine, haben Sie noch die anderen. Härten Sie den Dienst selbst mit dem Leitfaden zur RDP-Härtung. Hunting-Muster für PowerShell finden Sie unter Bösartiges PowerShell erkennen.
Ereignisse abfragen
Get-WinEvent mit einer Filter-Hashtable ist schnell, weil die Filterung im Ereignisprotokolldienst stattfindet:
# Fehlgeschlagene Anmeldungen der letzten 24 Stunden, gruppiert nach Konto, Quelle und Grund
Get-WinEvent -FilterHashtable @{ LogName = 'Security'; Id = 4625; StartTime = (Get-Date).AddDays(-1) } |
ForEach-Object {
$d = @{}; ([xml]$_.ToXml()).Event.EventData.Data | ForEach-Object { $d[$_.Name] = $_.'#text' }
[pscustomobject]@{ Account = $d.TargetUserName; Source = $d.IpAddress; SubStatus = $d.SubStatus }
} | Group-Object Account, Source, SubStatus | Sort-Object Count -Descending | Select-Object -First 20 Count, NameUm nach Feldern der Ereignisdaten zu filtern, verwenden Sie XPath:
# RDP-Anmeldungen
Get-WinEvent -LogName Security -MaxEvents 50 `
-FilterXPath "*[System[EventID=4624] and EventData[Data[@Name='LogonType']='10']]"
# RC4-Diensttickets auf einem DC
Get-WinEvent -LogName Security -MaxEvents 100 `
-FilterXPath "*[System[EventID=4769] and EventData[Data[@Name='TicketEncryptionType']='0x17']]"Lokale Abfragen dienen der Untersuchung und dem Testen. Für die Erkennung senden Sie diese Ereignisse per Windows Event Forwarding oder Agent an einen zentralen Speicher.
Was kaputtgeht
- Fehlende Ereignisse bedeuten meist, dass die Unterkategorie deaktiviert ist, das Log übergelaufen ist oder eine SACL fehlt.
auditpol /get /category:*zeigt die effektive Richtlinie. - Volumen: 4624, 4634, 4688, 4769 und 5140 sind auf Servern und DCs sehr häufig. Erfassen Sie sie, aber alarmieren Sie auf Aggregate und Anomalien statt auf Einzelereignisse.
- Falsch gelesene Felder: 4624 auf einem Server zeigt die Sicht des Servers; die Quelladresse kann ein NAT, ein Proxy oder bei lokalen Anmeldungen leer sein. 4740 erscheint auf Domänencontrollern, nicht auf dem Client.
- Lokalisierte Meldungen: Werten Sie Felder aus dem Ereignis-XML aus, nicht aus dem gerenderten Meldungstext, der sich mit der Sprache des Betriebssystems ändert.
Überprüfung
Erzeugen Sie auf einem Testrechner und einem Test-DC einige Ereignisse und bestätigen Sie, dass sie protokolliert und weitergeleitet werden: eine fehlgeschlagene Anmeldung mit falschem Kennwort (4625, 0xC000006A), ein Testbenutzer, der einer Testgruppe hinzugefügt wird (4732 oder 4728), eine mit Register-ScheduledTask erstellte geplante Aufgabe (4698) und ein mit New-Service erstellter Dienst (7045, 4697). Entfernen Sie die Testobjekte anschließend. Erscheint ein Ereignis nicht, korrigieren Sie die Überwachungsrichtlinie, bevor Sie Erkennungen darauf aufbauen. Mehr zum Logging-Stack auf der Themenseite Überwachung und Protokollierung.
Checkliste
- Anmeldetypen und Unterstatuscodes von 4625 jedem Analysten bekannt
- Überwachungsunterkategorien und SACLs vorhanden, damit jedes aufgeführte Ereignis tatsächlich ausgelöst werden kann
- Alarme für 1102, 104, 4719, 7045/4697, Änderungen privilegierter Gruppen und Defender 5001/5013
- Kerberos-Überwachung auf DCs: RC4-Tickets, deaktivierte Vorauthentifizierung, Spitzen bei 4771
- DCSync-Erkennung über 4662 mit Replikations-GUIDs von Konten ohne DC-Rolle
- Task-Scheduler-Operational-Log aktiviert; RDP-Logs erfasst
- Abfragen werten XML-Felder der Ereignisse aus, nicht gerenderte Meldungen
- Testereignisse nach jeder Richtlinienänderung erzeugt und durchgängig bestätigt
Häufige Fragen
Warum sehe ich einige dieser Ereignisse auf meinen Rechnern nicht?
Die meisten Ereignisse des Sicherheitsprotokolls erscheinen nur, wenn die passende Unterkategorie der erweiterten Überwachungsrichtlinie aktiviert ist, und einige benötigen zusätzlich einen Überwachungseintrag (SACL) auf dem Objekt, etwa einem Registrierungsschlüssel oder dem Domänenstamm. Prüfen Sie die effektive Richtlinie mit auditpol /get /category:* und vergleichen Sie sie mit der Baseline, bevor Sie annehmen, dass nichts passiert ist.
Bei welchen Ereignissen sollte ich zuerst alarmieren?
Beginnen Sie mit seltenen Ereignissen mit hoher Aussagekraft: Sicherheitsprotokoll gelöscht (1102), andere Logs gelöscht (104), neue Dienste (7045 und 4697), Aufnahmen in privilegierte Gruppen (4728, 4732, 4756 für Admin-Gruppen), deaktivierter Defender-Schutz (5001) und Replikationsrechte, die von Konten ohne DC-Rolle genutzt werden (4662). Sie treten selten auf und verdienen fast immer einen Blick.
Reicht Ereignis 4625 allein, um Password Spraying zu erkennen?
Es ist das zentrale Signal, muss aber aggregiert werden. Spraying zeigt sich als viele verschiedene Konten, die von einer Quelle mit dem Unterstatus für falsches Kennwort scheitern, zeitlich verteilt, um Sperrungen zu vermeiden. Beobachten Sie auf Domänencontrollern zusätzlich 4771 mit Fehlercode 0x18 und 4776 mit 0xC000006A, da der Versuch statt über eine interaktive Anmeldung auch über Kerberos oder NTLM laufen kann.
Windows-Sicherheitsereignis-IDs, die wirklich zählen