Menu dostępności

Niegroźny błąd w Windows – pomysł na żart czy realne zagrożenie?

Praktycznie co drugi nasz artykuł przedstawia podatności i błędy w systemach Windows. Wcale nie oznacza to, że przyczepiliśmy się do Microsoftu i chcemy coś udowodnić. Po prostu na tym najlepiej się znamy, a popularność Windowsów sprawia, że każdy znajdzie w takiej treści coś dla siebie.
Dziś, z okazji Prima Aprilis przedstawimy „niegroźne”, małe niedopatrzenie w systemie plików Windows, które z powodzeniem może zostać wykorzystane do zrobienia komuś żartu.
Błąd powoduje tymczasową niedostępność procesu explorer.exe, a w zasadzie jego zawieszenie i natychmiastowy restart, co jak się domyślamy powoduje zamknięcie wszystkich otwartych okien File Explorer’a. Jest to całkiem interesujące, ponieważ do takiego zachowania wymagane jest jedynie otwarcie lub odwiedzenie folderu ze specjalnie spreparowanym, niezłośliwym plikiem.

Mechanizm błędu działa dzięki sposobowi, w jaki lokalne linki (piki z rozszerzeniem .URL oraz .LNK) są obsługiwane przez system Windows w sytuacji, gdy są one samoreferencyjne, czyli przekierowują do samego siebie. Zasada tej „podatności” nie jest nowa, podobny problem występował w starszych wersjach Windows 7 z samoreferencyjnymi dowiązaniami symbolicznymi. Odkrywca nowego błędu powiadomił o nim Microsoft, jednak otrzymał odpowiedź, że z powodu ograniczonego wpływu na działanie środowiska problem nie zostanie załatany.


Link z rozszerzeniem URL

W przypadku plików URL stworzenie nowego odnośnika jest bardzo proste. Wystarczy kliknąć prawym przyciskiem myszy w miejsce utworzenia -> Nowy -> Skrót i wprowadzić adres jako cel przekierowania. Może to być adres sieciowy bądź lokalny, strona web czy lokalizacja pliku. Niestety z tego poziomu nie jesteśmy w stanie utworzyć odniesienia do tworzonego właśnie pliku. Po takiej próbie otrzymamy poniższy komunikat:

Należy podejść do tego w inny sposób. Wprowadźmy tymczasową referencję do strony kapitanhack.pl wpisując w lokalizację elementu: https://kapitanhack.pl. Klikając dalej, podając nazwę dla pliku i zatwierdzając, z powodzeniem utworzymy plik o rozszerzeniu .URL, który po otwarciu przekieruje nas do strony internetowej.

Spróbujmy zatem podejrzeć plik w notatniku i sprawdzić jego zawartość:

Jego struktura jest bardzo prosta i opiera się w zasadzie o konstrukcję plików INI (nagłówek, parametr, wartość). Aby stworzyć nasz chytry pliczek potrzebujemy w zasadzie tylko dwóch linijek, w jednej z nich wskażemy ścieżkę do pliku:

Po zapisaniu i zmianie rozszerzenia na URL jesteśmy gotowi do testów. Otwierając plik będziemy świadkami crash’a procesu explorer.exe, zamknięciu wszystkich naszych okien oraz odświeżenia pulpitu.

To intrygujące zachowanie działa również w przypadku udostępnionych zasobów na systemie plików Windows. Po zmianie domyślnej ikonki linku i wymyśleniu prawdziwie brzmiącej nazwy, może być idealnym narzędziem do prankowania, po umieszczeniu na udostępnionym zasobie w firmie. Po za tym, nie widać innych sensownych zastosowań tego błędu. Dopóki nie przejdziemy do drugiego rozszerzenia i bardziej złośliwej metody.


Link z rozszerzeniem LNK

Samoreferencyjne linki z rozszerzeniem LNK, czyli tzw. Shell Links, są czasami wykorzystywane przez zespoły Red Team czy w bezpośrednim ataku hackera na system. To dlatego, że pozwalają na interakcje ze wskazanym w odniesieniu adresem tylko poprzez otwarcie folderu, w którym się znajdują. Nie wymagają żadnej interakcji ze strony użytkownika. Jak się domyślacie mogą być także wykorzystane do zawieszenia procesu explorer.exe i spowodowania sporej frustracji. Zachowanie plików LNK daje w ogóle sporo możliwości. W adres linku można wpisać na przykład ścieżkę do pliku wykonywalnego EXE i bez żadnej interakcji (tylko poprzez otwarcie folderu) uruchomić plik ukryty gdzieś w systemie. Umieszczenie takiego linku bezpośrednio na pulpicie i dodatkowo ukrycie go powoduje, że użytkownik nie jest świadomy uruchamianego za każdym razem procesu wskazanego w pliku LNK.

Spróbujmy stworzyć plik z rozszerzeniem LNK i skonfigurować go odpowiednio, tak aby kierował do samego siebie. Możemy zacząć od stworzenia skrótu (PPM -> Nowy -> Skrót) do jakiekolwiek pliku, a następnie wejść we właściwości i edytować nasz docelowy „malware”.

Po wpisaniu odpowiednich wartości w polach „Element docelowy” oraz „Rozpocznij w” i próbie zatwierdzenia, otrzymamy komunikat:

Jak widzimy Windows powstrzymuje nas przed stworzeniem skrótu do innego skrótu. Prawdopodobnie ktoś przewidział takie zabawy i ma to na celu zapobieganie tworzeniu nieskończonych pętli skrótów do siebie nawzajem itp.

Edycja pliku LNK manualnie jest nie taka trywialna, ponieważ jest on zapisany w formacie binarnym. Potrzebujemy do tego edytora heksydecymalnego oraz pomocy z oficjalnej dokumentacji Microsoft – tutaj. Znajdziemy tam informację, o którą nam chodzi. Mianowicie wystarczy ustawić flagę „AllowLinkToLink” znajdującą się w nagłówku pliku Shell Link. Dokładnie jest to dodanie wartości 0x80 do baju na offsecie 0x16. Dla mocno technicznych czytelników zamieszczamy screen z edytora heksydecymalnego z podglądem naszego pliku LNK:

Po zapisaniu zmian trik zadziała tak jak przypuszczaliśmy. Wejście do folderu, w którym znajduje się skrót spowoduje crash procesu explorer.exe.

Możliwe zastosowanie tego błędu zostawiamy do dywagacji czytelnikom. Według nas złośliwych zastosowań może być wiele, chociażby wrzucenie takiego pliku do folderu, w którym znajdują się inne złośliwe pliki i uniemożliwienie ich łatwego podglądu i usunięcia.

Nie zalecamy testowania drugiego sposobu bezpośrednio na pulpicie. Może się to źle skończyć.

Popularne

Jak zmienić nieznane/zapomniane hasło Administratora na Windows?

Jak zmienić nieznane/zapomniane hasło Administratora na Windows?

W tym artykule pokażemy, jak możemy zmienić hasło administratora na komputerze posiadając do niego fizyczny dostęp. Artykuł ten można potraktować także jako przestrogę dla firm, które nie zaimplementowały jeszcze odpo...
Zero-day w pakiecie Office wykorzystywany w atakach

Zero-day w pakiecie Office wykorzystywany w atakach

Microsoft wydał poprawki dla luki CVE-2026-21509. Jest to niedawno ujawniona podatność typu zero-day w pakiecie Office, która może zostać wykorzystana do obejścia funkcji zabezpieczeń. W komunikacie giganta...
Microsoft wyłączy NTLM!?

Microsoft wyłączy NTLM!?

Kończy się czas protokołu uwierzytelniania New Technology LAN Manager (NTLM) – w kolejnej wersji systemu Windows Server nie będzie on już obsługiwany. O tym podatnym protokole pisaliśmy wielokrotnie, między i...
Łatajcie Cisco i F5! Wysoki stopień zagrożenia

Łatajcie Cisco i F5! Wysoki stopień zagrożenia

Cisco i F5 opublikowały w tym tygodniu poprawki dla wielu luk w zabezpieczeniach swoich produktów, w tym dla poważnych podatności, które mogą prowadzić do odmowy usługi (DoS), wykonywania poleceń i eskala...
Nowy poziom bezpieczeństwa. Android 16 wzmacnia ochronę przed kradzieżą – co to oznacza dla Twojego smartfona?

Nowy poziom bezpieczeństwa. Android 16 wzmacnia ochronę przed kradzieżą – co to oznacza dla Twojego smartfona?

W erze, gdy smartfony zawierają całą naszą cyfrową tożsamość - od zdjęć i danych osobowych po dostęp do bankowości - kradzież telefonu to już nie tylko strata sprzętu, ale potencjalna furtka do finansowej...