/
/

Sicherheitsereignisprotokolle mit PowerShell auswerten und Brute-Force-Versuche markieren

von Team Ninja
How to Use PowerShell to Parse Security Event Logs and Flag Brute-Force Attempts blog banner image

Kurzüberblick

Dieser NinjaOne-Blogbeitrag bietet eine umfassende Liste grundlegender CMD-Befehle und einen tiefen Einblick in die Windows-Befehle mit über 70 wichtigen CMD-Befehlen für Anfänger:innen und Fortgeschrittene. Der Blogartikel erklärt praktische Befehle der Eingabeaufforderung für die Dateiverwaltung, die Navigation in Verzeichnissen, die Fehlersuche im Netzwerk, Festplattenoperationen und die Automatisierung mit echten Beispielen zur Steigerung der Produktivität. Egal, ob Sie grundlegende CMD-Befehle lernen oder fortgeschrittene Windows CLI-Tools beherrschen möchten, dieser Leitfaden hilft Ihnen, die Eingabeaufforderung effektiver zu verwenden.

Immer mehr Unternehmen rüsten ihre Sicherheit gegen Brute-Force-Angriffe auf, doch die Aufzeichnungen solcher Versuche bleiben oft unbeachtet, bis Anmeldedaten kompromittiert werden oder ein Konto gesperrt wird.

IT-Administrator:innen können mit PowerShell Sicherheitsereignisprotokolle abrufen und auswerten, um die Abwehr ihres Unternehmens zu stärken. Dieser Leitfaden zeigt Schritt für Schritt, wie Sie Brute-Force-Angriffe mit PowerShell erkennen und IP-Adressen auf eine Blacklist setzen.

Einen schnellen visuellen Überblick erhalten Sie in unserem Video-Leitfaden So werten Sie Sicherheitsereignisprotokolle mit PowerShell aus und markieren Brute-Force-Versuche

Sicherheitsereignisprotokolle über PowerShell einrichten

Stellen Sie zunächst sicher, dass die folgenden Voraussetzungen erfüllt sind:

📌 Voraussetzungen:

  • Administrativer Zugriff auf lokale oder entfernte Systeme
  • PowerShell 5.1+
  • Windows-Sicherheitsüberwachungsprotokoll per GPO aktiviert
  • Zugriff auf die Windows-Registry, um den Erkennungsstatus zu markieren
  • RMM-Plattform (z. B. NinjaOne) zur Bereitstellung von Skripten und Alarmierungen
  • Optional: Ereignisweiterleitung an ein SIEM oder eine zentrale Protokollierung

Schritt 1: Überwachung fehlgeschlagener Anmeldungen per Gruppenrichtlinie aktivieren

Zuerst müssen Sie sicherstellen, dass die Überwachung auf allen Endpunkten aktiv ist. Das lässt sich per Gruppenrichtlinie aktivieren. Danach werden sowohl erfolgreiche als auch fehlgeschlagene Anmeldeversuche mit Ereignis-IDs wie 4625 (fehlgeschlagene Anmeldung) und 4624 (erfolgreiche Anmeldung) protokolliert.

So aktivieren Sie die Überwachung fehlgeschlagener Anmeldungen:

  1. Drücken Sie Win + R, geben Sie gpmc.msc ein und drücken Sie die Eingabetaste, um die Gruppenrichtlinienverwaltung zu öffnen.
  2. Navigieren Sie zu Computerkonfiguration > Richtlinien > Windows-Einstellungen > Sicherheitseinstellungen > Erweiterte Überwachungsrichtlinienkonfiguration > Überwachungsrichtlinien > Anmelden/Abmelden.
  3. Ändern Sie die Einstellung für Anmeldung überwachen auf Erfolg, Fehler.

⚠️ Wichtig: Falsche Einstellungen bei „Anmeldung überwachen“ können Probleme verursachen. Mehr dazu im Abschnitt Darauf sollten Sie achten.

Schritt 2: Fehlgeschlagene Anmeldeereignisse mit PowerShell auswerten

  1. Öffnen Sie PowerShell als Administrator:in.
  2. Verwenden Sie die folgenden Befehle:
    • Ereignis-ID 4625 der letzten 24 Stunden auswerten:

$events = Get-WinEvent -FilterHashtable @{
LogName = 'Security'
Id = 4625
StartTime = (Get-Date).AddHours(-24)
} | Select-Object TimeCreated, Message

