
A coloro che hanno cercato di avviare una macchina virtuale nel cloud è ben noto che la porta RDP standard, se lasciata aperta, viene quasi immediatamente attaccata da ondate di tentativi di brute force da vari indirizzi IP in tutto il mondo.
In questo articolo mostrerò come in puoi configurare una risposta automatica ai tentativi di brute force aggiungendo una nuova regola al firewall. InTrust è una per la raccolta, l'analisi e la conservazione di dati non strutturati, con già centinaia di reazioni preimpostate a vari tipi di attacchi.
In Quest InTrust puoi configurare azioni di risposta quando una regola viene attivata. L'agente di raccolta log di InTrust riceve un messaggio di tentativo di autorizzazione fallita su una workstation o un server. Per configurare l'aggiunta di nuovi indirizzi IP al firewall, è necessario copiare una regola di rilevamento esistente per più autorizzazioni fallite e aprire la sua copia per la modifica:

Gli eventi nei registri di Windows utilizzano i cosiddetti InsertionString. (questo è un accesso non riuscito al sistema) e vedrai che i campi di nostro interesse sono memorizzati in InsertionString14 (Nome della workstation) e InsertionString20 (Indirizzo di rete sorgente). Durante un attacco da Internet, il campo con il Nome della workstation sarà probabilmente vuoto, quindi è importante inserire qui il valore dall'Indirizzo di rete sorgente.
Questo è un esempio di come appare il messaggio dell'evento 4625
Si è verificato un errore di accesso a un account.
Oggetto:
ID Sicurezza: S-1-5-21-1135140816-2109348461-2107143693-500
Nome Account: ALebovsky
Dominio Account: LOGISTICS
ID Accesso: 0x2a88a
Tipo Accesso: 2
Account per il quale l'accesso è fallito:
ID Sicurezza: S-1-0-0
Nome Account: Paul
Dominio Account: LOGISTICS
Informazioni sul Fallimento:
Motivo del Fallimento: Account bloccato.
Stato: 0xc0000234
Sottostato: 0x0
Informazioni sul Processo:
ID Processo Chiamante: 0x3f8
Nome Processo Chiamante: C:WindowsSystem32svchost.exe
Informazioni di Rete:
Nome Stazione di Lavoro: DCC1
Indirizzo Rete Sorgente: ::1
Porta Sorgente: 0
Informazioni di Autenticazione Dettagliate:
Processo di Accesso: seclogo
Pacchetto di Autenticazione: Negotiate
Servizi Transitati: -
Nome Pacchetto (solo NTLM): -
Lunghezza Chiave: 0
Questo evento è generato quando una richiesta di accesso fallisce. È generato sul computer dove si è tentato l'accesso.
I campi Oggetto indicano l'account sul sistema locale che ha richiesto l'accesso. Questo è comunemente un servizio come il servizio Server o un processo locale come Winlogon.exe o Services.exe.
Il campo Tipo Accesso indica il tipo di accesso richiesto. I tipi più comuni sono 2 (interattivo) e 3 (rete).
I campi Informazioni sul Processo indicano quale account e processo sul sistema ha richiesto l'accesso.
I campi Informazioni di Rete indicano da dove è originata la richiesta di accesso remota. Il nome della stazione di lavoro non è sempre disponibile e potrebbe essere lasciato vuoto in alcuni casi.
I campi di informazione di autenticazione forniscono dettagli su questa specifica richiesta di accesso.
- I servizi transitati indicano quali servizi intermedi hanno partecipato a questa richiesta di accesso.
- Il nome del pacchetto indica quale sottoprotoccolo è stato utilizzato tra i protocolli NTLM.
- La lunghezza della chiave indica la lunghezza della chiave di sessione generata. Questo sarà 0 se non è stata richiesta alcuna chiave di sessione.
Inoltre, aggiungeremo il valore dell'Indirizzo Rete Sorgente nel testo dell'evento.

Dopo, è necessario aggiungere uno script che blocchi l'indirizzo IP nel firewall di Windows. Qui di seguito un esempio che può essere utilizzato per questo.
Script per configurare il firewall
param(
[Parameter(Mandatory = $true)]
[ValidateNotNullOrEmpty()]
[string]
$SourceAddress
)
$SourceAddress = $SourceAddress.Trim()
$ErrorActionPreference = 'Stop'
$ruleName = 'Quest-InTrust-Block-Failed-Logons'
$ruleDisplayName = 'Quest InTrust: Blocca indirizzi IP da accessi non riusciti'
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
}
Ora è possibile modificare il nome della regola e la sua descrizione per evitare confusione in seguito.

Adesso è necessario aggiungere questo script come azione di risposta alla regola, attivare la regola e assicurarsi che la regola corrispondente sia abilitata nella politica di monitoraggio per la modalità in tempo reale. Deve essere attivata la possibilità di eseguire script di risposta e deve essere specificato il parametro corretto.

Dopo aver effettuato le impostazioni, il numero di tentativi di autorizzazione falliti è diminuito dell'80%. Profitto? Eccome!

A volte si verifica nuovamente un lieve aumento, ma ciò è dovuto all'emergere di nuove fonti di attacco. Poi tutto ritorna a scendere.
Nella settimana di lavoro, 66 indirizzi IP sono stati inclusi nelle regole del firewall.

Di seguito la tabella con 10 nomi utente comuni utilizzati per i tentativi di autorizzazione.
Nome utente
Quantità
In percentuale
amministratore
1220235
40.78
admin
672109
22.46
utente
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
Raccontaci nei commenti come gestisci la risposta alle minacce informatiche. Quale sistema utilizzi, quanto è comodo?
Se sei interessato a vedere InTrust in azione, nel modulo di contatto sul nostro sito o scrivimi in privato.
Leggi altri nostri articoli sul tema della sicurezza informatica:
(articolo popolare)
Fonte: habr.com
