
Alle, der har forsøgt at starte en virtuel maskine i skyen, ved godt, at den standard RDP-port, hvis den efterlades åben, næsten straks bliver angrebet af bølger af brute force-forsøg fra forskellige IP-adresser over hele verden.
I denne artikel vil jeg vise, hvordan man kan konfigurere en automatisk reaktion på brute force-angreb ved at tilføje en ny regel til firewall'en. InTrust er en til indsamling, analyse og opbevaring af ustrukturerede data, som allerede har hundreder af forudinstallerede reaktioner på forskellige typer angreb.
I Quest InTrust kan man konfigurere reaktioner, når en regel aktiveres. Fra logindsamlingsagenten modtager InTrust et besked om et mislykket loginforsøg på en arbejdsstation eller server. For at konfigurere tilføjelsen af nye IP-adresser til firewall'en, skal man kopiere den eksisterende specialiserede regel til opdagelse af flere mislykkede loginforsøg og åbne dens kopi for redigering:

Begivenheder i Windows-loggene bruger såkaldte InsertionString. (dette er et mislykket login til systemet) og se, at de relevante felter opbevares i InsertionString14 (Workstation Name) og InsertionString20 (Source Network Address). Ved angreb fra internettet vil feltet Workstation Name sandsynligvis være tomt, så det er vigtigt at indsætte værdien fra Source Network Address på dette sted.
Sådan ser teksten for begivenhed 4625 ud
Et konto kunne ikke logges på.
Emne:
Sikkerheds-ID: S-1-5-21-1135140816-2109348461-2107143693-500
Kontonavn: ALebovsky
Konto Domæne: LOGISTICS
Logon ID: 0x2a88a
Logon Type: 2
Konto for hvilken logon fejlede:
Sikkerheds-ID: S-1-0-0
Kontonavn: Paul
Konto Domæne: LOGISTICS
Fejlinformation:
Fejlårsag: Kontoen er låst.
Status: 0xc0000234
Understatus: 0x0
Procesinformation:
Caller Process ID: 0x3f8
Caller Process Name: C:WindowsSystem32svchost.exe
Netværksinformation:
Arbejdsstationsnavn: DCC1
Kilde netværksadresse: ::1
Kilde port: 0
Detaljeret godkendelsesinformation:
Logon proces: seclogo
Godkendelsespakke: Negotiate
Gennemgåede tjenester: -
Pakkenavn (kun NTLM): -
Nøglens længde: 0
Denne begivenhed genereres, når en logon-anmodning fejler. Den genereres på den computer, hvor adgangen blev forsøgt.
Emnefelterne angiver kontoen på det lokale system, som anmodede om logon. Dette er oftest en tjeneste som Server-tjenesten eller en lokal proces som Winlogon.exe eller Services.exe.
Logon Type-feltet angiver den type logon, der blev anmodet om. De mest almindelige typer er 2 (interaktiv) og 3 (netværk).
Procesinformation felterne angiver, hvilken konto og proces på systemet der anmodede om logon.
Netværksinformation felterne angiver, hvorfra en fjernlogon-anmodning er opstået. Arbejdsstationsnavnet er ikke altid tilgængeligt og kan i nogle tilfælde være tomt.
De godkendelsesinformation felter giver detaljeret information om denne specifikke logon-anmodning.
- Gennemgåede tjenester angiver, hvilke mellemledende tjenester der har deltaget i denne logon-anmodning.
- pakkenavn angiver, hvilken sub-protokol der blev brugt blandt NTLM-protokoller.
- Nøglens længde angiver længden af den genererede sessionsnøgle. Dette vil være 0, hvis ingen sessionsnøgle blev anmodet.
Derudover vil vi tilføje værdien af Kilde netværksadresse til tekstbegivenheden.

Dernæst skal vi tilføje et script, der blokerer IP-adressen i Windows Firewall. Nedenfor er et eksempel, som kan bruges til dette.
Script til opsætning af firewall
param(
[Parameter(Mandatory = $true)]
[ValidateNotNullOrEmpty()]
[string]
$SourceAddress
)
$SourceAddress = $SourceAddress.Trim()
$ErrorActionPreference = 'Stop'
$ruleName = 'Quest-InTrust-Block-Failed-Logons'
$ruleDisplayName = 'Quest InTrust: Blokerer IP-adresser fra fejlede logons'
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 kan vi ændre reglenavn og dens beskrivelse for ikke at skabe forvirring senere.

Nu skal dette script føjes til som en responsaktion til regelen, aktivere regelen og sikre, at den relevante regel er inkluderet i overvågningspolitikken for realtidsmodus. På agenten skal muligheden for at køre responsaktion scripts være aktiveret, og den rigtige parameter skal angives.

Efter de udførte indstillinger er antallet af mislykkedes godkendelsesforsøg faldet med 80 %. Profit? Det kan man roligt sige!

Nogle gange opstår der en lille stigning igen, men det skyldes nye angrebskilder. Derefter falder det hele igen.
I løbet af ugen er 66 IP-adresser blevet inkluderet i firewall-reglerne.

Nedenfor er en tabel med 10 almindelige brugernavne, der blev brugt til forsøgende godkendelser.
Brugernavn
Antal
I procent
Administratoren
1220235
40.78
admin
672109
22.46
user
219870
7.35
contoso
126088
4.21
contoso.com
73048
2.44
administrator
55319
1.85
server
39403
1.32
sgazlabdc01.contoso.com
32177
1.08
administrateur
32377
1.08
sgazlabdc01
31259
1.04
Fortæl i kommentarerne, hvordan I arbejder med trusselsrespons i informationssikkerhed. Hvilket system bruger I, og hvor praktisk er det?
Hvis du er interesseret i at se InTrust i aktion, i kontaktformularen på vores hjemmeside, eller skriv til mig personligt.
Læs også vores andre artikler om emnet informationssikkerhed:
(populær artikel)
Kilde: habr.com
