Menu dostępności

Nietypowa dziura w komendzie „format” na Windows pozwalająca uruchomić malware

Nastał Nowy Rok i mamy wspaniałe odkrycie w dziedzinie cybersecurity – nową dziurę (a w zasadzie „możliwość” dla atakujących) w Windows umożliwiającą za pomocą wbudowanej komendy „format” (patrz inne komendy LOLBIN) i specjalnego parametru uruchomić zewnętrzną bibliotekę DLL.


Co to jest format[.]com?

Od zarania dziejów format.com jest częścią systemu operacyjnego Microsoft Windows i służy jako „narzędzie do formatowania dysków”. Format jest jedną z pierwszych i najbardziej znanych komend wiersza poleceń. Jest tak słynna, że powstawały o niej słynne żarty i koszulki. Ćwiczona wielokrotnie na lekcjach Informatyki w latach 90-tych 🙂 Plik wykonywalny tej komendy zwykle znajduje się w folderze „C:\WINDOWS\system32\”.

Wpisując w wierszu linii poleceń komendę „Format D:” rozpoczniemy proces formatowania dysku „D”

Komenda ta dysponuje kilkoma przełącznikami (szczegóły znajdziesz tutaj) z czego jeden „/FS:” zwrócił szczególną uwagę badacza bezpieczeństwa oraz znakomitego MVP – Grzegorza Tworka. Po jego publikacji zastanawiamy się jak to możliwe, że taka luka w Windows, prawdziwy dinozaur, przetrwała tyle lat bez odkrycia?


Dziurawa komenda „format”

Autorem odkrycia jest nasz rodak – Grzegorz Tworek (serdecznie pozdrawiamy Grzegorza), który wczoraj na Twiterze opublikował informację o możliwości załadowania złośliwej biblioteki DLL.

źródło: Twitter

Na swoim blogu podaje informację, że odkrył dziwne zachowanie systemu Windows podczas podawania nazwy systemu plików jakim ma być sformatowany dysk po parametrze „/FS:” Okazuje się, że Windows podczas jej wywołania stara się wyszukać i załadować plik DLL o nazwie zaczynającej się od „U” + podana w parametrze nazwa systemu plików. Microsoft w bazie wiedzy opisuje, że parametr „/fs:filesystem” określa typ systemu plików „filesystem” może przyjmować następujące wartości:FAT, FAT32, NTFS, exFAT, ReFS lub UDF. Ale czy tak jest naprawdę do końca?

Grzegorz pokazał, że jak wgramy na dysk, który chcemy sformatować specjalny plik DLL o nazwie „UPwning.dll” i użyjemy komendy:

Format x: /fs:Pwning

to system Windows wyszuka i uruchomi z dysku naszą bibiotekę dll o nazwie „UPwning.dll”.

źródło: Grzegorz Tworek – Twitter.

Na powyższym ekranie widzimy uruchomiony komunikat z biblioteki „UPwning.dll” z klasy DLLMain(). W tym przypadku fikcyjny typ systemu plików o nazwie „Pwning” nie jest weryfikowany przez Windows, a jedynie musi posiadać na dysku odpowiednio nazwaną bibliotekę (zaczynającą się od „U”+ fikcyjna nazwa systemu plików z parametru). Przy czym Grzegorz nie zdradza, jak powinna być zbudowana taka biblioteka, żeby mogła uruchomić kod. Zakładamy, że nie jest to „rocket science” i przykłady jak ją zbudować możesz znaleźć nawet na naszym portalu.

Wyobraźmy sobie, co mogłoby się stać, gdyby za pomocą tej komendy mógł zostać uruchomiony inny złośliwy kod.


Czy mamy się czego bać?

Oczywiście. Wszystkie wbudowane w Windows komendy z możliwościami jako LOLBIN służą hakerom/cyberprzestępcom do uruchamiania złośliwego kodu. Jeśli atakujący będzie w stanie przesłać taki złośliwy plik DLL na komputer ofiary, to za pomocą tej wbudowanej komendy będzie mógł uruchomić z niej kod (np. za pomocą phishingu).