Hinweis: Werden keine passenden Ereignisse gefunden, liefert der Befehl ein leeres Ergebnis zurück.

    • Quellen und Benutzernamen fehlgeschlagener Anmeldungen extrahieren:

$failedLogons = $events | ForEach-Object {

if ($_.Message -match "(?s)Account For Which Logon Failed:.*Account Name:\s+(\S+).*Source Network Address:\s+(\S+)") {

[PSCustomObject]@{

Time = $_.TimeCreated

Username = $matches[1]

SourceIP = $matches[2]

}

}

}

    • In CSV exportieren:

$failedLogons | Export-Csv "C:\Reports\FailedLogons.csv" -NoTypeInformation

Schritt 3: Brute-Force-Muster anhand von Schwellenwerten erkennen

Sobald Sie Ereignisprotokolle auswerten können, lassen sich Muster erkennen und Brute-Force-Schwellenwerte festlegen, um Ihre Sicherheit zu erhöhen. Verwenden Sie dafür in PowerShell die folgenden Befehle:

Nach Quell-IP oder Benutzername gruppieren und zählen:

$grouped = $failedLogons | Group-Object SourceIP | Where-Object { $_.Count -ge 10 }
$grouped | ForEach-Object {
Write-Output "Potential brute-force from $($_.Name) with $($_.Count) attempts"
}

Dieses Skript analysiert fehlgeschlagene Anmeldeereignisse auf einem einzelnen Computer, gruppiert sie nach Quell-IP und meldet jede IP mit 10 oder mehr fehlgeschlagenen Versuchen als möglichen Brute-Force-Angriff.

Hinweis: Der Schwellenwert in dieser Zeile ist anpassbar. Die Zahl hinter Count -ge legt fest, ab wie vielen fehlgeschlagenen Versuchen eine Brute-Force-Alarmierung ausgelöst wird.

💡 Tipp: Alternativ können Sie nach Benutzername gruppieren, um gezielte Angriffe auf einzelne Konten zu erkennen:

$groupedUsers = $failedLogons | Group-Object Username | Where-Object { $_.Count -ge 10 }

Die Schwellenwerte lassen sich an die eigene Risikobereitschaft anpassen (z. B. 5+ innerhalb von 10 Minuten).

Schritt 4: Erkennung in die Registry und in Protokolle schreiben, die über die Eingabeaufforderung abrufbar sind

In Schritt 4 geht es darum, ausgewertete Ereignisse mit dem RMM und mit Protokollen zu verknüpfen, die über die Eingabeaufforderung abrufbar sind, für mehr Transparenz und eine einfachere Behebung. Mit den folgenden Schlüsseln können Sie Alarmierungen in NinjaOne auslösen oder den Netzwerkzugriff automatisiert deaktivieren:

Registry-Markierung für RMM oder manuelle Prüfung:

New-Item -Path "HKLM:\SOFTWARE\Org\SecurityAlerts" -Force
Set-ItemProperty -Path "HKLM:\SOFTWARE\Org\SecurityAlerts" -Name "LastBruteForceDetected" -Value (Get-Date).ToString("u")
Set-ItemProperty -Path "HKLM:\SOFTWARE\Org\SecurityAlerts" -Name "OffendingIP" -Value $grouped[0].Name

Prüfung des Erkennungsstatus über die Eingabeaufforderung:

reg query HKLM\SOFTWARE\Org\SecurityAlerts

⚠️ Darauf sollten Sie achten

RisikenMögliche FolgenGegenmaßnahmen
Falsche GPO-Einstellungen für Ereignisse vom Typ „Anmeldung überwachen“PowerShell liefert bei der Auswertung keine Protokolleinträge zurück.Prüfen Sie Ihre GPO-Einstellungen für „Anmeldung überwachen“ und stellen Sie sicher, dass das Sicherheitsprotokoll nicht wegen einer zu geringen Protokollgröße überschrieben wird.

Nächste Schritte: IP sperren oder Alarmierung auslösen

Das Sperren von IP-Adressen, Alarmierungen und weitere Maßnahmen zur Minderung erfolgen in der Regel, nachdem Sie Ihre Sicherheitsereignisprotokolle ausgewertet haben. Dieser Abschnitt behandelt Maßnahmen, die Sie mit PowerShell ergreifen können, wenn mehrere fehlgeschlagene Anmeldeversuche oder ein Brute-Force-Angriff erkannt werden.

Ereignis ins Ereignisprotokoll schreiben:

Write-EventLog -LogName Application -Source "BruteForceDetector" -EventId 1010 -EntryType Warning -Message "Brute-force detected from $($grouped[0].Name)"
Hinweis: Falls die Ereignisquelle nicht existiert, können Sie sie einmalig (als Administrator:in) anlegen mit:

