Jak InTrust może pomóc w zmniejszeniu częstotliwości nieudanych prób autoryzacji przez RDP

Jak InTrust może pomóc w zmniejszeniu częstotliwości nieudanych prób autoryzacji przez RDP

Każdy, kto próbował uruchomić maszynę wirtualną w chmurze, wie, że standardowy port RDP, jeśli zostanie pozostawiony otwarty, zostanie niemal natychmiast zaatakowany falą prób łamania hasła z różnych adresów IP z całego świata.

W tym artykule pokażę, jak InTrust można skonfigurować automatyczną reakcję na próby łamania hasła poprzez dodanie nowej reguły do zapory. InTrust to platforma CLM do zbierania, analizy i przechowywania danych nieustrukturyzowanych, która ma już setki predefiniowanych reakcji na różne typy ataków.

W Quest InTrust można skonfigurować działania odpowiedzi na zdarzenia, gdy reguła zostanie uruchomiona. Z agenta zbierającego logi InTrust otrzymuje powiadomienie o nieudanej próbie autoryzacji na stacji roboczej lub serwerze. Aby skonfigurować dodanie nowych adresów IP do zapory, należy skopiować istniejącą specjalną regułę wykrywania wielu nieudanych autoryzacji i otworzyć jej kopię do edycji:

Jak InTrust może pomóc w zmniejszeniu częstotliwości nieudanych prób autoryzacji przez RDP

Wydarzenia w dziennikach Windows wykorzystują tzw. InsertionString. Zobacz odpowiadające wydarzenia dla zdarzenia o kodzie 4625 (to nieudane logowanie do systemu) i zobaczysz, że interesujące nas pola są przechowywane w InsertionString14 (Nazwa stacji roboczej) i InsertionString20 (Adres sieci źródłowej). W przypadku ataku z internetu pole Nazwa stacji roboczej będzie prawdopodobnie puste, dlatego ważne jest, aby w tym miejscu wstawić wartość z Adresu sieci źródłowej.

Tak mniej więcej wygląda tekst zdarzenia 4625

Nie udało się zalogować do konta.
Temat:
	ID zabezpieczeń:		S-1-5-21-1135140816-2109348461-2107143693-500
	Nazwa konta:		ALebovsky
	Domena konta:		LOGISTICS
	ID logowania:		0x2a88a
Rodzaj logowania:			2
Konto, dla którego logowanie nie powiodło się:
	ID zabezpieczeń:		S-1-0-0
	Nazwa konta:		Paul
	Domena konta:		LOGISTICS
Informacje o niepowodzeniu:
	Powód niepowodzenia:		Konto zablokowane.
	Status:			0xc0000234
	Podstatus:		0x0
Informacje o procesie:
	ID procesu wywołującego:	0x3f8
	Nazwa procesu wywołującego:	C:\Windows\System32\svchost.exe
Informacje o sieci:
	Nazwa stacji roboczej:	DCC1
	Adres źródłowy sieci:	::1
	Port źródłowy:		0
Szczegółowe informacje o uwierzytelnieniu:
	Proces logowania:		seclogo
	Pakiet uwierzytelnienia:	Negotiate
	Usługi pośredniczące:	-
	Nazwa pakietu (tylko NTLM):	-
	Długość klucza:		0
Wydarzenie to jest generowane, gdy żądanie logowania kończy się niepowodzeniem. Powstaje na komputerze, na którym próbowano uzyskać dostęp.
Pola Tematu wskazują na konto w lokalnym systemie, które złożyło żądanie logowania. Najczęściej jest to usługa, taka jak usługa serwera, lub lokalny proces, taki jak Winlogon.exe lub Services.exe.
Pole Rodzaj logowania wskazuje, jakiego rodzaju logowanie zostało zażądane. Najczęściej spotykane typy to 2 (interaktywne) i 3 (sieciowe).
Pola Informacje o procesie wskazują, które konto i proces w systemie zażądały logowania.
Pola Informacje o sieci wskazują, skąd pochodziło zdalne żądanie logowania. Nazwa stacji roboczej nie zawsze jest dostępna i może być pusta w niektórych przypadkach.
Pola informacji o uwierzytelnieniu dostarczają szczegółowych informacji na temat tego konkretnego żądania logowania.
	- Usługi pośredniczące wskazują, które usługi pośredniczące wzięły udział w tym żądaniu logowania.
	- Nazwa pakietu wskazuje, który podprotokół był używany w protokołach NTLM.
	- Długość klucza wskazuje długość wygenerowanego klucza sesji. Będzie to 0, jeśli nie zażądano klucza sesji.