Jak się chronić?

Póki co jedynym rozsądnym rozwiązaniem jest dobry i odpowiedni monitoring systemu i dodanie do systemów monitorowania EDR lub innych (np. SYSMON) prób wywołania tej komendy z parametrem/przełącznikiem „/FS:”. Wyszukiwanie w systemie plików tych plików DLL zaczynających się od dużego „U” będzie mało rozsądnym rozwiązaniem, ale zawsze dostarczy nam innych, cennych informacji.

Gratulujemy Grzegorzowi odkrycia i życzymy Wszystkiego Najlepszego w Nowym Roku oraz kolejnych odkryć. Microsoftowi natomiast życzymy jak najszybszego wypuszczenia łatki na powyższą lukę.


[Aktualizacja 06.01.2022]

Jak się okazuje (pomysł Will’a Dormann’a) nie trzeba nazywać naszej biblioteki od „U”. Wystarczy mały trick jak poniżej i wczytujemy kod dowolnej biblioteki.
Poniżej przykład załadowania naszej biblioteki KapitanHackDLL.dll, która uruchamia na ekranie prosty popup.

Załadowanie zewnętrznej biblioteki „KapitanHackDLL.dll” za pomocą komendy format.

Bibliotekę „KapitanHackDLL.dll” wgraliśmy do katalogu „c:\Temp”

Popularne

7-Zip podatny na NTFS Heap Overflow

7-Zip podatny na NTFS Heap Overflow

Jaroslav Lobačevski z GitHub Security Lab opublikował analizę nowej podatności odnalezionej w 7-Zip, oznaczonej jako GHSL-2026-140. Luka dotyczy parsera NTFS i prowadzi do uszkodzenia pamięci procesu, co w...
Krytyczna luka w Windows Search ujawnia hashe NTLMv2. Microsoft nie wydał jeszcze poprawki

Krytyczna luka w Windows Search ujawnia hashe NTLMv2. Microsoft nie wydał jeszcze poprawki

Eksperci z Huntress ujawnili nową podatność, umożliwiającą wyciek poświadczeń NTLMv2 za pośrednictwem mechanizmu Windows Search. Problem dotyczy obsługi schematu URI wykorzystywanego przez Eksplorator Windows d...
YellowKey: koniec mitu o bezpieczeństwie BitLockera? Nowy zero-day pozwala ominąć szyfrowanie przy użyciu zwykłego pendrive’a

YellowKey: koniec mitu o bezpieczeństwie BitLockera? Nowy zero-day pozwala ominąć szyfrowanie przy użyciu zwykłego pendrive’a

Jeszcze w piątek opisywaliśmy nowe podatności typu zero-day, o nazwach YellowKey oraz GreenPlasma, uderzające w mechanizmy bezpieczeństwa systemów Windows. Najnowsze informacje pokazują jednak, że spr...
19-letnia luka w jądrze Linuksa naraża systemy na dostęp root

19-letnia luka w jądrze Linuksa naraża systemy na dostęp root

Właśnie opublikowano kod exploita Proof-of-Concept (PoC) dla luki CIFSwitch, która umożliwia użytkownikom o niskich uprawnieniach uzyskanie dostępu root w podatnych systemach Linux. Luka w zabezpieczeniach jądra...
Fałszywe ChatGPT i Claude infekują komputery. Cyberprzestępcy wykorzystują boom na AI

Fałszywe ChatGPT i Claude infekują komputery. Cyberprzestępcy wykorzystują boom na AI

Popularność sztucznej inteligencji rośnie w niespotykanym tempie. Narzędzia takie jak ChatGPT czy Claude stały się codziennym wsparciem dla programistów, analityków, studentów i firm. Miliony użytkown...