New-EventLog -LogName Application -Source ‚BruteForceDetector‘

Zusätzlich können IT-Administrator:innen die IP lokal sperren (sofern die Quelle extern ist):

New-NetFirewallRule -DisplayName "Block Brute IP" -Direction Inbound -RemoteAddress $grouped[0].Name -Action Block

💡 Hinweis: Dokumentieren Sie alle IP-Sperren und Bereinigungsrichtlinien in Ihrem RMM, um Konsistenz über alle Geräte hinweg sicherzustellen.

Weitere Aspekte bei der Erkennung von Brute-Force-Angriffen und beim Blacklisting mit PowerShell

Lokale Angriffe im Vergleich zu RDP-Angriffen

Protokolle von Brute-Force-Versuchen sehen je nach Quelle unterschiedlich aus. Bei Brute-Force-Versuchen über das Remote Desktop Protocol (RDP) erscheint unter „Quellnetzwerkadresse“ meist eine externe IP-Adresse, während bei einem lokalen Brute-Force-Angriff nur 127.0.0.1 steht. Ein Blick auf den Anmeldetyp kann zusätzlichen Kontext liefern.

Domänencontroller

In Active-Directory-Umgebungen (AD) werden fehlgeschlagene Anmeldeversuche in der Regel auf den Domänencontrollern (DCs) protokolliert, nicht nur auf der Workstation, an der die Anmeldung versucht wurde. Es empfiehlt sich, die PowerShell-Skripte zentral oder über Ereignisweiterleitung auszuführen.

Fehlalarme

Nicht alle wiederholten Anmeldefehler gehen auf fehlgeschlagene Brute-Force-Angriffe zurück. Auch Dienstkonten oder Synchronisierungstools lösen gelegentlich fehlgeschlagene Anmeldungen aus. Schließen Sie bekannte, unbedenkliche Konten von den Brute-Force-Erkennungsregeln aus, um die Effizienz zu erhalten (dazu können Sie eine Whitelist in Ihr Skript aufnehmen, sodass diese Konten automatisiert übersprungen werden)

SIEM-Integrationen

In Unternehmen mit einem System für Security Information and Event Management (SIEM) kann die Einbindung von Brute-Force-Erkennungsdaten die Transparenz deutlich verbessern. Leiten Sie die Daten, sofern möglich, an einen zentralen Protokollsammler weiter, um Angriffe in Ihrer gesamten Umgebung zu erfassen.

Häufige Probleme beheben

Firewall-Regeln greifen nicht

Wenn Ihr Skript eine auffällige IP mit einer PowerShell-Firewall-Regel sperren soll, dies aber nicht funktioniert, können Firewall-Profile oder Skriptberechtigungen die Ursache sein. Windows-Firewalls haben getrennte Profile (Domäne, Privat, Öffentlich), und die Regel muss für das richtige Profil gelten. Außerdem können PowerShell-Ausführungsrichtlinien oder fehlende Berechtigungen die Ausführung des Befehls verhindern. Führen Sie das Skript immer mit Administratorrechten aus und stellen Sie sicher, dass die System-Firewall aktiv und korrekt konfiguriert ist.

Registry-Einträge werden nicht aktualisiert

Das Schreiben von Erkennungsergebnissen in die Registry erfordert passende Berechtigungen, insbesondere bei Zugriffen auf HKLM:\SOFTWARE. Führt ein Standardbenutzer das Skript aus, schlagen Registry-Schreibvorgänge stillschweigend fehl oder es kommt zu einem Zugriffsfehler. Stellen Sie deshalb sicher, dass das Skript im Kontext von Administrator oder SYSTEM läuft, was sich bei der Bereitstellung über Tools wie NinjaOne erzwingen lässt. Sinnvoll ist außerdem, zu prüfen, ob der Registry-Schlüssel existiert und nicht durch Gruppenrichtlinien oder Software für Endpunkt-Sicherheit gesperrt ist.

Brute-Force-Erkennung mit NinjaOne-Services verbessern

Mit NinjaOne können IT-Administrator:innen und MSPs eine skalierbare Brute-Force-Erkennung umsetzen und die Reaktion auf Vorfälle integrieren:

  • PowerShell-Erkennungsskripte auf Geräten oder in Kundengruppen bereitstellen
  • Registry-Werte oder Dateiausgaben überwachen, um Erkennungen zu markieren
  • Automatisierte Workflows zur Behebung auslösen (Alarmierungen, IP-Sperren, Benutzerbenachrichtigungen)
  • Kundenübergreifende Berichte zu Brute-Force-Versuchen und Quell-IPs erstellen
  • Bei wiederholten Erkennungen oder gezielt angegriffenen Konten alarmieren

