Zidentyfikowano krytyczną lukę w zabezpieczeniach programu Windows Defender, składnika systemu Microsoft Windows chroniącego przed złośliwym oprogramowaniem, który jest wstępnie instalowany z każdą kopią Windows. Liczba komputerów dotkniętych problemem może sięgnąć nawet miliarda!

Nie jest nowością, że w zainstalowanych składnikach/wbudowanych aplikacjach systemu Windows wykrywane są (i łatane) co jakiś czas luki bezpieczeństwa pozwalające przestępcom na przeprowadzanie różnych wektorów ataków. Ataki te kierowane są głownie na składniki systemu, a przede wszystkim na jego użytkowników, aby zdobyć jak największe uprawnienia do środowiska. Niewątpliwie opisywana podatność należy do jednych z najbardziej krytycznych, ponieważ umożliwia atakującym przeprowadzanie zaawansowanych ataków prowadzących do przejęcia na zwykłym koncie użytkownika najwyższych uprawnień do systemu Windows (NT AUTHORITY\SYSTEM) – wykonanie złośliwej eskalacji uprawnień. O innej podobnej luce w usłudze Windows WER pisaliśmy w artykule tutaj.

Nasuwa się w tym momencie pytanie:


Czy Windows Defender to kolejny, groźny składnik Windows umożliwiający hakerom przejęcie systemu 🙂 ?

Produkty zabezpieczające mają na celu zapewnienie bezpieczeństwa systemu i zapobieganie atakom, ale co zrobić, jeśli sam produkt zabezpieczający wprowadza lukę? Kto chroni w tym momencie przed obrońcami? Czy jak w przypadku opisywanego w naszym poprzednim artykule największego ataku hakerskiego na Świecie powinniśmy zwracać większą uwagę także na programy monitorujące bezpieczeństwo? Ten trend z pewnością jest jednym z najciekawszych aspektów cyberbezpieczeństwa i będziemy o nim jeszcze pisać na Hack’u.

Warto zauważyć, że luka, którą opisujemy poniżej, pozostawała niezauważona przez ponad dwanaście lat i dopiero niedawno została odkryta po raz pierwszy. Powodem, dla którego tak długo problem pozostawał niezauważony, był bardzo specyficzny charakter mechanizmu wymaganego do jego aktywacji. Czy mogła być ona wcześniej wykorzystywana? Tego nie wiemy, podobnie jak w przypadku błędów 0-day pozwalających niezauważanie dostawać się hakerom do systemów. Ten przypadek z pewnością daje nam dużo do myślenia.


Szczegóły techniczne nowej luki w Windows Defender

Źródłem problemu jest tym razem błąd w sterowniku BTR.sys (wewnętrzna nazwa sterownika), stanowiącego część procesu naprawczego w programie Windows Defender. Odpowiada on za usuwanie zasobów systemu plików i rejestru utworzonych przez złośliwe oprogramowanie i działa w trybie jądra (uprawnienia SYSTEM).

Opisywany sterownik (uruchomiony na uprawnieniach jądra systemu) prowadzi dziennik wszystkich operacji wykonywanych podczas operacji czyszczenia tworząc specjalny plik w ścieżce „C:\Windows\Temp\BootClean.log”.

Badacz Kasif Dekel po zdekodowaniu pliku sterownika odkrył w nim problem w metodzie tworzeniu przez niego uchwytów.

Według jego wpisu na blogu opublikowanego przez badaczy z Sentinel Labs, w celu wyczyszczenia plików sterownik używa w rejestrze zmiennej „ri4d”, która została poddana samemu XOR-owaniu. Dzięki tej metodzie stała „FILE_SUPERSEDE” jest zawsze obecna w parametrze „CreateDisposition”. Transakcja, która tworzy nowy plik po usunięciu starego to „FILE_SUPERSEDE”. Na listingu powyżej widać, że nie weryfikuje ona łącza (uchwytu) do pliku.
Powoduje to, że osoba atakująca może utworzyć własny link (powiązanie) do pliku dziennika „C:\Windows\Temp\BootClean.log”, który może umożliwić jej potencjalne nadpisanie dowolnych innych plików na najwyższych uprawnieniach jadra systemu. Łącze wskaże po prostu plik, który ma zostać nadpisany.


Scenariusz ataku

Scenariuszem, w którym ta luka może być wykorzystana przez atakujących jest utworzenie twardego łącza do pliku wykonywalnego i zasymulowanie funkcjonalności BTR, które jest niczym innym jak zwykłym załadowaniem i uruchomieniem jego sterownika podczas fazy naprawczej przez program Windows Defender. W ten sposób nasz plik wykonywalny zostanie następnie nadpisany.

Autor podatności pokazał na blogu, w jaki sposób można nadpisać uprawnienia do wbudowanej w Windows aplikacji Notepad.exe (notatnik) znajdującej się w katalogu systemowym i dzięki temu utworzyć nowy wektor ataku dla cyberprzestępców.

Atak wykonał w 3 krokach:

  1. Utworzenie twardego łącza wskazującego na plik „notepad.exe”.
  2. Symulację załadowania sterownika BTR do celów demonstracyjnych, który jest wykonywany przez Windows Defender podczas określonej fazy naprawczej.
  3. Nadpisanie uprawnień na pliku Notepad.exe.

Stwierdził również, że błąd mógł istnieć przed 2009 rokiem i pojawia się tylko w określonym przypadku w systemie Windows:

„Zakładamy, że ta luka pozostała nieodkryta do tej pory, ponieważ sterownik zwykle nie jest obecny na dysku twardym, ale raczej jest upuszczany i aktywowany w razie potrzeby (z losową nazwą), a następnie usuwany.”


Jak sobie radzić z problemem?

Oczywiście błąd został zgłoszony do Microsoft i naprawiony w specjalnej łatce, która pojawiła się 9 lutego 2021r. Dotyczy wszystkich wersji Windows. Podatność otrzymała numer CVE-2021-24092.
Komputery, na których została zaktualizowana wersja programu Windows Defender, są chronione przed CVE-2021-24092. Dodatkowo najnowsze wersje systemu Windows 10 po zaktualizowaniu są chronione przed exploitami EoP (Escalation of Privileges) przy użyciu natywnych twardych łączy.


Podsumowanie

Wykorzystanie opisywanej luki do uruchomienia kodu jest często trudniejsze, ale nie niemożliwe. Konieczne jest wykorzystanie pewnych prymitywów, ale nadal można to wykorzystać do różnych złośliwych działań, takich jak wyłączanie produktów zabezpieczających. Mimo że opisywana luka w zabezpieczeniach została naprawiona w najnowszej aktualizacji Defender’a, nadal można ją wykorzystać na nowych komputerach, jeśli nie zostaną one zaktualizowane do najnowszej wersji. Istnieje prawdopodobieństwo, że wielu użytkowników nie zastosuje poprawki, co naraża ich na przyszłe ataki, dlatego powinniśmy często aktualizować system.

Opisywany przypadek pokazuje także nowy trend – atakujących włamujących się do komputerów, aby pozostać niewykrytymi, wykorzystujących podatności wbudowanych w system składników, w tym nawet takich, których celem jest zapewnienie bezpieczeństwa systemu. W kontekście usługi Defender pisaliśmy niedawno artykuł , o możliwości pobrania za jego pomocą złośliwego pliku z Internetu. Na koniec pozostawiamy Tobie drogi Czytelniku pytanie, nad którego odpowiedzią sam powinieneś się zastanowić: Czy należy wierzyć wbudowanym w system operacyjny narzędziom, że ochronią nas przed atakiem?

Podziel się z innymi tym artykułem!