Konferencja Mega Sekurak Hacking Party w Krakowie – 26-27 października!

Świąteczne promocje z sekurakiem!

Jak wykupione rozszerzenia Chrome zmieniły się w malware i adware

05 stycznia 2026, 01:47 | Aktualności | 0 komentarzy

Dzisiaj praktycznie wszystko można zrobić w przeglądarce. Korzystanie z dedykowanej aplikacji do maili, pakietu biurowego czy komunikatora nie jest konieczne, bo większość takich usług działa również w wersjach webowych. Co za tym idzie, przeglądarka staje się de facto środowiskiem do uruchamiania innych aplikacji.

TLDR:

  • Badacze z LayerX wykryli kampanię, w której wykupywano rozszerzenia Chrome i wdrażano złośliwe aktualizacje.
  • Po zmianie właściciela rozszerzenia komunikowały się z serwerami C2 i pobierały z nich konfigurację.
  • Wtyczki umożliwiały dynamiczną manipulację treścią stron, w tym formularzami logowania i dowolnymi elementami DOM.
  • Dzięki użyciu MutationObserver mechanizm ten działał niezależnie od oryginalnych zmian na stronie.
  • Atakujący wdrożyli także wtyczki z adware pokazujące użytkownikom fałszywą captchę i wysyłające powiadomienia.
  • Nawet zaufane rozszerzenia mogą stać się wektorem ataku – ogranicz ich liczbę w swojej przeglądarce.

A środowisko takie musi być wygodne, prawda? Użytkownicy chętnie instalują więc wiele wtyczek, które mają ułatwić i usprawnić pracę w przeglądarce. Jednak niektóre pluginy robią trochę więcej, niż powinny, a artykuły o nich zaczynają tworzyć nową Modę na sukces.

Badacze bezpieczeństwa z LayerX odkryli kampanię, w ramach której wiele nieszkodliwych rozszerzeń do Chrome (a więc także innych opartych na Chromium przeglądarek Edge, Brave, Opera czy Vivaldi) otrzymało złośliwe aktualizacje. I zdaje się, że nie jest to typowy atak na łańcuch dostaw, w którym atakujący przejęliby konta twórców wtyczek, żeby wprowadzić swój kod. Wszystko wskazuje na to, że wtyczki zostały po prostu wykupione (po co atakować twórców, skoro wystarczy zapłacić ;)

Chociaż rozszerzenia wyglądały na nieszkodliwe i nie żądały żadnych specjalnych uprawnień, zostały zmodyfikowane tak, aby regularnie pobierać plik konfiguracyjny z serwera atakujących. Pozwalało to dynamicznie wstrzykiwać treści na wyświetlanych stronach oraz manipulować nimi bez konieczności ciągłych aktualizacji wtyczki w Web Store (wystarczył jednorazowy update do złośliwej wersji). Ewentualna zmiana konfiguracji musiała pojawić się jedynie na serwerze C2 (Command & Control), a rozszerzenia wdrażały ją same.

Badacze ustalili, że złośliwe funkcjonalności były wprowadzane natychmiast po zmianie właściciela w Chrome Web Store. Równolegle (krótko przed opublikowaniem aktualizacji) rejestrowane były domeny dla serwerów C2 używane później do dostarczania dynamicznej konfiguracji. Zbieżność rejestracji takich domen ze zmianami w kodzie po przejęciu wtyczek wskazuje, że działo się to w ramach skoordynowanej kampanii, a nie były to pojedyncze incydenty.

Chociaż badane rozszerzenia służyły pierwotnie do zupełnie różnych celów, złośliwy kod działał we wszystkich praktycznie tak samo. Przede wszystkim, każda wtyczka co 5 minut pobierała plik konfiguracyjny (config.php / theme.php) z serwera C2.

Plik ten definiował m.in.:

  • strony internetowe, które modyfikowano
  • elementy DOM, które miały zostać zmienione
  • adres URL payloadu, który miał zostać wstrzyknięty

Ponieważ dane te pochodzą z domen kontrolowanych przez atakujących, zachowanie rozszerzeń może zostać zmienione w każdej chwili, bez żadnej aktualizacji w Chrome Web Store (a więc niezauważalnie dla użytkownika).

Wtyczki dla pobranych parametrów podmieniały elementy / parametry w DOM (Document Object Model) zdefiniowanych w konfiguracji stron:

Rys. 1 – podmiana elementów DOM, źródło: layerxsecurity.com

Rozszerzenia wykorzystywały te reguły do pobierania treści kontrolowanych przez atakujących i bezpośredniego wstrzykiwania ich do stron internetowych:

Pozwala to m.in. na:

  • przekierowanie (prawdziwych) formularzy logowania do domeny atakujących (de facto możliwość pozyskania loginu i hasła ofiary)
  • modyfikację stron finansowych / sklepów
  • wstrzyknięcie reklam / skryptów śledzących
  • modyfikację treści artykułów / nagłówków / wpisów w social mediach

Aby zapewnić, że modyfikacje nie mogą zostać cofnięte przez witrynę (np. w sytuacji, gdy treść jest dynamicznie wstawiana przez framework frontendowy), rozszerzenie używa MutationObserver. Jest to API do wykrywania zmian w DOM. Dzięki temu treści dostarczane przez atakujących są wprowadzane za każdym razem, gdy oryginalna treść strony się aktualizuje.

Po sprawdzeniu historycznych danych z Chrome Web Store całość tworzyła spójny schemat – rozszerzenia były nieszkodliwe aż do zmiany właściciela. Przed wprowadzeniem zmian wtyczki zawierały deklarowane przez twórców funkcjonalności i nie korzystały ze zdalnych plików konfiguracyjnych ani nie modyfikowały DOM.

Badacze zebrali te zbieżności czasowe w tabeli:

ID rozszerzeniaZmiana właścicielaRejestracja domeny C2Wydanie złośliwej aktualizacji
kbaofbaehfbehifbkhplkifihabcicoi2025-07-192025-07-272025-07-30
ijhbioflmfpgfmgapjnojopobfncdeif2025-07-232025-08-202025-08-27
nimnhhcainjoacphlmhbkodofenjgobh2025-07-192025-08-202025-08-22
jleonlfcaijhkgejhhjfjinedgficgaj2025-04-142025-08-222025-08-26
pgfjnclkpdmocilijgalomiaokgjejdm2025-07-192025-08-132025-08-16
eekibodjacokkihmicbjgdpdfhkjemlf2025-09-212025-09-232025-09-25
ggjlkinaanncojaippgbndimlhcdlohf2024-09-252024-09-302024-10-11
ncbknoohfjmcfneopnfkapmkblaenokb2024-12-132025-02-032025-02-07

Najprawdopodobniej w tej kampanii atakujący zwyczajnie wybierali rozszerzenia o dużej liczbie instalacji i kupowali je od dotychczasowych twórców, by następnie wdrożyć złośliwą aktualizację, którą zainstaluje wielu użytkowników. 

W grudniu badacze zidentyfikowali kilka kolejnych wtyczek, które także stały się złośliwe, ale nieco inaczej niż poprzednie. Zamiast malware wdrożono w nich adware.Rozszerzenia początkowo spełniały tylko swoją pierwotną funkcję. Jednak zaczęły pobierać również konfigurację z serwera C2. Plik ten zawierał listę domen, dla których rozszerzenie miało wyświetlać fałszywą “captchę”.

Rys. 2 – fragment pliku konfiguracyjnego, źródło: layerxsecurity.com

Gdy użytkownik odwiedzał jedną z tych domen, natychmiast wyświetlany był komunikat informujący o weryfikacji (“captcha”).

Rys. 3 – fałszywa “captcha”, źródło: layerxsecurity.com

Choć całość udaje Cloudflare Turnstile, kliknięcie tak naprawdę przekierowuje ofiarę do kolejnej strony. Ta z kolei rejestruje service worker i wysyła dane o urządzeniu, przeglądarce i systemie operacyjnym użytkownika do domeny pushtorm[.]net. Następnie użytkownik jest proszony o wyrażenie zgody na powiadomienia.

Rys. 4 – zgoda na powiadomienia, źródło: layerxsecurity.com

Po ich przyznaniu rozszerzenie zaczyna wysyłać reklamy za pośrednictwem tych właśnie powiadomień, działając jak typowe adware.

Ta kampania jest kolejnym dowodem na to, jak nawet znane i zaufane wtyczki mogą stać się złośliwe. Powodem może być atak na łańcuch dostaw (jak np. w przypadku Trust Wallet, o którym niedawno pisaliśmy), ale też po prostu… wykupienie wtyczki przez atakujących. 

Każde zainstalowane w przeglądarce rozszerzenie może stać się wektorem ataku. Główną poradą będzie więc minimalizacja liczby rozszerzeń. Dodatkowo warto rozważyć instalację specyficznych wtyczek (np. służących tylko do pobierania czy wyodrębnienia danych) w osobnej przeglądarce tylko do tego celu (co ograniczy skutki części ataków do miejsc, w których używaliśmy wtyczki). Pomóc może też wykonywanie wrażliwych operacji (np. płatności, logowanie do banku, ePUAP) w trybie incognito, gdzie wtyczki domyślnie nie mają dostępu.

Źródło: layerxsecurity.com

~Tymoteusz Jóźwiak

Spodobał Ci się wpis? Podziel się nim ze znajomymi:



Komentarze

Odpowiedz