Metódy ochrany proti mimikatz v doméne Windows

Koncom júna 2017 si IT komunita pripomenula masívnu infekciu mnohých najväčších spoločností a vládnych agentúr v Rusku, na Ukrajine av ďalších krajinách novým vírusom ransomware Petya (NotPetya). Vo väčšine prípadov sa Petya po preniknutí do podnikovej siete okamžite rozšírila do všetkých počítačov a doménových serverov, čo ochromilo až 70 - 100% celej infraštruktúry Windows. Aj keď jednou z metód distribúcie Petya medzi počítačmi v sieti bolo využitie exploatácie EternalBlue (ako to bolo v prípade WannaCry), nebol to hlavný distribučný kanál ransomware. Na rozdiel od WCry, ktorá bola distribuovaná výhradne kvôli zraniteľnostiam v SMBv1, NotPetya bola pôvodne uväznená za podnikové siete. Po infikovaní systému dostal šifrovač využívajúci verejnú utilitu Mimikatz poverenia (heslá, hash) používateľov počítačov a použil ich na ďalšiu distribúciu v sieti pomocou WMI a PsExec, až do úplnej kontroly nad doménou. Preto na ochranu všetkých systémov nestačilo nainštalovať aktualizáciu MS17-010.

V tomto článku sa budeme venovať základným metódam ochrany systémov Windows v doméne Active Directory pred útokmi pomocou nástrojov typu Mimikatz..

užitočnosť Mimikatz pomocou modulu sekurlsa vám umožňuje extrahovať heslá a hashe oprávnených používateľov uložených v systémovej procesnej pamäti LSASS.EXE (Služba subsystému miestnej bezpečnosti ). Už sme mali článok s príkladom použitia mimikatzu na získanie hesiel používateľov v čistom texte (od WDigest, LiveSSP a SSP)..

obsah:

  • Zabráňte ladeniu
  • Zakazuje sa WDigest
  • Ochrana LSA pred modulmi tretích strán
  • Zakázanie LM a NTLM
  • Zákaz používania reverzibilného šifrovania
  • Používanie skupiny chránených používateľov
  • Nepoužívajte uložené heslá
  • Zakázať vyrovnávaciu pamäť
  • Credential strážca
  • zistenie

Zabráňte ladeniu

Článok z vyššie uvedeného odkazu ukazuje, ako použitie oprávnenia na ladenie umožňuje Mimikatz získať prístup k procesom systému LSASS a extrahovať z neho heslá..

Povolenia režimu ladenia sa predvolene udeľujú miestnej skupine správcov (BUILTIN \ Administrators). Aj keď v 99% prípadov toto oprávnenie administrátori absolútne nevyužívajú (zvyčajne ho potrebujú systémoví programátori), v dôsledku toho je z bezpečnostných dôvodov možnosť použitia oprávnení SeDebugPrivilege lepšie. Uskutočňuje sa to prostredníctvom skupinovej politiky (miestnej alebo domény). Prejdite do sekcie Konfigurácia počítača -> Nastavenia systému Windows -> Nastavenia zabezpečenia -> Miestne politiky -> Pridelenie práv používateľov a povoliť politiku Ladiaci program. V ňom musíte pridať doménovú skupinu používateľov, ktorí môžu potrebovať práva na ladenie (zvyčajne vývojári), alebo ponechať túto skupinu prázdnu, aby nikto nemal toto právo.

Ak sa teraz pokúsite získať ladenie prostredníctvom mimikatz, zobrazí sa chyba:

EROOR kuhl_m_privilege_simple; RtlAdjustPrivilege (20) c0000061

poznámka. Obmedzenia uložené touto politikou sa však dajú ľahko obísť.

Zakazuje sa WDigest

Protokol WDigest sa objavil v systéme Windows XP a používal sa na vykonávanie autentifikácie HTTP Digest Authentication (HTTP Digest Authentication), ktorej črtou bolo jasné použitie hesla používateľa. Windows 8.1 a Server 2012 R2 pridali možnosť úplne zakázať ukladanie hesiel v čistom texte v jazyku LSASS. Ak chcete zakázať ukladanie WDigestu do pamäte, v týchto operačných systémoch v pobočke registra HKEY_LOCAL_MACHINE \ System \ CurrentControlSet \ Control \ SecurityProviders \ WDigest už je pomenovaný parameter DWORD32 UseLogonCredential a hodnota 0.

Ak potrebujete úplne zakázať metódu overovania WDigest, v rovnakej vetve (HKEY_LOCAL_MACHINE \ System \ CurrentControlSet \ Control \ SecurityProviders \ WDigest) nastavte kľúčovú hodnotu vyjednávať v 0.

Na podporu tejto funkcie v systémoch Windows 7, 8 a Windows Server 2008 R2 / 2012 musíte nainštalovať špeciálnu aktualizáciu - KB2871997 a potom nastaviť rovnaké kľúče databázy Registry. V prostredí domény sa nastavenia databázy Registry najľahšie distribuujú pomocou skupinovej politiky.

rada. Ak odmietnete ukladať WDigest do pamäte, v prvom rade sa oplatí otestovať správnosť autorizácie používateľov a aplikácií na serveroch IIS..

Ochrana LSA pred modulmi tretích strán

Windows 8.1 a Windows Server 2012 R2 zaviedli schopnosť povoliť ochranu LSA, ktorá chráni pamäť LSA a zabraňuje možnosti pripojenia k nej pred nezabezpečenými procesmi. Ak chcete povoliť túto ochranu, musíte v pobočke registra HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ LSA vytvoriť parameter RunAsPPL s hodnotou 1.

