
Wprowadzenie do problemu / definicja luki
Nowa kampania „GhostPoster” wykorzystuje nieoczywistą technikę ukrywania złośliwego kodu wewnątrz pliku logo (PNG) rozszerzenia Firefoksa. Po instalacji z pozoru zwykły dodatek odczytuje własną ikonę, wyciąga z niej fragment JavaScriptu i uruchamia jako loader do pobrania adekwatnego payloadu z serwera C2. Według badaczy z Koi Security, kampania obejmuje 17 dodatków i >50 tys. instalacji, m.in. kategorie „free VPN”, tłumaczenia, pogoda, zrzuty ekranu czy „dark reader”. Mozilla potwierdziła usunięcie tych rozszerzeń z AMO i aktualizację detekcji.
W skrócie
- Vektor: steganografia w logo.png rozszerzenia; kod ukryty po znaczniku ===.
- Skala: 17 rozszerzeń, >50 000 instalacji łącznie. Przykłady: free-vpn-forever, google-translate-right-clicks, dark-reader-for-ff, ad-stop.
- C2 & ładowanie: loader kontaktuje liveupdt[.]com (primary) i dealctr[.]com (backup); opóźnienie 48 h i pobranie tylko w 10% prób – utrudnienie detekcji.
- Zdolności payloadu: przechwytywanie/ujednolicanie linków afiliacyjnych, wstrzykiwanie Google Analytics w każdą stronę, usuwanie nagłówków CSP/X-Frame-Options, omijanie CAPTCHA, niewidoczne iframy (ad/click fraud).
- Status: Mozilla: „wszystkie rozszerzenia usunięte z AMO; systemy automatyczne zaktualizowane”. (aktualizacja z 17.12.2025).
Kontekst / historia / powiązania
Krajobraz zagrożeń wokół marketplace’ów rozszerzeń konsekwentnie się zaostrza: od kampanii ShadyPanda (miliony ofiar na Chrome/Edge) po wielokrotne przypadki nadużyć przez „free VPN” i narzędzia produktywne. Wspólnym mianownikiem jest wysokie zaufanie użytkowników do dodatków oraz ograniczona skuteczność statycznego przeglądu w sklepach. GhostPoster dorzuca do arsenału steganografię i opóźnienia behawioralne, co utrudnia tradycyjny monitoring.
Analiza techniczna / szczegóły luki
1) Faza „Logo” (steganografia):
- Rozszerzenie pobiera własne logo.png, przeszukuje surowe bajty w poszukiwaniu znacznika ===.
- Sekcja za znacznikiem zawiera zdeklarowany kod JS – loader uruchamiany w kontekście rozszerzenia.
2) Loader i C2:
- Komunikacja do www.liveupdt[.]com, awaryjnie www.dealctr[.]com; parametry z podpisem/sygnaturą pozwalają śledzić instalacje.
- Ewazja: odczekanie ~48 godzin oraz probabilistyczny fetch (10%), przez co analiza sieciowa bywa „pusta”.
3) Dekodowanie/cyfring:
- Payload kodowany prostą sekwencją: swap małe/DUŻE litery → zamiana 8/9 → base64, następnie XOR z kluczem wyprowadzonym z runtime ID rozszerzenia; zapis do storage (trwałość).
4) Końcowy payload – moduły:
- Affiliate hijacking na dużych platformach e-commerce (kradzież prowizji).
- Tracking injection: wstrzyknięcie Google Analytics (np. UA-60144933-8) na każdą stronę z własnymi atrybutami znaczników.
- Twardsze obejścia zabezpieczeń: pasywne usuwanie CSP/X-Frame-Options, omijanie CAPTCHA kilkoma metodami (w tym ładownie solvera z refeuficn.github.io).
- Fraud: krótkotrwałe niewidoczne iframy (samoczyszczenie po ~15 s) dla ad/click fraud i śledzenia.
5) Wskaźniki kompromitacji (IOCs – wybrane):
- Domeny C2: liveupdt[.]com, dealctr[.]com, dodatkowo mitarchive[.]info.
- Znacznik w pliku: === w logo.png.
- ID GA: UA-60144933-8.
- Nazwy dodatków (próbki): free-vpn-forever, crxmouse-gesture, dark-reader-for-ff, ad-stop, google-translate-pro-extension (pełna lista: 17 pozycji).
Praktyczne konsekwencje / ryzyko
- Prywatność i profilowanie: globalny tracking (GA + własne atrybuty), fingerprinting i identyfikatory.
- Ominięcie polityk bezpieczeństwa przeglądarki: usunięcie CSP i XFO zwiększa powierzchnię XSS/clickjacking.
- Straty finansowe i reputacyjne: hijacking afiliacyjny, ad/click fraud (koszty i zafałszowane metryki).
- Ryzyko eskalacji: mechanizm ładowania zdalnego kodu pozwala w każdej chwili dołożyć groźniejszy moduł (np. kradzież haseł, lateral movement przez sesje SSO).
Rekomendacje operacyjne / co zrobić teraz
Dla użytkowników i helpdesku
- Natychmiast odinstaluj wskazane rozszerzenia w Firefoksie (Menu → Dodatki i motywy → Rozszerzenia). Zweryfikuj też inne przeglądarki.
- Wyczyść dane przeglądania (cache/cookies), zaloguj się ponownie do krytycznych serwisów.
- Zmień hasła do usług krytycznych / kont finansowych (ostrożnie: jeżeli BYŁO ryzyko kradzieży sesji).
- Przegląd zgód na powiadomienia push (usuń podejrzane domeny).
Dla SOC/IT/SecOps (enterprise)
- Blokady sieciowe (proxy/DNS/EDR): liveupdt[.]com, dealctr[.]com, mitarchive[.]info, a także refeuficn.github.io (solver). Monitoruj niestandardowe żądania z kontekstu przeglądarki.
- Hunting w logach:
- Wywołania GA z ID UA-60144933-8 poza własną domeną.
- Wzorce modyfikacji nagłówków CSP/XFO przez rozszerzenia.
- Iniekcje ukrytych iframe z krótkim TTL.
- Kontrola floty przeglądarek: polityki pozwalające na allow-listę rozszerzeń, blokadę niezatwierdzonych dodatków i telemetrię zachowania (co robi rozszerzenie po instalacji). (Por. wnioski o niedostatkach samej statycznej weryfikacji marketplace’ów.)
- IR: jeżeli wykryto komunikację z C2 – traktuj jako incident z potencjałem modyfikacji treści stron i kradzieży sesji; rozważ force logout/rotację tokenów w krytycznych aplikacjach.
Dla vendorów/marketplace’ów
- Analiza behawioralna po publikacji (nie tylko przed).
- Reguły heurystyczne: odczyt surowych bajtów ikon, poszukiwanie markerów, probabilistyczne fetch’e, długie opóźnienia (≥48 h).
Różnice / porównania z innymi przypadkami
- VS Code / PNG-trojan w marketplace’ach – wcześniej raportowano nadużycia formatów/zasobów (np. fałszywe PNG w rozszerzeniach IDE), ale GhostPoster stosuje to w przeglądarkach i łączy z elegantną ewazją czasową (48 h + 10%).
- Wobec kampanii ShadyPanda czy fal „free VPN spyware”, GhostPoster nie musi kraść haseł, by być groźny – obniża poziom zabezpieczeń i monetyzuje ruch, a jednocześnie utrzymuje zdalnie sterowalną infrastrukturę.
Podsumowanie / najważniejsze wnioski
GhostPoster to nowoczesna kampania „marketplace malware”: prosta steganografia w ikonie + cierpliwość + modularyzacja. Efekt: trudna detekcja, duża skala i pełna kontrola nad zachowaniem przeglądarki. Obowiązkowe jest wdrożenie allow-listy dodatków, kontroli sieciowej C2, monitorowania anomalii w nagłówkach oraz higieny użytkowników (usuwanie niepotrzebnych rozszerzeń, ostrożność wobec „free VPN”). Mozilla potwierdziła reakcję i usunięcie dodatków, ale model zaufania do rozszerzeń musi się zmienić po stronie organizacji.
Źródła / bibliografia
- Koi Security – Inside GhostPoster: How a PNG Icon Infected 50,000 Firefox Users (pełna analiza techniczna, IOCs). (Koi)
- BleepingComputer – GhostPoster attacks hide malicious JavaScript in Firefox addon logos (przegląd kampanii + oświadczenie Mozilli z 17.12.2025). (BleepingComputer)
- Koi Security – 4.3 Million Browsers Infected: Inside ShadyPanda’s 7-Year Malware Campaign (kontekst ryzyka marketplace’ów). (Koi)










