Menu dostępności

Przed czym chroni, a na co pozwala Windows Defender Credential Guard

Credential Guard to jeden z modułów aplikacji Windows Defender dostępny tylko na systemy Windows 10 oraz Windows 2016 w wersji Enterprise. Jak nazwa wskazuje, zapewnia ochronę danych logowania użytkowników systemu Windows w celu zapobiegania atakom kradzieży poświadczeń. W artykule przedstawimy koncepcję rozwiązania oraz omówimy przypadki w jakich popularny Mimikatz nadal stanowi zagrożenie.


Ochroniarz poświadczeń od Microsoftu


Credential Guard polega na nowej technologii wprowadzonej w systemach Windows 10 i Windows Server 2016: Virtual Secure Mode (VSM). VSM to wykorzystanie możliwości wirtualizacji nowoczesnych procesorów, w celu zapewnienia oddzielnej przestrzeni pamięci, w której można przechowywać dane niedostępne z poziomu systemu operacyjnego. Izolowana pamięć jest chroniona sprzętowo przed próbami odczytu i zapisu przez procesy z normalnego obszaru pamięci Windows. Dzięki temu tylko uprzywilejowane oprogramowanie systemowe może uzyskać do niej dostęp. Nieautoryzowany dostęp do przechowywanych w pamięci poświadczeń może prowadzić do ataków takich jak Pass-the-Hash lub Pass-the-Ticket. Usługa Credential Guard teoretycznie zapobiega tym atakom, chroniąc hashe haseł NTLM, bilety Kerberos oraz poświadczenia przechowywane przez aplikacje.

Gdy Credential Guard jest włączony, usługa Local Security Authority Subsystem Service (LSASS) zostaje rozłożona na dwa procesy: normalny proces LSA i wyizolowany proces LSA (który działa w VSM). Przedstawiono to na schemacie poniżej.

Schemat architektury systemu z uruchomioną usługą Credential Guard

Co to znaczy w praktyce


Po włączeniu Windows Defender Credential Guard zapewnione są następujące funkcje bezpieczeństwa:

Zabezpieczenie sprzętowe: NTLM, Kerberos i Credential Manager wykorzystują możliwości platformy sprzętowej, takie jak Secure Boot i wirtualizacja, w celu ochrony poświadczeń.

Zabezpieczenie bazujące na wirtualizacji: Windows NTLM i poświadczenia pochodzenia Kerberos używane są w chronionym środowisku, odizolowanym od uruchomionego systemu operacyjnego.

Lepsza ochrona przeciwko atakom wewnętrznym: Gdy dane uwierzytelniające są chronione za pomocą zabezpieczeń opartych na wirtualizacji, narzędzia do kradzieży poświadczeń używane w wielu targetowanych atakch (np. Mimikatz) będą blokowane. Złośliwe oprogramowanie działające nawet na uprawnieniach administratora nie może wyodrębnić informacji przechowywanych w odizolowanym sprzętowo środowisku, ponieważ jest to technicznie niemożliwe.

Microsoft wierzy, że Credential Guard to potężne narzędzie do łagodzenia dużej części ataków typu „presistent threat”, jednak równocześnie zastrzega(ł), że prawdopodobnie powstaną nowe metody i zaleca włączenie funkcji Windows Defender Device Guard oraz innych systemów architektury bezpieczeństwa.


Credential Guard vs Mimikatz


Na przykładzie Mimikatz’a przedstawimy przed jakimi dokładnie technikami chroni włączona funkcja Credential Guard, a na co jesteśmy nadal podatni.

Po próbie pobrania hashy komendą sekurlsa::logonpasswords otrzymamy zaszyfrowany ciąg znaków, który nie ma nic wspólnego z hashem NTLM. W tym przypadku Mimikatz więc nie zadziała.

Wynik z Mimikatz po wpisaniu komendy: sekurlsa::logonpasswords

Próbując kilka komend z modułu lsadump, który zagląda do pamięci procesu lsa otrzymamy:

  • lsadump::lsa – nie zadziała, dla każdego konta otrzymamy błąd odczytu pamięci
  • lsadump::secrets – zadziała, uda się odczytać klucz systemowy i zdekodować informacje z rejestru
  • lsadump:: sam – zadziała, poświadczenia kont lokalnych nie są chronione : )

Credential Guard uniemożliwia wykonanie popularnego ataku pass-the-hash. Po wpisaniu komendy sekurlsa::pth /user:’user’ /domain:’domain’ /ntlm:’hash’ zobaczymy następujący komunikat o błędzie dostępu do pamięci:

Wynik z Mimikatz po próbie wywołania pass-the-hash

Co ciekawe, ataki DCSync oraz Golden Ticket wykonane za pomocą Mimikatz’a zadziałają.