Po použití tohto parametra útočník nebude mať prístup k pamäti LSA a mimikatz vydá chybu s príkazom securlsa :: logonpassword

ERROR kuhl_m_securlsa_acquireLSA: Handle on memory (0x00000005).

Zakázanie LM a NTLM

Zastaraný autentifikačný protokol LM a podľa toho aj ukladanie hash LM sa musia vypnúť pomocou skupinovej politiky Network Security: Neukladajte hodnotu hash LAN Manager pri ďalšej zmene hesla (na úrovni predvolenej politiky domény).

Ďalej musíte opustiť používanie aspoň protokolu NTLMv1 (politika v časti Konfigurácia počítača -> Politiky -> Nastavenia systému Windows -> Nastavenia zabezpečenia -> Lokálne politiky -> Možnosti zabezpečenia  -  Zabezpečenie siete: Obmedzte NTLM: overenie NTLM v tejto doméne), a ako maximum a NTLMv2

A ak odmietnutie NTLMv1 je zvyčajne bezbolestné, potom bude musieť tvrdo pracovať na odmietnutí NTLMv2. Vo veľkých infraštruktúrach sa spravidla dostávajú do scenára maximálneho obmedzenia využívania NTLMv2. tj všade, kde je to možné, by sa mala použiť autentifikácia Kerberos (spravidla sa bude vyžadovať ďalší čas na konfiguráciu autentifikácie Kerberos na IIS a SQL) a na zostávajúcich systémoch - NTLMv2.

Zákaz používania reverzibilného šifrovania

Malo by byť výslovne zakázané ukladať heslá používateľov v AD v textovej podobe. Ak to chcete urobiť, povoľte politiku domény Uložte heslo pomocou reverzibilného šifrovania pre všetkých používateľov v doméne v časti Konfigurácia počítača -> Nastavenia systému Windows -> Nastavenia zabezpečenia -> Zásady účtu -> Zásady hesla, nastavte jeho hodnotu na hodnotu Zakázané.

Používanie skupiny chránených používateľov

Pri použití funkčnej úrovne domény Windows Server 2012 R2 je možné na ochranu privilegovaných používateľov použiť špeciálnu chránenú skupinu Chránení používatelia. Tieto účty sú chránené pred zneužitím najmä kvôli tomu, že členovia tejto skupiny sa môžu prihlásiť iba prostredníctvom protokolu Kerberos (žiadne NTLM, WDigest a CredSSP) atď. (podrobnosti o vyššie uvedenom odkaze). Odporúča sa pridať do tejto skupiny účty správcov domén, serverov atď. Táto funkcia funguje na serveroch a bude fungovať aj na systéme Windows Server 2012 R2 (pre systém Windows Server 2008 R2 je potrebné nainštalovať ďalšiu aktualizáciu uvedenú vyššie) KB2871997)

Nepoužívajte uložené heslá

Používateľom domény môžete zabrániť v ukladaní hesiel na prístup k sieťovým zdrojom v aplikácii Credential Manager.

Ak to chcete urobiť, povoľte politiku Sieťový prístup: Nepovoľujte ukladanie hesiel a poverení na sieťovú autentifikáciu  v časti Konfigurácia počítača -> Nastavenia systému Windows -> Nastavenia zabezpečenia -> Miestne politiky -> Možnosti zabezpečenia.

<poznámka. Upozorňujeme, že použitie uložených hesiel v úlohách plánovača bude tiež zakázané..

Zakázať vyrovnávaciu pamäť

Jednou z funkcií mimikátov je získať hash hesiel používateľov z vetvy registra HKEY_LOCAL_MACHINE \ SECURITY \ Cache, do ktorých sú uložené hashovacie heslá posledných 10 (predvolene) používateľov domény, ktorí sa prihlásili. Tieto hash sa zvyčajne dajú použiť na autorizáciu používateľov v systéme, keď radič domény nie je k dispozícii.

Je vhodné zakázať používanie uchovávania údajov v vyrovnávacej pamäti povolením politiky interaktívne Logon: číslo z predchádzajúca prihlasovanie na cache (v púzdro doména kontrolór je nie k dispozícii) v časti Konfigurácia počítača -> Nastavenia systému Windows -> Miestna politika -> Možnosti zabezpečenia, zmeňte hodnotu jeho parametra na 0.

Navyše, aby ste urýchlili čistenie pamäte procesu lsass z užívateľských účtov, ktoré ukončili reláciu, musíte v pobočke HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Lsa musíte vytvoriť kľúč DWORD s menom TokenLeakDetectDelaySecs a hodnota 30. tj pamäť sa vymaže 30 sekúnd po logu používateľa. V systéme Windows 7, 8 / Server 2008R2, 2012, aby tento kľúč fungoval, musíte nainštalovať predtým uvedenú aktualizáciu KB2871997..

Ochranca poverenia

V systéme Windows 10 Enterprise, Windows Server 2016 bola pridaná nová súčasť Credential Guard, ktorá izoluje a chráni proces systému LSASS pred neoprávneným prístupom. Podrobnosti nájdete tu.

zistenie

Vyššie diskutované opatrenia významne znížia schopnosti mimikatz a podobných nástrojov na získanie hesiel a hash správcov z procesu LSASS a registra. V každom prípade musia byť pri rozhodovaní o vykonávaní týchto politík a metód zavedené vo fázach s povinným testovaním..

V nasledujúcom článku preskúmame osvedčené postupy na zlepšenie bezpečnosti siete Windows obmedzením používania účtov správcu, čo by na technickej a organizačnej úrovni malo zlepšiť ochranu domény Windows pred takýmito útokmi. Zostaňte naladení!