
Allen, die versucht haben, eine virtuelle Maschine in der Cloud zu starten, ist bekannt, dass der Standard-RDP-Port, wenn er offen gelassen wird, fast sofort von Wellen von Passwort-Angriffen aus verschiedenen IP-Adressen weltweit angegriffen wird.
In diesem Artikel zeige ich, wie man in eine automatische Reaktion auf Passwort-Brute-Force-Angriffe durch das Hinzufügen einer neuen Regel zur Firewall einrichten kann. InTrust ist zum Sammeln, Analysieren und Speichern unstrukturierter Daten, die bereits Hunderte vordefinierte Reaktionen auf verschiedene Angriffstypen enthält.
In Quest InTrust können Sie Reaktionen auf das Auslösen einer Regel konfigurieren. Der Log-Sammler-Agent erhält eine Nachricht über einen fehlgeschlagenen Autorisierungsversuch auf einem Arbeitsplatzcomputer oder Server. Um das Hinzufügen neuer IP-Adressen zur Firewall einzurichten, müssen Sie die vorhandene spezialisierte Regel zur Erkennung mehrfacher fehlgeschlagener Autorisierungen kopieren und eine Kopie zur Bearbeitung öffnen:

Ereignisse in Windows-Protokollen verwenden die sogenannten InsertionString. (dies ist ein fehlgeschlagener Anmeldeversuch) und sehen Sie, dass die für uns interessanten Felder in InsertionString14 (Workstation Name) und InsertionString20 (Source Network Address) gespeichert sind. Bei einem Angriff aus dem Internet wird das Feld mit dem Workstation Name wahrscheinlich leer sein, daher ist es wichtig, an dieser Stelle den Wert aus der Source Network Address einzufügen.
So sieht der Text des Ereignisses 4625 ungefähr aus:
Anmeldung fehlgeschlagen.
Subjekt:
Sicherheits-ID: S-1-5-21-1135140816-2109348461-2107143693-500
Kontoname: ALebovsky
Kontodomain: LOGISTICS
Anmelde-ID: 0x2a88a
Anmelde-Typ: 2
Konto, für das die Anmeldung fehlgeschlagen ist:
Sicherheits-ID: S-1-0-0
Kontoname: Paul
Kontodomain: LOGISTICS
Fehlinformation:
Fehlergrund: Konto gesperrt.
Status: 0xc0000234
Unterstatus: 0x0
Prozessinformation:
Aufrufer-Prozess-ID: 0x3f8
Aufrufer-Prozess-Name: C:WindowsSystem32svchost.exe
Netzwerkinformation:
Workstation Name: DCC1
Source Network Address: ::1
Quellport: 0
Detaillierte Authentifizierungsinformationen:
Anmeldeprozess: seclogo
Authentifizierungspaket: Verhandeln
Durchlaufene Dienste: -
Paketname (nur NTLM): -
Schlüssellänge: 0
Dieses Ereignis wird generiert, wenn ein Anmeldeantrag fehlschlägt. Es wird auf dem Computer generiert, auf dem der Zugriff versucht wurde.
Die Fächerfelder geben das Konto im lokalen System an, das um die Anmeldung gebeten hat. Dies ist normalerweise ein Dienst wie der Serverdienst oder ein lokaler Prozess wie Winlogon.exe oder Services.exe.
Das Anmelde-Typ-Feld gibt an, welche Art von Anmeldung angefordert wurde. Die häufigsten Typen sind 2 (interaktiv) und 3 (Netzwerk).
Die Prozessinformationsfelder geben an, welches Konto und welcher Prozess im System die Anmeldung angefordert haben.
Die Netzinformationsfelder geben an, woher eine externe Anmeldeanfrage stammt. Der Name der Workstation ist nicht immer verfügbar und kann in einigen Fällen leer bleiben.
Die Authentifizierungsinformationsfelder liefern detaillierte Informationen über diesen spezifischen Anmeldeantrag.
- Durchlaufene Dienste geben an, welche Zwischenservices an diesem Anmeldeantrag beteiligt waren.
- Der Paketname gibt an, welches Subprotokoll unter den NTLM-Protokollen verwendet wurde.
- Die Schlüssellänge gibt die Länge des generierten Sitzungsschlüssels an. Dies wird 0 sein, wenn kein Sitzungsschlüssel angefordert wurde.
Zusätzlich fügen wir den Wert der Quellnetzwerkadresse in den Ereignistext ein.

Dann müssen wir ein Skript hinzufügen, das die IP-Adresse in der Windows-Firewall blockiert. Unten sehen Sie ein Beispiel, das Sie dafür verwenden können.
Skript zur Konfiguration der Firewall
param(
[Parameter(Mandatory = $true)]
[ValidateNotNullOrEmpty()]
[string]
$SourceAddress
)
$SourceAddress = $SourceAddress.Trim()
$ErrorActionPreference = 'Stop'
$ruleName = 'Quest-InTrust-Block-Failed-Logons'
$ruleDisplayName = 'Quest InTrust: Blockiert IP-Adressen von fehlgeschlagenen Anmeldungen'
function Get-BlockedIps {
(Get-NetFirewallRule -Name $ruleName -ErrorAction SilentlyContinue | get-netfirewalladdressfilter).RemoteAddress
}
$blockedIps = Get-BlockedIps
$allIps = [array]$SourceAddress + [array]$blockedIps | Select-Object -Unique | Sort-Object
if (Get-NetFirewallRule -Name $ruleName -ErrorAction SilentlyContinue) {
Set-NetFirewallRule -Name $ruleName -RemoteAddress $allIps
} else {
New-NetFirewallRule -Name $ruleName -DisplayName $ruleDisplayName -Direction Inbound -Action Block -RemoteAddress $allIps
}
Jetzt können wir den Namen der Regel und ihre Beschreibung ändern, um Verwirrung zu vermeiden.

Jetzt müssen wir dieses Skript als Reaktion auf die Regel hinzufügen, die Regel aktivieren und sicherstellen, dass die entsprechende Regel in der Überwachungsrichtlinie für den Echtzeitmodus aktiviert ist. Auf dem Agenten muss die Funktion zur Ausführung von Reaktionsszenarien aktiviert sein, und der richtige Parameter muss angegeben werden.

Nach den vorgenommenen Einstellungen ist die Anzahl der fehlgeschlagenen Anmeldungen um 80 % gesunken. Profit? Auf jeden Fall!

Manchmal gibt es einen kleinen Anstieg, aber das liegt an neuen Angriffquellen. Danach sinkt es wieder.
In einer Woche wurden 66 IP-Adressen in die Firewallregel aufgenommen.

Unten finden Sie eine Tabelle mit 10 häufigen Benutzernamen, die für Anmeldeversuche verwendet wurden.
Benutzername
Die Anzahl
In Prozent
administrator
1220235
40.78
admin
672109
22.46
Benutzer
219870
7.35
contoso
126088
4.21
contoso.com
73048
2.44
administrador
55319
1.85
server
39403
1.32
sgazlabdc01.contoso.com
32177
1.08
administrateur
32377
1.08
sgazlabdc01
31259
1.04
Teilen Sie uns in den Kommentaren mit, wie Sie auf Bedrohungen der Informationssicherheit reagieren. Welches System verwenden Sie, und wie benutzerfreundlich ist es?
Wenn Sie InTrust in Aktion sehen möchten, verwenden Sie das Kontaktformular auf unserer Website oder schreiben Sie mir privat.
Lesen Sie auch unsere anderen Artikel zum Thema Informationssicherheit:
(beliebter Artikel)
Quelle: habr.com