Zaprezentowanie przez Microsoft usługi Credential Guard i zwrócenie się niejako bezpośrednio do twórcy Mimikatz’a, Benjamin’a Delpy, spowodowało szybką reakcję i przyczyniło się do powstania nowej techniki przechwytywania poświadczeń. Zaprezentowana oficjalnie na twitterze autora metoda polega na wstrzyknięciu do pamięci biblioteki dll, która podszywa się pod tzw. Security Support Provider i bierze udział w uwierzytelnianiu użytkowników. Dzięki temu zaszytemu w pamięci exploitowi cyberprzestępcy są w stanie przejąć poświadczenia w trakcie zdarzenia zalogowania, czyli zanim jeszcze zajdzie interakcja z izolowanym obszarem pamięci. SSP pozostanie w pamięci dopóki system nie zostanie zrestartowany.
Służy do tego komenda misc::memssp. Ona zaszywa w pamięci kod, który loguje czystym tekstem wszystkie hasła wpisywane przez użytkowników. Coś jak keylogger, jednak bez zapisywania czegokolwiek na dysku.

Użycie techniki umieszczania w pamięci ssp

Tak więc, Credential Guard oferuje pewne zabezpieczenia przed technikami „out-of-the-box” Mimikatz’a. Jednak jak widzimy, twórca znanego narzędzia znalazł na to obejście dzięki bibliotece dll, która umieszczona w pamięci może przechwytywać hasła użytkowników podczas zalogowania. Również Mimikatz i inne podobne narzędzia mogą nadal pobierać hashe kont lokalnych, gdyż te są przechowywane na dysku, a nie w pamięci procesu lsass.

Co więcej, ataki typu DCSync, DCShadow czy Golden Ticket zadziałają tak samo skutecznie, gdyż tutaj atakujący nie zaglądają do procesu lsass, tylko korzystają z wykradniętych już hashy i mechanizmów replikacji Active Directory.

Podsumowując, Windows Defender Credential Guard rzeczywiście zablokuje wiele popularnych technik wykradania hashy oraz wykorzystywania skradzionych poświadczeń. Jeśli mamy Windows 10 lub Windows 2016 w wersji Enterprise oraz spełniamy wymagania sprzętowe z pewnością warto włączyć tę opcję. Miejmy jednak na uwadze, że jak każde narzędzie do bezpieczeństwa, nie daje nam stuprocentowej ochrony. O atakach na Microsoft pisaliśmy na Kapitanie Hacku w kampanii Killchain.

Popularne

Jak zmienić nieznane/zapomniane hasło Administratora na Windows?

Jak zmienić nieznane/zapomniane hasło Administratora na Windows?

W tym artykule pokażemy, jak możemy zmienić hasło administratora na komputerze posiadając do niego fizyczny dostęp. Artykuł ten można potraktować także jako przestrogę dla firm, które nie zaimplementowały jeszcze odpo...
Jak awaria Azure Front Door rzuciła cień na globalne usługi chmurowe

Jak awaria Azure Front Door rzuciła cień na globalne usługi chmurowe

W środę 9 października użytkownicy platformy Microsoft Azure na całym świecie doświadczyli poważnych zakłóceń. Wiele usług stało się niedostępnych, a administratorzy nie mogli nawet zalogować się do portalu...
Jak poznać hasło administratora lub użytkowników logujących się do Twojego komputera?

Jak poznać hasło administratora lub użytkowników logujących się do Twojego komputera?

Jeśli masz odrobinę szczęścia lub „odpowiednie umiejętności” i potrafisz zdobyć lokalne uprawnienia administracyjne na Twoim komputerze w firmie lub zaliczasz się do grona tych szczęściarzy, którzy pracuj...
Czego nie mówi Broadcom? Luka w VMware jest banalna do wykorzystania i korzysta z niej co najmniej jedna grupa hakerska!

Czego nie mówi Broadcom? Luka w VMware jest banalna do wykorzystania i korzysta z niej co najmniej jedna grupa hakerska!

Niedawno załatana wysoce poważna luka w zabezpieczeniach VMware jest wykorzystywana jako zero-day od października 2024 roku do wykonywania kodu z podwyższonymi uprawnieniami. Taką informacją podzieliło się w...
Uwaga, administratorzy oraz zespoły bezpieczeństwa Splunk! Sześć krytycznych luk w Splunk Enterprise – analiza i rekomendacje

Uwaga, administratorzy oraz zespoły bezpieczeństwa Splunk! Sześć krytycznych luk w Splunk Enterprise – analiza i rekomendacje

Splunk opublikował ważne informacje, dotyczące szeregu nowych podatności w swoich produktach Splunk Enterprise i Splunk Cloud Platform. Luki mogą umożliwić atakującym wykonanie nieautoryzowanego kodu Ja...