Menu dostępności

Jak „zabezpieczyć” komputer przed kradzieżą haseł z pamięci?

O problemie związanym z przechowywaniem w pamięci haseł oraz ich hash’y przez system operacyjny Windows pisaliśmy na Kapitanie Hack’u w kampanii CYBER KILLCHAIN. Okazuję się, że cyberprzestępcy używając takich narzędzi jak np. Mimikatz mogą w prosty sposób pobrać hasła i hash-e z pamięci komputera i wykorzystywać do przeprowadzenia dalszych ataków.
Może nie wszyscy zdają sobie z tego sprawę, ale w systemie Windows znajduje się ustawienie, które jest domyślnie wyłączone i może nam pomóc w zabezpieczeniu się. Włączenie tego ustawienia pozwali nam się chronić przed tego typu zagrożeniem. W tytule specjalnie użyliśmy słowa „zabezpieczyć” w cudzysłowie, ponieważ jak się okazuje, i opiszemy to poniżej, zabezpieczenie nie gwarantuje nam 100% skuteczności. Pokażemy, dlaczego w poniższym artykule.


Co to jest proces LSASS.exe?

LSASS (ang. Local Security Authority Subsystem Service) jest jednym z najbardziej krytycznych procesów w systemie operacyjnym Microsoft Windows. Kto jeszcze z nim nie miał do czynienia to pewnie nie koncentrował się na Windows. Proces Lsass.exe odpowiedzialny jest za egzekwowanie polityki bezpieczeństwa w systemie – sprawdza użytkowników logujących się do komputera lub serwera Windows (lokalnie oraz przy pomocy zdalnego pulpitu), obsługuje zmiany haseł i tworzy tokeny dostępu. W przypadku kontrolerów domeny w Active Directory jest odpowiedzialny za całość procesów uwierzytelniania użytkowników i odpytywania po LDAP usługi katalogowej. Czyli pełni rolę takiego lokalnego strażnika zabezpieczeń systemowych. Jego aktywność jest zapisywana w dzienniku zabezpieczeń systemu Windows (Security). Ponieważ lsass.exe jest kluczowym plikiem systemowym, jego nazwa jest często fałszowana przez złośliwe oprogramowanie. Plik lsass.exe używany przez system Windows znajduje się w katalogu systemowym „Windows” w podfolderze „System32” (najczęściej domyślnie w „C:\Windows\System32”). Jeśli więc zaobserwujesz w Task Managerze (menadżer zadań), że jest on uruchomiony z innej lokalizacji to najprawdopodobniej złapałeś wirusa, oprogramowanie szpiegujące, trojana lub robaka. Zdarza się też, że cyberprzestępcy ze względu na sposób, w jaki niektóre systemy wyświetlają czcionki, mogą nazwać ten plik czymś w rodzaju Isass.exe (duże „I” zamiast małej „l”), aby skłonić użytkowników do zainstalowania lub wykonania złośliwego zamiast zaufanego w systemie pliku.

Właściwości procesu LSASS.exe w Menadżerze zadań Windows

Proces LSASS.exe stał się także przedmiotem ataków hackerskich wykorzystujących luki w jego architekturze bezpieczeństwa, w głównej mierze związane z niezabezpieczoną alokacją w pamięci haseł użytkowników. Narzędzia takie jak Mimikatz wyodrębnia z procesu lsass poświadczenia bez względu na to, czy uruchamiamy je bezpośrednio na serwerze lub stacji roboczej. Może też wykonać zrzut pamięci procesu lsass do pliku i wyodrębnić z niego poświadczenia w późniejszym etapie.


Ochrona procesu LSASS.exe (LSA Protection)

Ochrona procesu LSASS.exe jest ważnym elementem hardeningu systemu Windows. Od wersji Windows Server 2012 R2 i Windows 8.1 oraz nowszych w systemie znajduję się specjalistyczne ustawienie „RunAsPPL” pozwalające zmitygować ryzyko przejęcia haseł z lsass.exe przez oprogramowanie używane przez cyberprzestępców. Kradzież poświadczeń (haseł) jest z punktu hackera jest banalna jeśli uzyskają oni dostęp do systemu na uprawnieniach administratorskich (kilka razy pisaliśmy o użyciu Mimikatz). Dlatego tak ważne jest, abyśmy podczas naszej codziennej pracy na komputerze nie pracowali na koncie z uprawnieniami administracyjnymi!

W systemie Windows 10 i Server 2016 Microsoft zrobił postęp i zaimplementował narzędzie Credential Guard, które pomaga złagodzić problem jednak wcześniejsze wersje systemu Windows są nadal podatne na tego typu ataki.

Zgodnie z następującym artykułem Microsoft, jesteśmy w stanie uruchomić LSASS w specjalnym trybie chronionym. Jeśli zaimplementujemy w systemie ustawienie RunAsPPL zasadniczo uniemożliwimy Mimikatz’owi i podobnemu złośliwemu oprogramowaniu poprawne działanie. Oprócz tego uniemożliwimy również wykonanie zrzutu z pamięci procesu lsass do pliku za pomocą menedżera zadań.


Co musimy zrobić, aby włączyć zabezpieczenie Lsass.exe?

Po pierwsze musimy uruchomić edytor rejestru (narzędzie „regedit”) na prawach administratora lokalnego i dodać następujący klucz DWORD o nazwie RunAsPPL i wartości 1 w ścieżce:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa

Po tej zmianie musimy zrestartować komputer.

Ustawienie w rejestrze pozwalające na ochronę procesu lsass.exe

Po tej operacji powinniśmy być zabezpieczeni przed wykonaniem zrzutu pamięci z procesu „lsass.exe” do pliku oraz domyślnym działaniem Mimikatz’a.

Nieudana próba wykonania pliku zrzutu pamięci dla procesu lsass.exe

Ponieważ zwykłe narzędzie Mimikatz jest rozpoznawane i blokowane przez usługę Windows Defender w celu zademonstrowania działania narzędzia Mimikatz wykonaliśmy kompilację własnego (kapitan.exe) opisaną tutaj. Poniżej przedstawiliśmy próbę pobrania haseł z pamięci narzędzia Mimikatz (kapitan.exe) przy użyciu komendy „sekurlsa::logonpasswords

Zakończona fiaskiem próba pobrania haseł użytkowników z Windows wykonana za pomocą naszej wersji narzędzia Mimikatz

Czy należy do końca ufać zabezpieczeniu RunAsPPL?

Jak to w świecie Microsoft – wszystko byłoby pięknie, gdyby nie pojawiło się kolejne obejście zabezpieczenia. Tak jak w przypadku opisywanego obejścia zabezpieczenia Credential Guard w Windows 10 i Windows 2016, tak ustawieniem RunAsPPL nie osiągniemy w pełni skutecznych zabezpieczeń. Okazuje się, że używając specjalnego sterownika w postaci pliku „mimidrv.sys” możemy usunąć flagi zabezpieczeń w Windows (w tym blokadę UEFI) i obejść zabezpieczenie Microsoft bez konieczności wykonywanie restartu komputera.

Obejście blokady RunAsPPL wykonane w programie Mimikatz

Obejście działa dla najnowszych systemów Windows 10 (wersja 1903 x64 oraz x86). Poniżej przedstawiamy krótkie demo:


Jak sobie radzić z problemem?

Jak widać na powyższym filmie w celu wykonania obejścia blokady RunAsPPL musimy uruchomić program Mimikatz na poświadczeniach posiadających uprawnienie lokalnego administratora. Jest to dla nas bardzo ważne ostrzeżenie, aby używać takich uprawnień jedynie w wyjątkowych sytuacjach oraz pracować na co dzień na poświadczeniach zwykłego użytkownika.

Na pomoc w wykrywaniu tego typu sytuacji może przyjść nam włączenie obsługi HVCI umożliwiając blokadę wgrywania sterowników nie posiadających certyfikatu oraz sprawdzaniu integralności systemu. Jednak włączenie tej funkcji w organizacjach może blokować działanie niektórych legalnych programów, więc implementacja jej może być ryzykowna. W przypadku HVCI i Mimikatz, autor programu chwali się, że potrafi je również obejść.

Monitorowanie malware pod kątem zagrożeń w systemie (wstrzykiwania do pamięci sterowników, monitorowanie procesów itp.) wydaje się być na obecny czas najbardziej skuteczną metodą pozwalająca dowiedzieć się o tego typu przypadkach.

Popularne

Grupa ransomware zyskuje pełną kontrolę nad platformą Azure! Analiza ataku

Grupa ransomware zyskuje pełną kontrolę nad platformą Azure! Analiza ataku

Ciekawe informacje przynoszą badacze Microsoft. Opisali oni, w jaki sposób często omawiane przez nas ataki na AD mogą posłużyć do przejęcia całego środowiska chmurowego. Jako przykład służy Storm-0501 ...
PromptLock – pierwszy ransomware oparty na sztucznej inteligencji!

PromptLock – pierwszy ransomware oparty na sztucznej inteligencji!

MalwareAI, czyli złośliwe oprogramowanie oparte na sztucznej inteligencji, jest bliżej, niż oczekiwano. Odkryto pierwszą rodzinę ransomware wykorzystującą systemy sztucznej inteligencji do operacji lokalny...
Cyberprzestępcy sięgają po formularze „Contact Us” – nowy atak phishingowy na firmy produkcyjne

Cyberprzestępcy sięgają po formularze „Contact Us” – nowy atak phishingowy na firmy produkcyjne

Najnowsza kampania phishingowa, ujawniona przez badaczy z Check Point, koncentruje się na firmach z sektora produkcyjnego oraz innych kluczowych elementach łańcuchów dostaw. Jej szczególna złośliwość polega n...
Popularne oszustwa na WhatsAppie i jak ich uniknąć

Popularne oszustwa na WhatsAppie i jak ich uniknąć

Z ponad dwoma miliardami użytkowników WhatsApp oferuje ogromną pulę potencjalnych celów dla scamerów. Aby jeszcze bardziej skomplikować sprawę, oszuści cały czas zdobywają nowe wyrafinowane umiejętno...
Jak NIST zamierza wpłynąć na bezpieczeństwo AI?

Jak NIST zamierza wpłynąć na bezpieczeństwo AI?

Sztuczna inteligencja rozwija się w tempie, które jeszcze kilka lat temu było trudne do wyobrażenia. Modele generatywne, takie jak systemy zdolne do tworzenia tekstów, obrazów czy kodu, szybko przenikają do biz...