Ta strona używa plików cookies, aby zapewnić najlepszą jakość korzystania z naszego serwisu oraz do celów analitycznych. Klikając "Akceptuję", wyrażasz zgodę na używanie wszystkich plików cookies. Możesz również odrzucić zgodę, co spowoduje zablokowanie plików cookies analitycznych. Więcej informacji znajdziesz w naszej Polityce Prywatności.
TerminalFix wykorzystuje fałszywy CAPTCHA do budowy tunelu w sieci ofiary
Fałszywy ekran Cloudflare nakłania użytkownika do uruchomienia polecenia PowerShell.
Atak wykorzystuje DLL sideloading, steganografię i dwa mechanizmy utrzymania dostępu.
Malware prowadzi rozpoznanie domeny i może zamienić komputer w punkt przesiadkowy do sieci wewnętrznej.
Microsoft nie zaobserwował w analizowanym łańcuchu dalszych działań, takich jak ransomware lub eksfiltracja danych.
Sponsorowane
Odkryj rewolucyjną metodę nauki języków
Sprawdź jak w 30 dni opanować podstawy dowolnego języka obcego bez wychodzenia z domu.
Microsoft Threat Intelligence opisał kampanię TerminalFix, wariant techniki ClickFix wymierzonej w organizacje z różnych branż. Atak rozpoczyna się od przejętej strony internetowej, na której wyświetlana jest imitacja weryfikacji Cloudflare CAPTCHA. Użytkownik jest nakłaniany do skopiowania i uruchomienia polecenia w Windows Terminal albo PowerShell. W dalszej części łańcucha pojawiają się DLL sideloading, ukrywanie kodu w obrazach PNG, rozpoznanie środowiska Active Directory oraz własny tunel zwrotny. W efekcie przejęty komputer może stać się punktem dostępu do innych systemów widocznych z sieci organizacji.
Fałszywy CAPTCHA otwiera drogę do
Słownik artykułu
Pojęcia, które warto znać
Krótkie objaśnienia terminów występujących w tekście. Każde hasło prowadzi do szerszej definicji i przykładów użycia.
Pierwszym etapem jest socjotechnika. Po wejściu na zmodyfikowaną stronę użytkownik może przez krótki czas zobaczyć jej prawidłową zawartość, a następnie zostaje ona zastąpiona nakładką przypominającą Cloudflare Turnstile. Interfejs zawiera logo Cloudflare, pole z komunikatem Verify you are human oraz animację ładowania. Celem jest wzbudzenie przekonania, że wykonanie dodatkowej czynności jest konieczne do uzyskania dostępu do strony.
Po interakcji z fałszywą weryfikacją złośliwe polecenie trafia do schowka systemowego. Instrukcja na ekranie prowadzi użytkownika do otwarcia Windows Terminal lub PowerShell i wklejenia zawartości. To istotna różnica względem wcześniejszych odmian ClickFix, które często kierowały ofiarę do okna Uruchamianie. Terminal i PowerShell lepiej radzą sobie z dłuższymi, wieloetapowymi skryptami, dlatego zwiększają szanse na wykonanie całego łańcucha.
Użytkownik zostaje nakłoniony do wklejenia polecenia w Windows Terminal lub PowerShell.
Skrypt pobiera archiwum ZIP, rozpakowuje je w katalogu systemowym i uruchamia dalszy etap.
Kolejne fazy obejmują uruchomienie biblioteki DLL, pobranie ukrytych danych, rozpoznanie domeny i ustanowienie tunelu.
Zaufany proces ładuje złośliwą bibliotekę
Uruchomiony skrypt pobiera archiwum ZIP i rozpakowuje je w katalogu C:\ProgramData. W archiwum znajdują się dwa kluczowe pliki. Pierwszy to LockScreenContentServer.exe, legalny i podpisany binarny składnik systemu Windows. Drugi to dui70.dll, złośliwa biblioteka przygotowana do załadowania przez ten program. Następnie skrypt uruchamia plik wsadowy, który przekazuje sterowanie do legalnego programu.
LockScreenContentServer.exe ma zależność od biblioteki o nazwie dui70.dll. Napastnicy umieszczają własną wersję biblioteki obok legalnego pliku wykonywalnego. Mechanizm wyszukiwania bibliotek w Windows może wtedy wskazać najpierw plik z katalogu programu, a nie prawidłową bibliotekę systemową. Złośliwy kod zaczyna działać wewnątrz procesu o znanej nazwie i podpisie, co może utrudnić wykrycie na podstawie samej tożsamości procesu.
Kod biblioteki jest dodatkowo zaciemniony i umieszczony w sekcji zasobów DLL. Po załadowaniu biblioteka odczytuje zasób, dekoduje go w pamięci i przekazuje wykonanie następnej fazie. Takie zachowanie ogranicza liczbę czytelnych artefaktów zapisywanych na dysku. Dla obrońców oznacza to konieczność łączenia danych z pamięci, telemetrii procesów i aktywności systemu plików, zamiast polegania wyłącznie na skanowaniu pojedynczych plików.
Obrazy PNG skrywają kolejne elementy malware
Drugi etap wykorzystuje steganografię. Uruchomiony kod pobiera trzy obrazy PNG z infrastruktury kontrolowanej przez napastników, a następnie odczytuje dane ukryte w wartościach kanałów kolorów poszczególnych pikseli. Początkowe dane wskazują długość ukrytego pliku, a pozostała część zawiera jego zawartość. W ten sposób obraz staje się nośnikiem danych, które po pobraniu są odtwarzane jako plik wykonywalny lub biblioteka.
W opisywanej kampanii pierwszy obraz zawierał plik wykonywalny, natomiast dwa kolejne przechowywały fragmenty biblioteki DLL. Fragmenty były łączone dopiero na zaatakowanym urządzeniu. Rozdzielenie biblioteki między dwa obrazy utrudnia rozpoznanie pełnego pliku podczas przesyłania i analizy ruchu. Po zakończeniu ekstrakcji obrazy były usuwane, co ograniczało liczbę śladów pozostających na dysku. Mechanizm korzystał także z alternatywnych domen, aby utrzymać możliwość pobrania danych w razie niedostępności jednego źródła.
Podwójne utrzymanie dostępu i rozpoznanie domeny
TerminalFix tworzy dwa niezależne mechanizmy utrzymania dostępu. Jeden wykorzystuje wpis uruchamiany przy logowaniu użytkownika, a drugi zadanie harmonogramu systemowego. Zadanie ponownie uruchamia LockScreenContentServer.exe co 60 minut. Oba mechanizmy używają nazwy stylizowanej na składnik funkcji blokady ekranu, czyli element wykorzystany już w poprzednim etapie. Katalog z plikami malware jest dodatkowo oznaczany jako ukryty i systemowy.
Po ustanowieniu trwałości malware sprawdza, czy komputer należy do domeny, oraz zbiera informacje o jej strukturze. Analizowane są relacje zaufania, członkostwo w grupach administratorów domeny, konta użytkowników i komputery zapisane w Active Directory. Skrypt zbiera też podstawowe dane o systemie i zawiera warianty działania dla środowisk z ustawieniami językowymi angielskim, hiszpańskim i niemieckim.
Rozpoznawane są relacje zaufania między domenami.
Sprawdzane są grupy administracyjne oraz konta użytkowników.
Malware wykonuje ukierunkowane sprawdzenia dostępności serwerów, w tym systemów pełniących role kontrolerów domeny, baz danych, kopii zapasowych, bram i poczty.
Zbierane są informacje o systemie i konfiguracji przejętego urządzenia.
Lokalny mechanizm wykonywania poleceń
W łańcuchu zaobserwowano także trwałą pętlę PowerShell, która wykorzystuje lokalne pliki do przekazywania poleceń i odbierania wyników. Mechanizm obserwuje plik tekstowy, reaguje na jego zmiany, uruchamia zawartość i zapisuje rezultat w osobnym pliku. Nie jest to rozbudowany interfejs zarządzania, ale zapewnia napastnikowi asynchroniczne wykonywanie poleceń. Wyniki mogą zostać później odczytane przez ustanowiony tunel zwrotny.
Taka konstrukcja rozdziela moment wydania polecenia od momentu odebrania odpowiedzi. Utrudnia to analizę, jeśli zespół widzi tylko pojedyncze uruchomienia PowerShell albo zmiany w plikach, bez pełnego kontekstu połączeń sieciowych. Jednoczesne występowanie obserwatora pliku, wpisów trwałości, ukrytego katalogu i nietypowych procesów powinno być traktowane jako sygnał możliwego wieloetapowego przejęcia, a nie jako niezależne zdarzenia.
Tunel WebSocket może zmienić komputer w punkt przesiadkowy
Najważniejszą zaobserwowaną zdolnością po przejęciu urządzenia jest wdrożenie własnego implantu tunelu zwrotnego napisanego w Pythonie. Napastnicy pobierają przenośne środowisko uruchomieniowe Python oraz towarzyszący mu skrypt client.py, a następnie uruchamiają całość przez pythonw.exe, bez widocznego okna. Sam interpreter jest legalnym, podpisanym komponentem pobranym z oficjalnej dystrybucji, natomiast złośliwe działanie znajduje się w dołączonym skrypcie.
Implant nawiązuje wychodzące połączenie z serwerem sterującym przez szyfrowany kanał TLS na porcie 443. Połączenie jest przełączane do WebSocketu, który przenosi własny protokół obejmujący identyfikację implantu, ustanawianie połączeń, przekazywanie danych, utrzymanie sesji i jej zamykanie. Z punktu widzenia sieci ruch może przypominać zwykłą szyfrowaną sesję internetową, dlatego istotne są również informacje o docelowych domenach, procesie inicjującym połączenie i czasie jego trwania.
Tunel ma funkcję zbliżoną do serwera proxy SOCKS. Oznacza to, że operator może próbować przekazywać przez przejęty komputer ruch do hostów dostępnych z jego sieci, bez bezpośredniego łączenia się z nimi z własnej infrastruktury. W połączeniu z wcześniejszym rozpoznaniem domeny daje to możliwość wskazania kolejnych systemów, które mogą być osiągalne z zaatakowanego urządzenia. Z tego powodu przejęty komputer nie powinien być traktowany wyłącznie jako pojedynczy zainfekowany endpoint.
Co organizacje powinny sprawdzić
Microsoft podkreśla, że urządzenia dotknięte kampanią należy traktować jako potencjalne punkty przesiadkowe do sieci wewnętrznej. Analiza powinna objąć nie tylko sam komputer, ale również ślady możliwego ruchu bocznego, dostęp do kont i połączenia z innymi systemami. Szczególną uwagę warto zwrócić na zdarzenia poprzedzające incydent, ponieważ początkiem infekcji jest działanie użytkownika na stronie internetowej, a nie klasyczny załącznik pocztowy lub instalator pobrany świadomie.
W telemetrii punktów końcowych należy szukać nietypowego uruchomienia PowerShell lub Windows Terminal po wejściu na stronę, pobierania archiwów ZIP, uruchamiania legalnego pliku z biblioteki znajdującej się w tym samym katalogu oraz pojawienia się ukrytych plików i katalogów. Przydatne są także zdarzenia dotyczące wpisów uruchamianych przy logowaniu i zadań harmonogramu, zwłaszcza gdy odwołują się do programu kojarzonego z funkcją blokady ekranu.
W warstwie sieciowej należy powiązać pobieranie obrazów PNG z późniejszymi połączeniami WebSocket i uruchomieniem pythonw.exe. Warto przeanalizować, czy z tego samego hosta wykonywano zapytania dotyczące domeny, sprawdzano dostępność wielu serwerów albo nawiązywano połączenia do nietypowych miejsc. Dodatkowym sygnałem jest rozdzielenie aktywności między proces, pliki tymczasowe i połączenie wychodzące. Żaden z tych elementów nie musi samodzielnie oznaczać infekcji, ale ich współwystępowanie odpowiada opisanej sekwencji.
Jeśli organizacja podejrzewa przejęcie, powinna zabezpieczyć dane z narzędzi EDR, rejestrów systemowych, serwerów proxy, DNS i uwierzytelniania, a następnie ocenić, czy z urządzenia wykonywano połączenia do innych zasobów. Należy również zweryfikować ekspozycję poświadczeń i aktywność kont powiązanych z hostem. Działania izolacyjne oraz przywracanie systemu powinny być prowadzone zgodnie z procedurami reagowania na incydenty, z zachowaniem materiału potrzebnego do ustalenia zakresu naruszenia.
W analizowanym przez Microsoft łańcuchu nie zaobserwowano dalszych działań, które często mogą nastąpić po uzyskaniu dostępu, takich jak eskalacja uprawnień, wyłączanie zabezpieczeń, kradzież danych lub wdrożenie ransomware. Nie oznacza to jednak, że sam tunel jest nieszkodliwy. Jego obecność, w połączeniu z rozpoznaniem Active Directory i mechanizmami trwałości, wskazuje na możliwość dalszego wykorzystania przejętego środowiska. Najważniejszą cechą kampanii TerminalFix jest połączenie prostego oszustwa użytkownika z technikami utrudniającymi wykrycie i z dostępem do sieci na poziomie wykraczającym poza pojedynczy komputer.