Dodatkowo dodamy wartość Adres źródłowej sieci do tekstu zdarzenia.

Jak InTrust może pomóc w zmniejszeniu częstotliwości nieudanych prób autoryzacji przez RDP

Następnie należy dodać skrypt, który zablokuje adres IP w zaporze systemu Windows. Poniżej przykład, który można użyć do tego celu.

Skrypt do konfiguracji zapory

param(
         [Parameter(Mandatory = $true)]
         [ValidateNotNullOrEmpty()]   
         [string]
         $SourceAddress
)

$SourceAddress = $SourceAddress.Trim()
$ErrorActionPreference = 'Stop'
$ruleName = 'Quest-InTrust-Block-Failed-Logons'
$ruleDisplayName = 'Quest InTrust: Blokuje adresy IP z nieudanych logowań'

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
}

Teraz można zmienić nazwę reguły i jej opis, aby później nie powstało zamieszanie.

Jak InTrust może pomóc w zmniejszeniu częstotliwości nieudanych prób autoryzacji przez RDP

Teraz należy dodać ten skrypt jako akcję odpowiedzi do reguły, włączyć regułę i upewnić się, że odpowiednia reguła jest włączona w polityce monitorowania dla trybu rzeczywistego. Na agencie musi być włączona możliwość uruchamiania skryptów odpowiedzi i konieczne jest podanie poprawnego parametru.

Jak InTrust może pomóc w zmniejszeniu częstotliwości nieudanych prób autoryzacji przez RDP

Po wykonanych konfiguracjach liczba nieudanych autoryzacji zmniejszyła się o 80%. Zysk? Jeszcze jaki!

Jak InTrust może pomóc w zmniejszeniu częstotliwości nieudanych prób autoryzacji przez RDP

Czasami następuje mały wzrost, ale to z powodu pojawienia się nowych źródeł ataków. Potem wszystko znowu wraca do normy.

W ciągu tygodnia do reguły zapory trafiło 66 adresów IP.

Jak InTrust może pomóc w zmniejszeniu częstotliwości nieudanych prób autoryzacji przez RDP

Poniżej tabela z 10 najczęściej używanymi nazwami użytkowników, które były wykorzystywane w próbach autoryzacji.

Nazwa użytkownika

Liczba

W procentach

administrator

1220235

40.78

admin

672109

22.46

użytkownik

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

Opowiedz w komentarzach, jak masz zorganizowaną reakcję na zagrożenia bezpieczeństwa informacji. Jakiego systemu używasz, jak wygodny jest?

Jeśli chcesz zobaczyć InTrust w akcji, złóż wniosek w formularzu kontaktowym na naszej stronie lub napisz do mnie osobiście.

Przeczytaj inne nasze artykuły na temat bezpieczeństwa informacji:

Identyfikacja ataku wirusa szyfrującego, uzyskanie dostępu do kontrolera domeny i próby przeciwdziałania tym atakom

Co użytecznego można wydobyć z logów stacji roboczej na bazie systemu Windows (popularny artykuł)

Śledzenie cyklu życia użytkowników bez szczypców i taśmy izolacyjnej

A kto to zrobił? Automatyzacja audytu bezpieczeństwa informacji

Jak obniżyć koszty posiadania systemu SIEM i po co potrzebne jest Central Log Management (CLM)

Źródło: habr.com

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster