Menu dostępności

Poważna luka w skrótach Windows (.LNK) umożliwia zdalne wykonanie kodu

Poważna luka w skrótach Windows (.LNK) umożliwia zdalne wykonanie kodu bez interakcji użytkownika. Microsoft jej nie załata

Niezależny badacz bezpieczeństwa Nafiez Zeifan ujawnił w kwietniu nową, niezałataną podatność typu zero-day w systemie Windows, związaną z obsługą plików skrótów „.LNK”. Luka pozwala na zdalne wykonanie kodu przy minimalnej lub zerowej interakcji użytkownika. Mechanizm ataku opiera się na specjalnie spreparowanych skrótach zawierających ścieżki UNC oraz manipulacjach strukturą danych wewnątrz pliku.

Jak działa podatność?

Skróty „.LNK” są powszechnie używane w systemie Windows w celu odwoływania się do plików, folderów, aplikacji lub lokalizacji sieciowych. Ich struktura binarna zawiera wiele pól danych, w tym tzw. LinkFlags, ShellItemIDs, EnvironmentVariableDataBlock, LinkTargetIDList oraz inne rozszerzone bloki danych (tzw. extra data blocks).

W ramach ataku skrót „.LNK” zawiera spreparowany EnvironmentVariableDataBlock, w którym ustawia się:

  • BlockSize: 0x00000314 (normalna wielkość dla środowiskowych bloków danych),
  • Signature: 0xA0000001 (oznaczający EnvironmentVariableDataBlock),
  • UnicodeTargetPath i AnsiTargetPath: zawierające ścieżkę UNC (np. \\192.168.1.12\c), która wskazuje na złośliwy zasób sieciowy SMB lub WebDAV.
Źródło: Nafiez Zeifan

Ustawienie flagi HasArguments w polu LinkFlags pozwala na przekazanie parametrów do aplikacji docelowej (np. explorer.exe), która również mogą zawierać ścieżki UNC.

Interakcja z interfejsami COM

Podczas renderowania folderu zawierającego złośliwy skrót Windows Explorer automatycznie przetwarza skrót, wywołując interfejs COM IInitializeNetworkFolder. Proces ten może powodować:

  • automatyczne nawiązanie połączenia z lokalizacją UNC,
  • przesłanie danych uwierzytelniających NTLM użytkownika do serwera atakującego (tzw. NTLM hash leak),
  • wczytanie i uruchomienie złośliwego kodu, jeśli zasób sieciowy dostarcza, np. desktop.ini lub złośliwy plik DLL.

Dodatkowo wykorzystane są klasy COM, takie jak ShellFolderView, ShellExecuteHook, a także komponenty analizujące ikony skrótów (icon handler), które również mogą być przyczyną zdalnego wykonania kodu (analogicznie do CVE-2017-8464).

Źródło: Nafiez Zeifan

Right-Click exploit – podatność bez otwierania skrótu

Na blogu Nafieza zaprezentowano exploit nazwany „Right Click LNK”, który wykorzystuje fakt, że kliknięcie prawym przyciskiem myszy na pliku .LNK (np. w celu podglądu jego właściwości lub przeniesienia) również aktywuje przetwarzanie ścieżki UNC przez eksplorator plików.

Ten przypadek szczególnie niepokoi, ponieważ oznacza, że nie trzeba nawet otwierać skrótu – wystarczy interakcja z folderem, w którym się on znajduje, lub samo zaznaczenie pliku.

Źródło: Nafiez Zeifan

BYPASS: Omijanie Mark of The Web (MoTW)

Microsoft argumentuje, że skuteczną ochroną przed tą podatnością jest oznaczanie plików pobranych z Internetu flagą MoTW (Mark of The Web), co aktywuje dodatkowe mechanizmy ochronne, takie jak uruchamianie w trybie ograniczonym.

Niestety, istnieją sposoby na ominięcie MoTW, np.:

  • kopiowanie skrótów z archiwów ZIP (nie zawsze dziedziczą MotW), o czym pisaliśmy tutaj,
  • manipulacja nagłówkami NTFS ADS (Zone.Identifier),
  • tzw. LNK stomping – technika, w której nadpisuje się struktury LNK w taki sposób, by zachować pozory legalnego pliku, jednocześnie usuwając oznaczenia bezpieczeństwa.

Porównanie z wcześniejszymi lukami

Nowa podatność przypomina kilka znanych z przeszłości luk:

  • CVE-2010-2568 – wykorzystywana przez Stuxnet; uruchamiała kod poprzez podgląd folderu z ikonicznym LNK,
  • CVE-2017-8464 – pozwalała na wykonanie kodu poprzez sam proces renderowania ikony skrótu,
  • CVE-2019-1188 – dotyczyła przetwarzania danych skrótu przez Windows Shell.

Wszystkie te luki bazowały na automatycznym przetwarzaniu skrótów przez system, bez potrzeby interakcji użytkownika.

Jakie jest zagrożenie i potencjalne scenariusze ataku?

Eksploatacja luki może mieć następujące konsekwencje:

  • Kradzież poświadczeń NTLM (w tym haszy do ataków typu pass-the-hash),
  • lateral movement w sieci lokalnej przez SMB relay lub DLL planting,
  • ataki phishingowe z wykorzystaniem archiwów zawierających złośliwe .LNK,
  • ataki typu drive-by download, np. automatyczne przetwarzanie skrótu z udziału sieciowego (np. USB, WebDAV, Samba).

Zalecenia bezpieczeństwa

  1. Blokuj ruch SMB/WB przez firewalla, szczególnie w kontekście ruchu wychodzącego do Internetu.
  2. Wyłącz automatyczne renderowanie ikon skrótów poprzez GPO lub rejestr (np. NoDesktopIcons).
  3. Użyj zasad AppLocker / WDAC, by ograniczyć uruchamianie plików LNK z nieautoryzowanych lokalizacji.
  4. Ostrzegaj użytkowników przed otwieraniem archiwów ZIP/RAR z nieznanych źródeł.
  5. Monitoruj logi DNS/SMB pod kątem nieautoryzowanych połączeń do zasobów zewnętrznych.

Podsumowanie Mimo braku CVE oraz oficjalnej poprawki od Microsoftu, luka w obsłudze plików „.LNK” stanowi realne i poważne zagrożenie. Co istotne, może być łatwo zintegrowana z innymi technikami ataku, np. phishingiem, atakami typu living off the land czy przemycaniem ładunków przez złośliwe zasoby WebDAV.

Microsoft nie planuje wprowadzenia poprawki, co oznacza, że odpowiedzialność za zabezpieczenie systemów spoczywa obecnie na administratorach oraz użytkownikach końcowych.

Popularne

Czym są non-human identities (NHI)? Jak możemy je chronić i jakie zagrożenia stwarzają dla organizacji?

Czym są non-human identities (NHI)? Jak możemy je chronić i jakie zagrożenia stwarzają dla organizacji?

W dzisiejszym artykule opisujemy pewien problem istniejący w firmach i organizacjach, związany z tożsamościami nieludzkimi (non-human identities), czyli inaczej – tożsamościami niezwiązanymi z pracow...
Nowe podatności w architekturze sieci 5G

Nowe podatności w architekturze sieci 5G

Nowe badania nad architekturą 5G ujawniły lukę w zabezpieczeniach modelu dzielenia sieci oraz zwirtualizowanych funkcjach sieciowych, które można wykorzystać do nieautoryzowanego dostępu do danych, a tak...
Filtrowanie URL i DNS, dlaczego to takie ważne?

Filtrowanie URL i DNS, dlaczego to takie ważne?

Filtrowanie adresów URL ogranicza zawartość stron internetowych, do których użytkownicy mają dostęp. Odbywa się to poprzez blokowanie określonych adresów URL przed załadowaniem. Firmy wdrażają filtrowanie...
Hakerzy z Dragon Breath z nową techniką ataku

Hakerzy z Dragon Breath z nową techniką ataku

Specjaliści z Sophos wykryli niedawno złośliwą aktywność polegającą na klasycznym DLL side-loadingu, ale ze zwiększoną złożonością i dodatkową warstwą wykonania. Co więcej, dochodzenie wskazuje, że oso...
Polowanie na eskalację uprawnień w Windows: sterowniki jądra i Named Pipe pod lupą

Polowanie na eskalację uprawnień w Windows: sterowniki jądra i Named Pipe pod lupą

Podatności typu Local Privilege Escalation (LPE) pozostają jednym z kluczowych elementów realnych ataków na systemy Windows. Nawet przy poprawnie skonfigurowanym systemie i aktualnym oprogramowaniu bł...