Metode zaštite od mimikatza u Windows domeni

Kraj lipnja 2017. IT zajednica je zapamtila po masovnoj zarazi mnogih najvećih tvrtki i vladinih agencija u Rusiji, Ukrajini i drugim zemljama novim Petya (NotPetya) ransomware virusom. U većini slučajeva, nakon prodora u korporativnu mrežu, Petya se odmah proširio na sva računala i poslužitelje domena, paralizirajući do 70-100% cjelokupne Windows infrastrukture. Iako je jedan od načina distribucije Petye između računala na mreži bio korištenje EternalBlue iskorištavanja (kao što je to bio slučaj s WannaCry), to nije bio glavni kanal distribucije ransomwarea. Za razliku od WCry-a, koji je distribuiran isključivo zbog ranjivosti u SMBv1, NotPetya je prvobitno bio zatvoren za korporativne mreže. Nakon zaraze sustava, šifrir koji koristi javni uslužni program Mimikatz primio je vjerodajnice (lozinke, hasheve) korisnika računala i koristio ih za daljnju distribuciju preko mreže pomoću WMI i PsExec-a, do potpune kontrole nad domenom. Prema tome, za zaštitu svih sustava nije bilo dovoljno za instaliranje ažuriranja MS17-010.

U ovom ćemo članku raspravljati o osnovnim metodama zaštite Windows sustava u domeni Active Directory od napada koristeći Mimikatz-ove alate..

korisnost Mimikatz pomoću modula sekurlsa omogućuje izdvajanje lozinki i heševa ovlaštenih korisnika pohranjenih u memoriji sistemskog procesa LSASS.EXE (Usluga lokalnog sigurnosnog podsustava ). Već smo imali članak s primjerom korištenja mimikatz-a za dobivanje korisničkih lozinki u jasnom tekstu (sa WDigest-a, LiveSSP-a i SSP-a).

sadržaj:

  • Spriječite ispravljanje pogrešaka
  • Onemogućavanje WDigest-a
  • LSA zaštita od modula treće strane
  • Onemogućavanje LM i NTLM
  • Zabrana upotrebe reverzibilne enkripcije
  • Korištenje zaštićene grupe korisnika
  • Ne koristite spremljene lozinke
  • Odbiti vjerodostojno predanje
  • Vjerodostojni čuvar
  • nalazi

Spriječite ispravljanje pogrešaka

Članak s gornje veze pokazuje kako korištenje povlaštenja za uklanjanje pogrešaka omogućuje Mimikatz-u pristup procesu LSASS sustava i izvlačenje lozinki iz njega.

Dopuštenja se dopuštaju u načinu uklanjanja pogrešaka lokalnoj grupi administratora (BUILTIN \ Administratori). Iako u 99% slučajeva administracija apsolutno ne koristi ovu privilegiju (obično je potrebna programerima sustava), u skladu s tim, iz sigurnosnih razloga, mogućnost korištenja privilegija SeDebugPrivilege bolje. To se provodi kroz grupna pravila (lokalna ili domena). Idite na odjeljak Konfiguracija računala -> Postavke sustava Windows -> Sigurnosne postavke -> Lokalna pravila -> Dodjela korisničkih prava i omogućiti politiku Program za uklanjanje pogrešaka. U njemu trebate dodati grupu korisnika koja će možda trebati prava za uklanjanje pogrešaka (obično programeri) ili ovu grupu ostaviti praznom tako da nitko nema to pravo.

Ako pokušate popraviti program mimikatz, pojavljuje se pogreška:

EROOR kuhl_m_privilege_simple; RtlAdjustPrivilege (20) c0000061

primjedba. Međutim, ograničenja koja postavlja ova politika mogu se lako zaobići - veza.

Onemogućavanje WDigest-a

WDigest protokol pojavio se u Windows XP i korišten je za provođenje HTTP Digest Authentication (HTTP Digest Authentication), čija je značajka bila upotreba korisničke lozinke u jasnom obliku. Windows 8.1 i Server 2012 R2 dodali su mogućnost potpune zabrane pohrane lozinki u jasnom tekstu u LSASS. Zabraniti pohranu WDigest-a u memoriju u ovim OS-ovima u ogranku registra HKEY_LOCAL_MACHINE \ Sustav \ CurrentControlSet \ Control \ SecurityProviders \ WDigest već postoji naziv DWORD32 parametar UseLogonCredential i vrijednost 0.

Ako trebate potpuno onemogućiti WDigest metodu provjere autentičnosti, u istoj grani (HKEY_LOCAL_MACHINE \ Sustav \ CurrentControlSet \ Control \ SecurityProviders \ WDigest) postaviti ključnu vrijednost pregovarati u 0.

Da biste podržali ovu značajku u sustavima Windows 7, 8 i Windows Server 2008 R2 / 2012, morate instalirati posebno ažuriranje - KB2871997, a zatim postaviti iste ključeve registra. U domenskom okruženju postavke registra najlakše je distribuirati pomoću Grupnih pravila.

vijeće. Ako odbijate pohraniti WDigest u memoriju, prije svega, vrijedi testirati ispravnost autorizacije korisnika i aplikacija na IIS poslužiteljima.

LSA zaštita od modula treće strane

Windows 8.1 i Windows Server 2012 R2 uveli su mogućnost omogućavanja LSA zaštite, koja štiti LSA memoriju i sprječava mogućnost povezivanja na nju iz nesigurnih procesa. Da biste omogućili ovu zaštitu, morate se u podružnici registra HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ LSA stvoriti parametar RunAsPPL s vrijednošću 1.

