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

Nowa luka w Microsoft Teams – lepiej nie być zapraszanym…

Nowa luka w Microsoft Teams – lepiej nie być zapraszanym…

Usługa Microsoft Teams stała się kluczowym narzędziem do komunikacji i współpracy w firmach na całym świecie. Z tego powodu wiele organizacji polega na zabezpieczeniach takich jak Microsoft Defender for Off...
Ważna zmiana w OWASP Top 10

Ważna zmiana w OWASP Top 10

OWASP, czyli Open Worldwide Application Security Project, zaproponowało nowe wydanie swojej klasycznej listy Top 10 ryzyk aplikacyjnych. Wersja z 2025 roku wprowadza kluczowe rozszerzenia dotyczące b...
Jak modele LLM automatyzują cyberprzestępczość

Jak modele LLM automatyzują cyberprzestępczość

Każdy Czytelnik Kapitana Hacka wie, że złośliwe LLM-y ułatwiają mniej doświadczonym cyberprzestępcom przeprowadzanie ataków. Potwierdzają to badacze z Palo Alto Networks, którzy przeanalizowali dwa niedaw...
Wizualizacja ścieżek ataku na Active Directory za pomocą narzędzia BloodHound

Wizualizacja ścieżek ataku na Active Directory za pomocą narzędzia BloodHound

Krótko o narzędziu Bloodhound to narzędzie służące do wizualizacji i analizy powiązań w Active Directory. Dla atakującego jest niezastąpioną pomocą do znajdowania ścieżki ataku na najbardziej c...
Jak błąd w 7-Zip (CVE-2025-11001) daje hakerom dostęp do systemu Windows. Jest exploit

Jak błąd w 7-Zip (CVE-2025-11001) daje hakerom dostęp do systemu Windows. Jest exploit

Odkryto niezwykle niebezpieczną dla użytkowników systemów Windows podatność. Błąd o numerze CVE‑2025‑11001 jest już częściowo wykorzystywany, a dotyczy popularnego programu 7-Zip. Polega na niewłaściwe...