Miesięcznik informatyków i menedżerów IT sektora publicznego

Eryk Chilmon

Bashware – nowe zagrożenie dla użytkowników systemu Windows 10

Luka odkryta w systemie Windows 10 przez specjalistów do spraw bezpieczeństwa z firmy Check Point została nazwana Bashware. Do ataku wykorzystywana jest powłoka bash, będąca elementem Windows Subsystem for Linux (WSL), czyli podsystemu Windows umożliwiającego uruchamianie poleceń Linuksa. Popularne programy antywirusowe nie potrafią wykryć tego ataku.

Bashware to metoda wykorzystująca Windows Subsystem for Linux, która umożliwia uruchomienie złośliwego kodu zaszytego zarówno w plikach ELF, jak i EXE w sposób niewidoczny dla obecnych zabezpieczeń. Kluczowa jest struktura procesów Pico. Proces Pico nie ma żadnej struktury danych ani żadnych innych właściwości charakterystycznych dla typowych procesów Windows. Dla programów antywirusowych procesy Pico są niewidzialne. Mają jednak takie same uprawnienia i możliwości jak normalny proces NT, przez co stanowią nie mniejsze zagrożenie.

Eksperci Check Point pokazali, jak może wyglądać przykładowy atak za pośrednictwem podsystemu WSL.

Instalacja podsystemu WSL

Atakujący musi najpierw upewnić się, że funkcja WSL jest włączona. Jest to możliwe poprzez sprawdzenie stanu sterowników Pico (dostępność plików lxcore.sys & lxss.sys). Jeżeli funkcja jest wyłączona, Bashware może załadować sterowniki przy użyciu narzędzia DISM. Uruchomienie tego typu komendy może łatwo ujść uwadze użytkownika.

Włączenie trybu deweloperskiego

WSL do działania wymaga ręcznego włączenia trybu deweloperskiego – co ma stanowić ochronę przed nadużyciami. Można jednak zrobić to niezauważalnie dla użytkownika, ustawiając dwa klucze w rejestrze. Co prawda normalnie tryb ten włączany jest przez proces TrustedInstaller, może to jednak zrobić również użytkownik (lub aplikacja) z podniesionymi uprawnieniami. Potwierdzenie tych wartości lub ich modyfikacja nie podlega weryfikacji ani zaawansowanej kontroli bezpieczeństwa. Bashware nadpisuje więc wspomniane klucze rejestru, wykonuje złośliwy kod, a po zakończeniu operacji przywraca zawartość kluczy, tym samym nie pozostawiając żadnych śladów uaktywnienia WSL.

Instalacja Linuksa

Samo włączenie podsystemu WSL nie wystarczy, gdyż instancja Linuksa nadal nie zawiera żadnego systemu plików. Kolejnym krokiem jest więc pobranie i wyodrębnienie systemu plików Linux z serwerów Microsoft. Za pomocą jednego polecenia (Lxrun /install) pobierana jest dystrybucja Ubuntu.

Wykorzystanie Wine

Bashware po pobraniu obrazu Ubuntu jest w stanie wykonać dowolny kod w obu środowiskach. W tym celu instaluje w ramach WSL Wine, czyli oprogramowanie umożliwiające wykonywanie aplikacji przeznaczonych dla systemu operacyjnego Microsoft Windows w środowisku systemu operacyjnego klasy Unix, które działa wewnątrz systemu Windows.

[...]

Pełna treść artykułu jest dostępna w papierowym wydaniu pisma. Zapraszamy do składania zamówień na prenumeratę i numery archiwalne.
 
 

Polecamy

Biblioteka Informacja Publiczna

Specjalistyczne publikacje książkowe dla pracowników administracji publicznej

więcej