Nakon primjene ovog parametra, napadač neće moći pristupiti LSA memoriji, a mimikatz će izdati pogrešku sa naredbom securlsa :: logonpassword

GREŠKA kuhl_m_securlsa_acquireLSA: rukovanje s memorijom (0x00000005).

Onemogućavanje LM i NTLM

Zastarjeli protokol provjere autentičnosti LM-a i, shodno tome, pohrana LM heševa moraju biti onemogućeni korištenjem pravila grupe Network Security: Nemojte pohranjivati ​​vrijednost hash-a LAN Managera na sljedeću promjenu lozinke (na zadanoj razini pravila domene).

Zatim trebate napustiti upotrebu barem protokola NTLMv1 (pravilo u odjeljku Konfiguracija računala -> Politike -> Postavke sustava Windows -> Sigurnosne postavke -> Lokalne politike -> Sigurnosne mogućnosti  -  Mrežna sigurnost: Ograniči NTLM: NTLM provjeru autentičnosti na ovoj domeni), a kao maksimum i NTLMv2

A ako je odbacivanje NTLMv1 obično bezbolno, tada će odbacivanje NTLMv2 morati naporno raditi. U velikim infrastrukturama u pravilu dolaze do scenarija maksimalnog ograničenja upotrebe NTLMv2. tj kad god je to moguće, treba koristiti Kerberos provjeru autentičnosti (u pravilu će biti potrebno dodatno vrijeme za konfiguriranje Kerberos provjere autentičnosti na IIS i SQL), a na ostalim sustavima - NTLMv2.

Zabrana upotrebe reverzibilne enkripcije

Treba izričito zabraniti pohranu korisničkih lozinki u AD u tekstualnom obliku. Da biste to učinili, omogućite pravila o domenama Spremite lozinku koristeći reverzibilnu enkripciju za sve korisnike u domeni u odjeljku Konfiguracija računala -> Postavke sustava Windows -> Sigurnosne postavke -> Pravila računa -> odjeljak Pravila zaporke, postavljajući njegovu vrijednost na Disabled.

Korištenje zaštićene grupe korisnika

Pri korištenju funkcionalne razine domene Windows Server 2012 R2 moguće je koristiti posebnu zaštićenu grupu zaštićenih korisnika radi zaštite povlaštenih korisnika. Ti su računi posebno zaštićeni od ugrožavanja zbog činjenice da se članovi ove grupe mogu prijaviti samo putem Kerberosa (bez NTLM, WDigest i CredSSP) itd. (detalji na poveznici iznad). Preporučuje se ovoj grupi dodati račune administratora domena, poslužitelja itd. Ova funkcionalnost funkcionira na poslužiteljima i radit će na Windows Server 2012 R2 (za Windows Server 2008 R2 trebate instalirati gore spomenuto dodatno ažuriranje KB2871997)

Ne koristite spremljene lozinke

Korisnici domene možete spriječiti da spremaju svoje lozinke za pristup mrežnim resursima u Credential Manageru.

Da biste to učinili, omogućite politiku Pristup mreži: Ne dopuštajte pohranu lozinki i vjerodajnica za mrežnu provjeru autentičnosti  u odjeljku Konfiguracija računala -> Postavke sustava Windows -> Postavke sigurnosti -> Lokalna pravila -> Sigurnosne mogućnosti.

<primjedba. Imajte na umu da će i uporaba spremljenih zaporki u zadacima planera biti zabranjena..

Odbiti vjerodostojno predanje

Jedna od značajki mimikats-a je dobiti hash korisničkih lozinki iz podružnice registra HKEY_LOCAL_MACHINE \ SECURITY \ Predmemorija, u koje se pohranjuju hash-ovi zaporki zadnjih 10 (zadano) korisnika domene koji su se prijavili. Ovi se hashei obično mogu koristiti za autorizaciju korisnika u sustavu kada kontroler domene nije dostupan.

Preporučljivo je zabraniti uporabu spremljenog pohranjivanja podataka omogućavanjem pravila interaktivni Prijava: broj od prijašnji prijave u predmemorija (u slučaj domena kontrolor je nije na raspolaganju) u odjeljku Konfiguracija računala -> Postavke sustava Windows -> Lokalna politika -> Sigurnosne mogućnosti, mijenjanje vrijednosti njegovog parametra u 0.

Pored toga, kako biste ubrzali čišćenje memorije lsass procesa s korisničkih računa koji su završili sesiju, morate se u podružnici HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Lsa morate stvoriti ključ DWORD s imenom TokenLeakDetectDelaySecs i vrijednost 30. tj memorija će se očistiti 30 sekundi nakon korisnikovog logotipa. U sustavu Windows 7, 8 / Server 2008R2, 2012, da bi ovaj ključ radio, morate instalirati prethodno spomenuto ažuriranje KB2871997.

Vjerodostojni čuvar

U sustavu Windows 10 Enterprise, Windows Server 2016, dodana je nova komponenta vjerodajnice kako bi se izolirao i zaštitio proces sustava LSASS od neovlaštenog pristupa. Pojedinosti možete pronaći ovdje.

nalazi

Gore spomenute mjere značajno će umanjiti mogućnosti mimikatza i sličnih alata za dobivanje lozinki i heševa administratora iz LSASS procesa i registra. U svakom slučaju, kada se odlučuje o provedbi ovih pravila i metoda, one se moraju uvesti u fazama uz obavezno testiranje..

U sljedećem članku raspravljat ćemo o najboljim praksama za poboljšanje sigurnosti Windows mreže ograničavanjem upotrebe administracijskih računa, što bi na tehničkoj i organizacijskoj razini trebalo poboljšati zaštitu Windows domene od takvih napada. Ostanite u toku!