Powrót do strony głównej

Złośliwe rozszerzenie Chrome udające panel YouTube

Techniczna analiza złośliwego rozszerzenia Chrome udającego panel YouTube. Pokazano brak deklarowanej funkcjonalności, obecność zdalnego zarządzania interfejsem, zbierania danych użytkownika i ukrytej monetyzacji przez zewnętrzne domeny.

Jak wygląda złośliwe rozszerzenie Chrome: analiza fałszywego panelu YouTube
Advertisement 728x90

# Analiza złośliwego rozszerzenia Chrome udającego panel YouTube

W Chrome Web Store odkryto rozszerzenie „Youside — boczny panel YouTube”, które w rzeczywistości nie ma nic wspólnego z funkcjonalnością YouTube. Zamiast obiecanych funkcji — wbudowanego odtwarzacza, zarządzania subskrypcjami i szybkiego dostępu — implementuje cienki klient dla zewnętrznego backendu z zdalnym sterowaniem interfejsem, zbieraniem danych użytkowników i ukrytą monetyzacją.

Architektura: klient bez logiki

Rozszerzenie o identyfikatorze mmecpiobcdbjkaijljohghhpfgngpjmk demonstruje typową architekturę złośliwego oprogramowania: minimum lokalnej logiki, maksimum zależności od zewnętrznego serwera. Po uruchomieniu generowany jest lub odczytywany trwały user_id z localStorage, po czym wysyłany jest request do API pod adresem https://mines.cloudapi.stream/user_info. Odpowiedź serwera w pełni determinuje zachowanie interfejsu użytkownika — od wyświetlania elementów po zawartość bloków HTML.

Kluczowe cechy:

Google AdInline article slot
  • Brak jakichkolwiek odwołań do YouTube API lub domeny youtube.com
  • Brak implementacji IFrame Player API
  • Brak logiki obsługi subskrypcji, wyszukiwania wideo czy pracy z strumieniem wideo
  • Wszystkie działania sterowane są przez odpowiedzi zewnętrznego serwera

Dzięki temu atakujący mogą dynamicznie zmieniać zachowanie rozszerzenia bez potrzeby aktualizacji kodu w sklepie.

Zdalne sterowanie interfejsem

Serwer zwraca obiekt JSON z polami success, is_valid, rating i protxt. Część kliencka bezpośrednio stosuje te dane do DOM bez jakiejkolwiek walidacji:

if (result.is_valid) {
  proplansID.classList.add('h_');
  playBtn.classList.remove('h_');
} else {
  playBtn.classList.add('h_');
}

Taki podejście realizuje mechanizm flag cech, ale bez ochrony przed iniekcjami. Szczególnie niebezpieczne jest bezpośrednie wstawianie HTML:

Google AdInline article slot
if (result.protxt) {
  proplansID.innerHTML = result.protxt;
}

Ponieważ zawartość nie jest filtrowana ani sanitizowana, serwer może wstrzyknąć dowolny JavaScript za pomocą innerHTML, co otwiera drogę do ataków XSS nawet w izolowanym kontekście rozszerzenia.

Ukryta monetyzacja i śledzenie

Wszystkie przyciski z klasą .buyBtn są przechwytywane i przekierowywane na zewnętrzny domenę:

document.querySelectorAll('.buyBtn').forEach(btn => {
  btn.setAttribute(
    'href',
    `https://topup.cloudapi.stream/?user_id=${encodeURIComponent(localStorage.getItem("user_id"))}&type=game`
  );
});

W ten sposób wszelkie kliknięcia tych elementów przekazują unikalny identyfikator użytkownika w parametrze URL. Pozwala to powiązać działania użytkownika z jego profilem w celach monetyzacji lub dalszego profilowania.

Google AdInline article slot

Do stabilnego śledzenia używana jest kombinacja danych:

  • user_id z localStorage (trwały identyfikator)
  • chrome.runtime.id (unikalny ID rozszerzenia w przeglądarce)
  • navigator.language (kod językowy użytkownika)

Taki zestaw zapewnia wysoką precyzję identyfikacji nawet przy zmianie adresu IP lub czyszczeniu ciasteczek.

Brak deklarowanej funkcjonalności

Mimo opisu w sklepie rozszerzenie nie zawiera ani jednej linii kodu związanej z YouTube:

  • Brak wywołań YouTube Data API
  • Brak osadzania odtwarzacza wideo przez iframe
  • Brak obsługi zdarzeń odtwarzania
  • Brak logiki pracy z playlistami lub kanałami

Jedyna interakcja z YouTube to przekierowanie po kliknięciu przycisku Play:

playBtn.addEventListener("click", () => {
  window.location = "https://youtube.com/";
});

Potwierdza to, że rozszerzenie zostało stworzone wyłącznie do kamuflażu pod przydatne narzędzie, podczas gdy jego rzeczywistym celem jest zbieranie danych i monetyzacja ruchu.

Co ważne

  • Rozszerzenie nie oferuje deklarowanej funkcjonalności YouTube.
  • Interfejs jest w pełni sterowany przez zewnętrzny serwer za pomocą niechronionych API.
  • Możliwa iniekcja dowolnego HTML i potencjalny XSS.
  • Zaimplementowane ukryte śledzenie użytkownika poprzez kombinację identyfikatorów.
  • Wszystkie linki monetyzacyjne przekierowują na zewnętrzne domeny z przekazywaniem user_id.

— Editorial Team

Advertisement 728x90

Czytaj dalej