
Co znajdziesz w tym artykule?
Wprowadzenie do problemu / definicja
StegoAd to rozbudowana kampania złośliwych rozszerzeń przeglądarki, która łączyła kilka technik utrudniających wykrycie: steganografię, polimorfizm, opóźnioną aktywację oraz zdalne dostarczanie kodu. Atakujący publikowali dodatki podszywające się pod przydatne narzędzia, takie jak blokery reklam, VPN-y, translatory czy programy do pobierania wideo, a ich pozornie legalna funkcjonalność maskowała właściwy cel operacji.
Z perspektywy cyberbezpieczeństwa to istotny przykład ewolucji zagrożeń w ekosystemie rozszerzeń przeglądarkowych. Kampania pokazała, że nawet dodatki dystrybuowane przez oficjalny sklep mogą stać się nośnikiem kradzieży danych, przejmowania kont i monetyzacji ruchu użytkowników.
W skrócie
- Kampania objęła 119 złośliwych rozszerzeń opublikowanych w sklepie dodatków dla Microsoft Edge.
- Szacowana skala infekcji wyniosła około 2,6 mln instalacji.
- Ładunki JavaScript były ukrywane w plikach PNG, WebP i WOFF2, co utrudniało analizę statyczną.
- Rozszerzenia pozostawały uśpione przez kilka dni po instalacji, a następnie aktywowały moduły kradzieży poświadczeń i fraudu reklamowego.
- Najbardziej zaawansowana faza kampanii trwała od marca 2024 do kwietnia 2026, choć aktywność operatorów sięgała co najmniej 2021 roku.
Kontekst / historia
Rozszerzenia przeglądarkowe od dawna są atrakcyjnym wektorem ataku, ponieważ użytkownicy często przyznają im szerokie uprawnienia do odczytu i modyfikacji treści stron, przechwytywania danych oraz interakcji z aktywną sesją. StegoAd wykorzystał ten model zaufania w szczególnie skuteczny sposób.
Operatorzy kampanii budowali wiarygodność, publikując dodatki przypominające znane i pożądane narzędzia. Część z nich oferowała realną funkcjonalność, co pomagało zdobywać pozytywne opinie i ograniczało ryzyko szybkiego usunięcia. Po wykryciu kolejnych fal rozszerzeń atakujący modyfikowali domeny C2, sposoby ukrywania kodu oraz techniki kodowania, a także dostosowywali swoje narzędzia do zmian w architekturze rozszerzeń, w tym przejścia z Manifest V2 do Manifest V3.
Analiza techniczna
Najbardziej charakterystycznym elementem StegoAd była steganograficzna dostawa kodu. Zamiast umieszczać jawnie podejrzany JavaScript bezpośrednio w pakiecie rozszerzenia, operatorzy ukrywali ładunek w zasobach wyglądających na nieszkodliwe. We wcześniejszych wariantach kod był dopisywany po znaczniku końca pliku PNG, dzięki czemu obraz działał poprawnie, a jednocześnie zawierał dodatkowe dane odczytywane przez rozszerzenie.
Gdy ta technika zaczęła być lepiej rozpoznawana, napastnicy przeszli do plików WebP, a następnie do czcionek WOFF2. W tej fazie wykorzystywali wysokie punkty kodowe Unicode, które dla wielu skanerów wyglądały jak niegroźne metadane lub znaki z zakresów CJK. W nowszych wariantach pojawiły się także pliki konfiguracyjne pozorujące zwykłe ustawienia, z których rozszerzenie wydobywało segmentowany i zakodowany ładunek Base64.
Drugim filarem kampanii była warstwa unikania detekcji. Rozszerzenia pozostawały nieaktywne przez około 3 do 5,5 dnia po instalacji. W niektórych wariantach złośliwy kod uruchamiał się tylko w niewielkiej części sesji, co obniżało szansę na wykrycie w środowiskach testowych. Jeżeli system wykrywał otwarte narzędzia deweloperskie, aktywacja bywała dodatkowo opóźniana, utrudniając pracę analitykom.
Równie istotna była infrastruktura C2, która zwracała właściwe ładunki wyłącznie po spełnieniu określonych warunków fingerprintingu. Znaczenie miały między innymi poprawny identyfikator runtime rozszerzenia i odpowiedni User-Agent. W przeciwnym razie badacz otrzymywał pustą lub mylącą odpowiedź, co sprawiało, że pełny łańcuch infekcji uruchamiał się tylko w kontekście prawdziwej ofiary.
Kampania wykorzystywała też polimorficzny framework określany jako orderArray, obecny w dziesiątkach rozszerzeń i występujący w wielu wariantach nazewniczych. Chociaż nazwy zmiennych, funkcji i obiektów różniły się między próbkami, zachowana pozostawała podobna logika: dekoder, generator nasion powiązany z identyfikatorem rozszerzenia, obiekt z zakodowanym ładunkiem i mechanizmy wielowarstwowego dekodowania. Takie podejście utrudniało tworzenie skutecznych reguł opartych na stałych sygnaturach.
Pod względem funkcjonalnym StegoAd wykraczał daleko poza klasyczne adware. Jeden z modułów umożliwiał zdalne wykonanie dowolnego kodu JavaScript w przeglądarce ofiary, co dawało możliwości zbliżone do browser-based RAT. Inne komponenty przechwytywały logowanie do usług Google, zbierając zarówno hasła, jak i kody drugiego składnika podczas procesu uwierzytelnienia. Osobny moduł atakował panele administracyjne WordPress, przechwytując poświadczenia i dodatkowe informacje przydatne do selekcji wartościowych celów.
Warstwa monetyzacyjna obejmowała podmianę reklam, zastępowanie slotów reklamowych własnymi identyfikatorami oraz przejmowanie prowizji afiliacyjnych w serwisach e-commerce. Dodatkowo operatorzy korzystali z telemetrii opartej na identyfikatorach Google Analytics, aby śledzić aktywne instalacje, geolokalizację ofiar, wersje rozszerzeń i skuteczność nadużyć, maskując część ruchu jako standardową aktywność analityczną.
Konsekwencje / ryzyko
Ryzyko związane ze StegoAd ma charakter wielowarstwowy. Dla użytkowników indywidualnych oznacza możliwość przejęcia kont, utraty sesji, wycieku cookies, częściowego obejścia mechanizmów 2FA opartych na kodach oraz manipulacji treścią wyświetlaną na odwiedzanych stronach.
W środowiskach firmowych skutki mogą być znacznie poważniejsze. Przeglądarka często stanowi dziś punkt dostępu do poczty, aplikacji SaaS, systemów CRM, paneli administracyjnych i zasobów chmurowych. Złośliwe rozszerzenie działa przy tym wewnątrz zaufanego kontekstu użytkownika, dlatego jego aktywność może wyglądać jak normalne użycie przeglądarki i pozostać niewidoczna dla części tradycyjnych zabezpieczeń sieciowych.
StegoAd jest także ostrzeżeniem dotyczącym ryzyka łańcucha dostaw w modelu extension supply chain. Oficjalny kanał dystrybucji nie gwarantuje bezpieczeństwa, jeśli proces weryfikacji zostanie ominięty dzięki legalnie wyglądającej funkcjonalności i ukrytym mechanizmom pobierania kodu.
Rekomendacje
Organizacje powinny wdrożyć ścisłe zarządzanie rozszerzeniami przeglądarkowymi. Najbezpieczniejszym podejściem pozostaje model allowlist, w którym dozwolone są wyłącznie zatwierdzone dodatki o realnej wartości biznesowej. W środowiskach Microsoft Edge i Chromium warto centralnie blokować instalację nieautoryzowanych rozszerzeń oraz monitorować identyfikatory już zainstalowanych dodatków.
Z punktu widzenia SOC i threat huntingu przeglądarka powinna być traktowana jako pełnoprawny obszar telemetryczny. W praktyce oznacza to zbieranie danych o instalowanych rozszerzeniach, zmianach wersji, nietypowych żądaniach do domen konfiguracyjnych oraz anomaliach związanych z dynamicznym ładowaniem skryptów i modyfikacjami reguł declarativeNetRequest.
Warto również ograniczać skutki przejęcia kont. Tam, gdzie to możliwe, należy preferować klucze sprzętowe odporne na przechwycenie kodów jednorazowych w przeglądarce. Niezbędne są także alerty logowania, przegląd aktywnych sesji oraz monitorowanie zmian na kontach administracyjnych, zwłaszcza w Google Workspace, WordPressie i systemach e-commerce.
Jeżeli w środowisku zostanie wykryte podejrzane rozszerzenie, należy założyć kompromitację przeglądarki, a nie jedynie obecność adware. Reakcja powinna obejmować usunięcie dodatku, reset haseł, unieważnienie aktywnych sesji, przegląd logów logowania, wymianę tokenów i cookies oraz analizę potencjalnego dalszego ruchu bocznego przez aplikacje dostępne z poziomu przeglądarki.
Podsumowanie
StegoAd należy do najbardziej zaawansowanych kampanii złośliwych rozszerzeń ujawnionych w ostatnim czasie. O jej skuteczności zdecydowało nie jedno rozwiązanie, lecz połączenie steganografii, polimorfizmu, opóźnionej aktywacji, selektywnej odpowiedzi C2 i wielofunkcyjnych modułów nadużyć.
Dla zespołów bezpieczeństwa wniosek jest jednoznaczny: rozszerzenia przeglądarkowe trzeba traktować jak uprzywilejowane oprogramowanie zdolne do kradzieży poświadczeń, manipulacji treścią i wykonywania kodu w kontekście użytkownika. Skuteczna obrona wymaga jednocześnie kontroli prewencyjnych, monitoringu behawioralnego oraz szybkiej reakcji na anomalie w ekosystemie przeglądarki.