
Iedereen die heeft geprobeerd een virtuele machine in de cloud te starten, weet dat de standaard RDP-poort, als deze open blijft, vrijwel onmiddellijk zal worden aangevallen door golven van wachtwoord brute force pogingen vanuit verschillende IP-adressen over de hele wereld.
In dit artikel laat ik zien hoe je automatische reacties op wachtwoord brute force aanvallen kunt instellen door een nieuwe regel toe te voegen aan de firewall. InTrust is een voor het verzamelen, analyseren en opslaan van ongestructureerde gegevens, met al honderden vooraf ingestelde reacties op verschillende soorten aanvallen.
In Quest InTrust kun je responsregels instellen wanneer een regel wordt geactiveerd. De logverzamelaar van InTrust ontvangt een melding van een mislukte aanmeldingspoging op een workstation of server. Om nieuwe IP-adressen aan de firewall toe te voegen, moet je een bestaand gespecialiseerd detectieregel voor meerdere mislukte aanmeldingen kopiƫren en de kopie openen voor bewerking:

Evenementen in Windows-logs maken gebruik van zogenaamde InsertionString. (dit is een mislukte aanmelding) en je zult zien dat de velden die ons interesseren zijn opgeslagen in InsertionString14 (Naam Workstation) en InsertionString20 (Bron Netwerkadres). Bij een aanval vanuit het internet zal het veld voor de Naam Workstation waarschijnlijk leeg zijn, daarom is het belangrijk om op die plaats de waarde van het Bron Netwerkadres in te voegen.
Zo ziet de tekst van evenement 4625 eruit
Er is een account mislukt om in te loggen.
Onderwerp:
Beveiligings-ID: S-1-5-21-1135140816-2109348461-2107143693-500
Accountnaam: ALebovsky
Accountdomein: LOGISTICS
Aanmeld-ID: 0x2a88a
Type Aanmelding: 2
Account waarvoor aanmelding is mislukt:
Beveiligings-ID: S-1-0-0
Accountnaam: Paul
Accountdomein: LOGISTICS
Informatie over mislukkingen:
Reden voor mislukking: Account geblokkeerd.
Status: 0xc0000234
Substatus: 0x0
Procesinformatie:
Aanroepende Proces-ID: 0x3f8
Aanroepende Procesnaam: C:WindowsSystem32svchost.exe
Netwerkinformatie:
Naam Workstation: DCC1
Bron Netwerkadres: ::1
Bronpoort: 0
Gedetailleerde authenticatie-informatie:
Aanmeldproces: seclogo
Authenticatiepakket: Negotiate
Doorgegeven diensten: -
Pakketnaam (alleen NTLM): -
Sleutellengte: 0
Dit evenement wordt gegenereerd wanneer een aanmeldingsverzoek mislukt. Het wordt gegenereerd op de computer waar toegang werd geprobeerd.
De onderwerpvelden geven het account op het lokale systeem aan dat de aanmelding heeft aangevraagd. Dit is meestal een service zoals de Server-service of een lokaal proces zoals Winlogon.exe of Services.exe.
Het veld Type aanmelding geeft het soort aanmelding aan dat werd aangevraagd. De meest voorkomende types zijn 2 (interactief) en 3 (netwerk).
De velden Voor informatie over het proces geven aan welk account en proces op het systeem de aanmelding heeft aangevraagd.
De velden Netwerkinformatie geven aan waar een extern aanmeldingsverzoek vandaan kwam. De naam van het workstation is niet altijd beschikbaar en kan in sommige gevallen leeg blijven.
De velden authenticatie-informatie geven gedetailleerde informatie over dit specifieke aanmeldingsverzoek.
- Doorgegeven diensten geven aan welke tussenliggende diensten hebben deelgenomen aan dit aanmeldingsverzoek.
- Pakketnaam geeft aan welk subprotocol is gebruikt onder de NTLM-protocollen.
- Sleutellengte geeft de lengte aan van de gegenereerde sessiesleutel. Dit zal 0 zijn als er geen sessiesleutel is aangevraagd.
Bovendien voegen we de waarde Source Network Address toe aan de gebeurtenistekst.

Vervolgens moet je een script toevoegen dat het IP-adres blokkeert in de Windows-firewall. Hieronder een voorbeeld dat hiervoor kan worden gebruikt.
Script voor het configureren van de firewall
param(
[Parameter(Mandatory = $true)]
[ValidateNotNullOrEmpty()]
[string]
$SourceAddress
)
$SourceAddress = $SourceAddress.Trim()
$ErrorActionPreference = 'Stop'
$ruleName = 'Quest-InTrust-Block-Failed-Logons'
$ruleDisplayName = 'Quest InTrust: Blokkeert IP-adressen van mislukte logins'
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
}
Nu kunnen we de naam van de regel en de beschrijving veranderen om verwarring in de toekomst te voorkomen.

Nu moet je dit script toevoegen als een responsregel, de regel inschakelen en ervoor zorgen dat de overeenkomstige regel in het monitoringsbeleid voor de realtime modus is opgenomen. De agent moet de mogelijkheid hebben om reactieve scripts uit te voeren en het juiste parameter moet zijn opgegeven.

Na de uitgevoerde instellingen is het aantal mislukte aanmeldingen met 80% gedaald. Voordeel? Zeker!

Soms stijgt het aantal opnieuw, maar dat komt door nieuwe aanvalslocaties. Daarna daalt alles weer.
In ƩƩn week tijd zijn er 66 IP-adressen aan de firewallregel toegevoegd.

Hieronder een tabel met 10 veelgebruikte gebruikersnamen die werden geprobeerd voor aanmeldingen.
Gebruikersnaam
Aantal
In procenten
administrator
1220235
40.78
admin
672109
22.46
gebruiker
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
beheerder
32377
1.08
sgazlabdc01
31259
1.04
Laat ons in de reacties weten hoe jullie reageren op informatiebeveiligingsdreigingen. Welk systeem gebruiken jullie, hoe gebruiksvriendelijk is het?
Als je geïnteresseerd bent om InTrust in actie te zien, gebruik het contactformulier op onze website of stuur me een bericht privé.
Lees onze andere artikelen over het onderwerp informatiebeveiliging:
(populair artikel)
Bron: habr.com
