Wie man fehlgeschlagene Anmeldeversuche über das Sicherheitsprotokoll erkennt, welche Anmeldetypen kritisch sind, die Bedeutung von SubStatus-Codes und SQL-Regeln für Echtzeitalarme.
Fehlgeschlagene Anmeldeversuche, Angriffeist das häufigste Startsignal. Fast alle Angreifer, von Ransomware-Banden bis hin zu Penetrationstestteams, versuchen, AnmeldeInformationen zu erraten, um ersten Zugriff auf Windows-Systeme zu erhalten. Gute Nachrichten: Windows schreibt diese Versuche in das Sicherheitsprotokoll. Schlechte Nachrichten:Niemand liest diese Protokolle.
In diesem Leitfaden gehen wir ausführlich auf die Windows-Ereignis-ID 4625 ein: Welche Felder sind wichtig, was LogonTypes bedeuten, wie man SubStatus-Codes liest und vor allem –SIEM-Regeln für die Brute-Force-Erkennung in Echtzeitwie man schreibt.
Die Ereignis-ID 4625 bedeutet „Anmeldung eines Kontos fehlgeschlagen“ im Windows-Sicherheitsprotokoll. Dieses Ereignis wird generiert, wenn ein Konto erfolglos versucht, sich anzumelden – falsches Passwort, nicht vorhandener Benutzer, deaktiviertes Konto usw.
Dieses Ereignis im Sicherheitsprotokoll,Audit-AnmeldungTritt auf, wenn die Richtlinie aktiv ist. In modernen Windows Server-Versionen (2016+) ist es standardmäßig aktiviert.
TargetUserName, IP-Adresse, LogonType, SubStatus, Arbeitsstationsname. Die Qualität einer Brute-Force-Erkennung hängt von Ihrer korrekten Interpretation dieser 5 Felder ab.
Eine typische XML-Ausgabe sieht (vereinfacht) so aus:
<EventData>
<Data Name="SubjectUserSid">S-1-5-18</Data>
<Data Name="SubjectUserName">DC01$</Data>
<Data Name="TargetUserName">Administrator</Data>
<Data Name="TargetDomainName">COMPANY</Data>
<Data Name="Status">0xC000006D</Data>
<Data Name="SubStatus">0xC000006A</Data>
<Data Name="LogonType">3</Data>
<Data Name="AuthenticationPackageName">NTLM</Data>
<Data Name="Arbeitsstationsname">ATTACKER-PC</Data>
<Data Name="IP-Adresse">203.0.113.45</Data>
<Data Name="IpPort">49832</Data>
</EventData>
Dieses Ereignis sagt uns:
TargetUserName=Administrator — AdministratorIch versuche, mich mit einem Konto anzumeldenIpAdresse=203.0.113.45 – Quelle dieser externen IPLogonType=3 — Netzwerkanmeldung (SMB, Remote-Ressourcenzugriff)SubStatus=0xC000006A — falsches Passwort(klarstes Brute-Force-Signal)Arbeitsstationsname=ATTACKER-PC – Maschinenname des Angreifers (möglicherweise gefälscht, aber Hinweis)LogonType des AnmeldevorgangsWiezeigt, dass es geschafft wurde. Die Erkennungspriorität ist jeweils unterschiedlich.
| Tip | Name | Bedeutung | Brute-Force-Risiko |
|---|---|---|---|
| 2 | interaktiv | Konsole/Tastatur (physische Sitzung) | Mittel |
| 3 | Network | SMB, network share, RPC | Hoch |
| 4 | Batch | Scheduled task | Niedrig |
| 5 | Service | Start des Windows-Dienstes | Niedrig |
| 7 | Unlock | Screen unlock | Niedrig (aber es gibt ein Stalker-Szenario) |
| 8 | NetworkCleartext | Clear text network auth | Hoch (normalerweise Fehlkonfiguration) |
| 10 | RemoteInteraktiv | RDP oturumu | Sehr hoch |
| 11 | ZwischengespeichertInteraktiv | AnmeldeInformationen zwischenspeichern | Niedrig |
Die drei kritischsten Typen sind:Typ 3 (Netzwerk), Typ 10 (RDP)UndTyp 8 (Klartext). Bei diesen drei sollten zuerst Brute-Force-Alarme ausgelöst werden.
RDP (Remote Desktop Protocol) Brute Force ist einer der beliebtesten Eintrittsvektoren von Ransomware-Banden im Zeitraum 2023–2024. Wenn ein einzelner RDP-Port zum Internet geöffnet ist, werden Sie in Shodan angezeigt.Dauert weniger als 48 Stunden.
SubStatus Feld, ein AnmeldeversuchWarum scheitert es?sagt, dass es so ist. Dieser Code wirkt sich direkt auf die Qualität Ihrer Brute-Force-Erkennung aus.
| SubStatus | Bedeutung | Angriffsanzeige |
|---|---|---|
0xC0000064 |
User not found | Benutzeraufzählung (Benutzer-Browsing) |
0xC000006A |
falsches Passwort | Brute force |
0xC0000234 |
Konto gesperrt | Erfolgreiche Sperrung (Angreifer hat das Limit überschritten) |
0xC0000072 |
Konto deaktiviert | Altes Konto ausprobieren (sollte) |
0xC0000193 |
Konto abgelaufen | altes Konto |
0xC0000070 |
Arbeitsplatzbeschränkung | Versuch von unbekanntem Ort aus |
0xC0000071 |
Passwort abgelaufen | niedrige Priorität |
0xC0000133 |
Zeitunterschied | Saat senkronu sorunu |
Die beiden kritischsten Codes für die Erkennung sind: 0xC0000064 (Benutzerzahl) und 0xC000006A (brutale Gewalt). Wenn Sie beides kombinieren, erfassen Sie beide Phasen des Angriffs.
Theorie reicht. Jetztpraktisch. 4 Grundregeln, die Sie in Ihr SIEM schreiben sollten:
10+ fehlgeschlagene Anmeldungen in 10 Minuten von derselben IP.
AUSWÄHLEN
src_ip,
COUNT(*) AS fail_count,
ARRAY_AGG(DISTINCT username) AS target_users,
MIN(ts) AS erster_Versuch,
MAX(ts) AS last_attempt
AUS Protokollen
WHERE event_type = 'auth'
AND Aktion = 'login_fail'
UND event_id = 4625
AND (extra->>'sub_status') = '0xC000006A'
AND ts > NOW() - INTERVALL '10 Minuten'
UND src_ip IST NICHT NULL
UND src_ip != ''
GROUP BY src_ip
HAVING COUNT(*) >= 10;
von der gleichen IPmit unterschiedlichen Benutzern5+ fehlgeschlagene Anmeldungen – das ist kein klassischer Brute-Force-Angriff.Liste gestohlener Zugangsdatenversuchen.
AUSWÄHLEN
src_ip,
COUNT(*) AS fail_count,
COUNT(DISTINCT username) AS unique_users,
ARRAY_AGG(DISTINCT Benutzername ORDER BY Benutzername) AS-Benutzer
AUS Protokollen
WO event_id = 4625
AND ts > NOW() - INTERVALL '15 Minuten'
UND src_ip IST NICHT NULL
GROUP BY src_ip
HAVING COUNT(DISTINCT username) >= 5
AND COUNT(*) >= 8;
Besonders LogonType=10 für aggressive Schwelle.
AUSWÄHLEN
src_ip,
Benutzername,
COUNT(*) AS-Versuche
AUS Protokollen
WO event_id = 4625
AND (extra->>'logon_type')::int = 10 -- RDP
AND ts > NOW() - INTERVALL '5 Minuten'
GROUP BY src_ip, Benutzername
HAVING COUNT(*) >= 3;
Der Schwellenwert für RDP ist niedriger (3 in 5 Minuten), weilRDP Brute Force hat eine hohe Erfolgschanceund sofortiges Eingreifen ist erforderlich.
Vor einem Angreifergültige Benutzerversucht zu finden (0xC0000064), errät dann das Passwort. Wenn Sie diese erste Phase überstehen, können Sie den Angreifer blockieren, solange er noch unschuldig ist.
AUSWÄHLEN
src_ip,
COUNT(*) AS enum_attempts,
COUNT(DISTINCT username) AS unique_targets
AUS Protokollen
WO event_id = 4625
AND (extra->>'sub_status') = '0xC0000064' – Benutzer nicht gefunden
AND ts > NOW() - INTERVALL '30 Minuten'
GROUP BY src_ip
HAVING COUNT(*) >= 15;
Brute-Force-Regelnzu Fehlalarmen führenneigt dazu. Die häufigsten Gründe:
Um echte Brute-Force-Ereignisse von falsch-positiven Ergebnissen zu unterscheiden, achten Sie auf die folgenden Anzeichen:
Administrator, Administrator, hochwertige Konten wie DienstkontenSo senden Sie das Windows-Ereignisprotokoll an ein SIEMNXLog Gemeinschaft Editionder praktischste Weg. Kostenlos, ab 15 Jahren, stabil.
Eine einfache Konfiguration:
<Ereignisprotokoll eingeben>
Modul im_msvistalog
Abfrage <QueryList>\
<Abfrage-ID="0">\
<Pfad auswählen="Sicherheit">\
*[System[(EventID=4624 oder EventID=4625 oder EventID=4740)]]\
</Auswählen>\
</Abfrage>\
</QueryList>
Exec $Message = to_json();
</Eingabe>
<Output oxisec>
Modul om_udp
Hosten Sie siem.example.com
Port 5515
Exec to_syslog_ietf();
</Ausgabe>
<windows_auth weiterleiten>
Pfad eventlog => Oxysec
</Route>
Diese Konfiguration erfasst nur drei authentisierungsbezogene Ereignisse (Anmeldung erfolgreich, Anmeldefehler, Kontosperrung). Anstatt das gesamte Sicherheitsprotokoll zu sendenselektivist sowohl für die Bandbreite, den Speicher als auch für die SIEM-Leistung von entscheidender Bedeutung.
In diesem Leitfaden werden die Grundlagen der Brute-Force-Erkennung umfassend behandelt. Für Leser, die noch weiter gehen wollen:
Artikel zu diesen Themen folgen in Kürze.
0xC000006A brute force, 0xC0000064 enumerasyon