Sicherheitsereignisprotokolle mit PowerShell abrufen

Sicherheitsereignisprotokolle mit PowerShell auf Brute-Force-Versuche auszuwerten, gibt MSPs eine leistungsfähige und skalierbare Methode an die Hand, um Angriffe auf Anmeldedaten zu erkennen und darauf zu reagieren. Dieser Leitfaden bietet IT-Administrator:innen eine Schritt-für-Schritt-Anleitung und Hilfe bei der Behebung häufiger Probleme.

Verwandte Themen:

Quick-Start-Guide

PowerShell und Brute-Force-Erkennung in NinjaOne

NinjaOne bietet ein eigenes Skript, das speziell dabei hilft, Brute-Force-Anmeldeversuche zu erkennen. Dieses Skript ist ein bedingungsbasiertes Tool, mit dem sich potenzielle Sicherheitsbedrohungen im Zusammenhang mit Anmeldeversuchen identifizieren lassen.

Empfohlenes Vorgehen:
1. Verwenden Sie das integrierte Skript „Check for Brute Force login attempts“ aus der Skriptbibliothek von NinjaOne.
2. Für eine weitergehende Auswertung können Sie ein eigenes PowerShell-Skript erstellen, das:
, Sicherheitsereignisprotokolle durchsucht (Ereignis-ID 4625 für fehlgeschlagene Anmeldeversuche)
, fehlgeschlagene Anmeldeversuche innerhalb eines bestimmten Zeitraums erfasst
, einen Schwellenwert für mögliche Brute-Force-Angriffe festlegt

Beispiel für die PowerShell-Logik:

powershell
$failedAttempts = Get-WinEvent -FilterHashtable @{
LogName = ‘Security’
ID = 4625 # Failed Login Attempts
} | Where-Object { $_.TimeCreated -gt (Get-Date).AddHours(-1) }

$uniqueIPs = $failedAttempts | Group-Object { $_.Properties[19].Value } |
Where-Object { $_.Count -gt 10 } # Adjust threshold as needed

if ($uniqueIPs) {
# Alert or take action for potential brute force
Write-Output “Potential Brute Force Detected”
}

Best Practices:
, Legen Sie Alarmierungsschwellen auf Basis der konkreten Sicherheitsrichtlinien Ihres Unternehmens fest
, Binden Sie die Alarmierungsmechanismen von NinjaOne ein
, Überprüfen und justieren Sie die Erkennungsparameter regelmäßig

FAQs

Fehlende Quell-IPs sind bei lokalen Brute-Force-Versuchen üblich. Das ist nicht zwangsläufig ein Problem, denn in der Regel bedeutet es, dass kein externes Netzwerk beteiligt war. Für mehr Informationen zu einem bestimmten Ereignis können Sie das Feld LogonType abgleichen, um festzustellen, ob der Versuch lokal, netzwerkbasiert oder über RDP erfolgte.

Ja, ein Brute-Force-Angriff lässt sich erkennen, wenn die passende Überwachung aktiviert ist. Windows kann fehlgeschlagene Anmeldeversuche protokollieren, und Tools wie PowerShell oder RMM-Plattformen können diese Ereignisse auswerten.

Mehrere fehlgeschlagene Anmeldeversuche in kurzer Zeit sind ein deutliches Anzeichen für Brute-Force-Aktivität, besonders wenn sie von derselben IP-Adresse stammen oder dasselbe Konto beziehungsweise Gerät betreffen. Weitere Anzeichen sind Anmeldungen aus unerwarteten Regionen oder ungewöhnlichen IP-Bereichen, wiederholte Versuche bei Administrator- oder Dienstkonten sowie Spitzen im Authentifizierungsverkehr, die nicht zur normalen Benutzeraktivität passen.

Die eine beste Methode zum Schutz vor Brute-Force-Angriffen gibt es nicht. Sie können Ihre Sicherheit aber stärken, indem Sie mehrere Methoden kombinieren, darunter Geo-Blocking, MFA (Multi-Factor Authentication) und proaktive Erkennungsmethoden.

Das könnte Sie auch interessieren

Sind Sie bereit, die schwierigsten Aufgaben der IT zu vereinfachen?