Backdoor z fabryki: producent przystawek Android TV zbudował botnet z 1,3 mln urządzeń
Google, wraz z japońską policją i firmami z branży bezpieczeństwa, rozbił botnet XCPE, w którym znalazło się ponad 1,3 mln urządzeń z Androidem, głównie przystawek TV. Według Google Threat Intelligence Group backdoor celowo wbudował w firmware sam producent, chiński Videostrong Technology. Dostęp do urządzeń sprzedawał przestępcom, którzy wykorzystywali je do oszustw reklamowych i jako węzły sieci residential proxy. Analizujemy architekturę malware, kanał C2 oparty na MQTT, techniki persystencji i moduły monetyzacji. Pokazujemy też, jak sprawdzić, czy Twoje urządzenie jest zainfekowane.
WSTĘP: Backdoor, który przyszedł w pudełku
Google wraz z partnerami rozbił botnet XCPE, liczący ponad 1,3 mln urządzeń z Androidem - głównie przystawek Android TV. Za backdoorem nie stała grupa przestępcza, która włamała się do sprzętu, lecz sam producent. Według Google Threat Intelligence Group (GTIG) chiński OEM/ODM Videostrong Technology Co. z Shenzhen celowo wbudował złośliwe oprogramowanie w firmware swoich urządzeń, a następnie sprzedawał dostęp do nich przestępczym partnerm.
Zainfekowane przystawki działały jako węzły wyjściowe sieci residential proxy, narzędzia do oszustw reklamowych i platforma do instalowania kolejnego malware. Właściciele widzieli tylko działający odtwarzacz. Google zbanował Videostrong na stałe, a przejęcie serwerów dowodzenia afiliantów ma według firmy odciąć dostęp do co najmniej 10 mln kolejnych urządzeń zainfekowanych innymi drogami.
ROZDZIAŁ I: Producent jako operator botnetu
Raport GTIG ukazał się 2 listopada 2026 roku, tydzień po skoordynowanej akcji wymierzonej w infrastrukturę botnetu. Google pracował przy niej z japońską Krajową Agencją Policji (NPA) oraz firmami Lumen (Black Lotus Labs), HUMAN Security, Plume, Synthient i TrendAI. Badacze ocenili „z wysoką pewnością”, że backdoor i botnet zostały celowo stworzone i były obsługiwane przez Videostrong w celach zarobkowych.
Kluczowe jest to, że nie mówimy o pojedynczym nieuczciwym pracowniku ani o błędzie. Złośliwy kod znaleziono w wielu modelach i markach, wydawanych na przestrzeni lat. Stała za nim dedykowana infrastruktura oraz stale zmieniane konfiguracje, które miały utrudniać wykrycie i ułatwiać zarządzanie afiliantami.
Videostrong był certyfikowanym partnerem Androida, więc jego urządzenia przechodziły testy zgodności i bezpieczeństwa Google. Producent ominął je w prosty sposób: złośliwy kod ładował się dopiero po pierwszym uruchomieniu urządzenia, a do tego był zaciemniony. Google przyznaje, że wykorzystano lukę w jego procesie testowym, i deklaruje, że proces został już zmieniony.
W ramach akcji Google:
- przejął na drodze prawnej domeny i serwery, z których Videostrong sterował botnetem i instalował moduły,
- przejął domeny C2 kilkunastu rodzin malware ładowanych przez backdoor,
- na stałe zakazał Videostrongowi oraz jego przyszłym spółkom zależnym budowania certyfikowanych urządzeń z Androidem i dostarczania oprogramowania innym certyfikowanym producentom,
- wdrożył zmiany w weryfikacji integralności firmware urządzeń Android TV.
ROZDZIAŁ II: Architektura - trzy warstwy malware
Od co najmniej końca 2024 roku malware Videostrong ewoluował od prostych, jednoetapowych dropperów do modułowej architektury trzywarstwowej, zaprojektowanej z myślą o odporności i obsłudze wielu „klientów” jednocześnie.
- Backdoor główny:
x.cpe(w części buildówcom.oemservice). Działa z uprawnieniamiandroid.uid.systemi jest preinstalowany w partycji firmware. Jego głównym zadaniem jest utrzymanie łączności z serwerem C2 i przekazywanie poleceń dalej. - Loader i silnik wykonawczy:
com.abc.nexus. Pod koniec 2024 roku - prawdopodobnie w reakcji na wcześniejsze działania Google przeciwko BadBox - Videostrong wyniósł złośliwe moduły zx.cpedo osobnego pakietu. Dzięki temu sam backdoor wyglądał niewinnie, acom.abc.nexusodbierał instrukcje przez IPC, uruchamiał moduły i stosował zabezpieczenia antyanalityczne. - Moduły monetyzacji, pisane przez zewnętrzne podmioty (afiliantów). Ładowane jako natywne demony ELF, jako SDK wkompilowane w bajtkod DEX loadera albo jako dodatkowe APK pobierane z infrastruktury stagingowej.
Inicjalizacja backdoora
Łańcuch infekcji zaczyna się od niewielkiego „stuba” w partycji systemowej. Przy starcie sprawdza on katalog /oem/, znajduje tam właściwy pakiet x.cpe i instaluje go w /data/app/. To właśnie ten krok, wykonywany po pierwszym uruchomieniu, pozwalał ominąć testy certyfikacyjne.
x.cpe eksportuje dwa ContentProvidery z tabelami konfiguracyjnymi: parametrami runtime, identyfikatorami urządzenia, blobami konfiguracji proxy i flagami wykonania. Z danych tych korzystają inne aplikacje z ekosystemu Videostrong, np. odtwarzacz YokaTV Player.
ROZDZIAŁ III: Kanał C2 - od HTTP do MQTT
Komunikacja z serwerem dowodzenia przebiega dwuetapowo. Najpierw urządzenie pobiera przez HTTP konfigurację startową, a potem utrzymuje stałe połączenie MQTT, przez które dostaje polecenia. MQTT to lekki protokół publish/subscribe, typowy dla IoT - tu wykorzystany jako kanał C2, który dobrze wtapia się w ruch urządzeń domowych.
Wybór serwera bootstrap
Malware najpierw odpytuje provider content://com.release.debug.provider/configs o klucz private_url. Następnie sprawdza właściwość systemową ro.mecool.device: na urządzeniach Mecool używa stałego hosta, na pozostałych składa nazwę hosta z wersji Androida i typu urządzenia.
# logika wyboru hosta (opis na podstawie raportu GTIG, domeny zneutralizowane)
ro.mecool.device == true -> http://mcstb.anyevonline[.]com:8000
w przeciwnym razie -> http://stb<WersjaAndroida><Typ>.anyevonline[.]com:8000
Na wybrany host urządzenie wysyła żądania POST z obiektem JSON zaszyfrowanym AES. Zawiera on telemetrię sprzętową: numer seryjny, MAC, model i wersję firmware.
| Endpoint | Co zwraca |
|---|---|
| /router/config/mqtt | Adres brokera MQTT, port TCP, tokeny i hasła oraz strukturę tematów /device/{model}/{chipId}/{action} |
| /router/config/acs | Adresy usług geolokalizacji IP i serwera STUN Google (ustalenie publicznego IP i mapowania NAT), adres do wysyłania plików i logów oraz flagi włączające moduły reklamowe i podstawowe |
| /router/config/app | Konfiguracje poszczególnych modułów, odszyfrowywane i zapisywane w SQLite-owym ContentProviderze com.oem.share.provider, z którego moduły pobierają aktualne parametry infrastruktury |
Możliwości kanału MQTT
Wszystkie przeanalizowane próbki korzystały z jednego brokera, mqtt.szbboys[.]com, nasłuchującego na niestandardowych portach TCP 3885-3887. Poszczególne tematy MQTT odpowiadały konkretnym akcjom:
- Cicha instalacja aplikacji - pobranie APK do katalogu tymczasowego i instalacja bez wiedzy użytkownika.
- Wyłączenie Google Play Protect - zmiana globalnego ustawienia
package_verifier_user_consentna-1, co wyłącza weryfikację instalowanych aplikacji. - Wykonywanie dowolnych poleceń powłoki z uprawnieniami UID system; wyniki trafiają z powrotem do brokera.
- Pobieranie i uruchamianie skryptów shell.
- Zdalny podgląd ekranu - wstrzykiwanie kodów klawiszy przez
Instrumentation.sendKeyDownUpSync()i ciągłe zrzuty ekranu przez ukryte APISurfaceControl, kompresowane do JPEG i publikowane przez MQTT. - Rozpoznanie sieci - wbudowany
libtraceroute.so, testy ping i zapytania WHOIS o numery AS.
Z danych C2 wynika, że większość interakcji dotyczyła instalacji, odinstalowywania i konfiguracji modułów. Google zaobserwował jednak także operatorów Videostrong robiących zrzuty ekranu na żywo, wstrzykujących naciśnięcia klawiszy, wykradających dane kont, inwentarze aplikacji i logi systemowe oraz uruchamiających reverse shelle. To już nie tylko „sprzedaż łącza”, ale pełny zdalny dostęp do urządzenia w czyimś salonie.
Pliki modułów hostowano głównie jako releasy na kontach GitHub kontrolowanych przez operatora, a także w serwisie filemail i na dwóch własnych serwerach. Telemetria NetFlow brokerów wskazuje, że operatorzy zarządzali nimi z adresów spoza botnetu - przez REST API (port 8082), WebSocket (8083) oraz konsolę administracyjną EMQX (18083).
ROZDZIAŁ IV: Persystencja i unikanie wykrycia
Użytkownik nie ma praktycznie szans pozbyć się infekcji samodzielnie. x.cpe jest preinstalowaną aplikacją systemową podpisaną kluczem producenta. Jeśli zostanie odinstalowany z /data/app/, BootReceiver przy następnym starcie po prostu zainstaluje go ponownie z /oem/.
Ochrona przed analizą
Wiele wariantów com.abc.nexus rozpakowuje bibliotekę libseccomp_guard.so jeszcze przed startem modułów. Filtruje ona wywołania systemowe tak, by uniemożliwić wstrzymywanie i zabijanie wątków, blokuje ingerencję innych procesów i nie pozwala tworzyć procesów potomnych. Cel: utrudnić pracę sandboxom i narzędziom do instrumentacji. Nowsze wersje usuwały też z urządzenia konkurencyjne malware, żeby operator zachował wyłączną kontrolę.
Ewolucja z sierpnia 2026: root przez adbd
Od sierpnia 2026 roku operatorzy zaczęli masowo odinstalowywać com.abc.nexus i jednocześnie instalować przez MQTT nowe droppery, podszywające się pod aplikacje systemowe, np. com.android.system.ntp czy com.android.sso.auth.handler. Każdy z nich instaluje pojedynczy moduł monetyzacji zamiast pełnego loadera.
Najciekawszy jest sposób, w jaki te droppery zakotwiczają się w systemie. Według GTIG przebiega to tak:
- dropper rozpakowuje natywną bibliotekę
libexploit.soz funkcjaminativeAdbRoot()inativeAdbShell(), - restartuje lokalną usługę
adbdz uprawnieniami root i otwiera do niej połączenie, - przemontowuje partycję
systemdo zapisu i kopiuje się do nowego katalogu w/system/priv-app/, - tworzy plik
/system/etc/permissions/privapp-permissions-<nazwa>.xml, nadający sobieINSTALL_PACKAGESiREBOOT.
Takie aplikacje nie słuchają już poleceń IPC z x.cpe. Sterowane są przez właściwości systemowe ustawiane skryptami z brokera:
| Właściwość | Działanie |
|---|---|
| persist.networkstack.uninstall | Wyzwala odinstalowanie i sprzątanie śladów |
| persist.networkstack.skip_system_install | Pomija instalację w partycji system; aplikacja zostaje w /data/app/ |
| persist.networkstack.install_time | Timestomping: podmienia znacznik czasu instalacji, by pasował do innych pakietów systemowych |
ROZDZIAŁ V: Moduły monetyzacji
Videostrong starał się wycisnąć z każdego urządzenia jak najwięcej. Na jednej przystawce działały czasem nawet trzy różne SDK residential proxy jednocześnie. Moduły przydzielano i konfigurowano wiadomością MQTT ext/lib/config. Zawierała ona limity zasobów, adresy pobierania dla każdej architektury, sumy kontrolne, priorytety i listę modułów do włączenia.
Poniżej uproszczony schemat takiej wiadomości, odtworzony na podstawie fragmentów opublikowanych przez GTIG (wartości przykładowe, adresy pominięte):
{
"constraints": [ { "libCode": "linkfog", "cpu": 70, "memory": 50,
"ioRead": 5000, "ioWrite": 5000, "reportAlarm": true } ],
"infos": [ { "libCode": "linkfog", "libWeight": 5,
"libResource": [ { "architecture": "arm64-v8a", "address": "…", "md5": "…" },
{ "architecture": "armeabi-v7a", "address": "…", "md5": "…" } ] } ],
"serverPool": { "defaultPool": "Pool5" },
"status": [ { "libCode": "linkfog", "enable": true },
{ "libCode": "bwm", "enable": false } ]
}
Widać tu dbałość o to, by urządzenie nie zwolniło na tyle, żeby użytkownik coś zauważył: moduł dostaje limit 70% CPU i 50% pamięci, a przekroczenia są raportowane. Urządzenia przydzielano do jednej z sześciu pul serwerów, podzielonych według stref czasowych. Po przyjęciu konfiguracji x.cpe odsyłał potwierdzenie na temat ext/lib/config/reply.
| Moduł | Kategoria | Najważniejsze cechy techniczne |
|---|---|---|
| Linkfog | Proxy / PCDN | Binarka Go lw_android_agent; tunele odwrotne FRP, raportowanie zużycia pasma |
| Jaguar | Proxy | 32-bitowy ELF w C (libjaguar.so); klucz ChaCha20 wyliczany instrukcjami ARM NEON; przekaźnik TCP i UDP |
| AppSalt / Honeygain | Proxy | Klucz API w libnative_keys.so; zgoda ustawiana wywołaniem optIn() bez ekranu zgody; SDK nie uruchamia się, jeśli aplikację zainstalowano ze Sklepu Play; WebSocket + MessagePack, tunele UDP/QUIC |
| BWM / IPWeb | Proxy | Rejestracja przez UDP, multipleksowany tunel TCP oparty na Java NIO |
| GaGaNode (IPCola) | Proxy | Własny przekaźnik oraz inicjalizacja SDK kolejnych dostawców (Popanet/NetNut, EarnFM) - dalsza odsprzedaż węzłów |
| Traffmonetizer | Proxy | Jeden kanał WebSocket (TLS) multipleksujący sterowanie i tunele TCP/UDP, także tryb „Content Delivery” |
| EarnFM (Fleet SDK) | Proxy | libfleetshare.so, polecenia JSON przez WebSocket |
| Spirit | Backdoor | Wieloetapowe dynamiczne ładowanie kodu; ładuje kolejne moduły monetyzacji |
| Moyu | Backdoor | Trzyetapowy, znany z BadBox; ukryte WebView do click fraud, przejmowanie schowka, osobny trojan proxy |
| Bird | Backdoor | Dwuetapowy, znany z BadBox; profilowanie środowiska przed wydaniem drugiego etapu, ciche instalacje APK, reklamy na ekranie blokady |
| Fission | Ad fraud | Ukryty w aplikacjach wideo; odpala beacony wyświetleń reklam bez renderowania czegokolwiek |
| HiddenView | Ad fraud | Przezroczysta nakładka i ukryte WebView symulujące przewijanie, kliknięcia i odtwarzanie; zrzuty ekranu |
Szczególnie wymowny jest szczegół z AppSalt: SDK sprawdza źródło instalacji aplikacji i przestaje działać, jeśli pochodzi ona z oficjalnego Sklepu Google Play. Zgoda użytkownika jest „udzielana” programowo, bez wyświetlenia czegokolwiek. Google podsumowuje, że dostawcy residential proxy proszą o zgodę głównie wtedy, gdy wymuszają to zasady platformy.
ROZDZIAŁ VI: Skala i geografia
TrendAI Research obserwował operację od czerwca do października 2026 roku. Zbieranie danych było okresowe, więc wszystkie liczby należy traktować jako dolne granice.
| Modele urządzeń | 206 |
| Urządzenia z przydzielonymi modułami proxy i ad fraud | ok. 1,33 mln |
| Unikalne domowe adresy IP wyjścia | 3 849 226 |
| Adresy IP dostępne jednego dnia | śr. 182 025, szczyt 366 562 |
| Przechwycone komunikaty sterujące | 2 360 663 001 |
Najwięcej urządzeń zgłaszało się z Malezji, Brazylii, Iraku, Meksyku i Tajwanu. W USA, Niemczech, Wielkiej Brytanii, Australii i Kanadzie było ich od ok. 26 tys. do 42 tys. w każdym kraju. TrendAI odnotował też polecenia cichej instalacji docierające do ponad 187 tys. urządzeń oraz skrypt wyłączający Play Protect na dużej ich liczbie. Firma zastrzega, że nie zaobserwowała konkretnych nabywców przepustowości tej floty i nie ma dowodów na jej wykorzystanie przez aktorów państwowych.
Botnet to nie tylko przystawki TV. Ten sam backdoor znaleziono w projektorach, urządzeniach telemedycznych, maszynach karaoke i systemach digital signage. Ben Brundage z Synthient nazwał liczbę 1,3 mln w rozmowie z Brianem Krebsem „bardzo ostrożną” i ocenił, że to prawdopodobnie największa jak dotąd operacja przeciwko przystawkom z backdoorem.
Dlaczego to problem także dla firm. Ruch z zainfekowanej przystawki pochodzi z prawdziwego domowego łącza - takich samych sieci, z których korzystają klienci i pracownicy zdalni. Przechodzi więc kontrole reputacji i geolokalizacji IP, na których polegają banki, sklepy i usługi online. TrendAI wskazuje, że w tej flocie wyjścia proxy działały m.in. na łączach Comcast, Charter, AT&T, Virgin Media i Vodafone Germany. Urządzenia zbierały też szczegóły otoczenia, w tym dane Wi-Fi i Bluetooth, a w sieci firmowej mogłyby dać napastnikowi punkt zaczepienia w sieci wewnętrznej.
ROZDZIAŁ VII: Mecool, Kimwolf i BadBox - szerszy kontekst
Videostrong produkuje sprzęt pod własną nazwą i jako dostawca white-label dla innych marek. Synthient przeanalizował popularne przystawki MECOOL, sprzedawane przez notowaną na giełdzie chińską firmę Skyworth Technology, i znalazł w nich ten sam malware Videostrong wraz z komponentami AppSalt/Honeygain. Firma opublikowała na GitHubie listę modeli z backdoorem. Według AFTVnews obok Mecool są na niej m.in. urządzenia marek Skyworth, Strong, SviCloud, EVPAD, Steren, Tanix i Dreamstar.
Popularność Mecool wzrosła po tym, jak w 2023 roku produkt pojawił się na kanale YouTube Linus Tech Tips. Kanał zaktualizował później materiał, opisując produkt jako oszustwo, i usunął linki afiliacyjne.
Sprawa wpisuje się w szerszy ekosystem. TrendAI łączy ją z BADBOX 2.0, rozbitym w marcu 2025 roku, a Kaspersky wiązał komponent com.abc.nexus z aktorem IPMoyu. Synthient opisywał wcześniej botnet Kimwolf, który w styczniu 2026 roku błyskawicznie zainfekował miliony przystawek, wykorzystując podatność w usługach residential proxy do atakowania innych urządzeń w sieciach lokalnych ofiar.
Raport wymienia też z nazwy dostawców proxy, których SDK trafiały na urządzenia. Wśród nich jest AppSalt/Honeygain, należący do wileńskiej firmy Oxylabs, w październiku 2026 roku przemianowanej na Source po rundzie finansowania od Warburg Pincus. Jest też NetNut, powiązany z izraelską spółką Alarum Technologies - FBI przejęło w lipcu 2026 roku setki jego domen w związku z botnetem Popa. Oxylabs nie odpowiedział na pytania Krebsa.
ROZDZIAŁ VIII: Jak sprawdzić swoje urządzenie
Pełnej listy marek i modeli Google nie opublikował. Punktem wyjścia jest więc lista Synthient na GitHubie. Jeśli model Twojej przystawki na niej jest, potraktuj urządzenie jako skompromitowane.
Sprawdzenie przez ADB
Bardziej zaawansowani użytkownicy mogą włączyć w przystawce opcje programisty i debugowanie, a następnie połączyć się przez ADB. Poniższe polecenia służą wyłącznie diagnostyce - niczego nie zmieniają w systemie.
# 1. Pakiety backdoora i modułów wymienione przez GTIG i AFTVnews
adb shell pm list packages -f | grep -E \
'x\.cpe|com\.oemservice|com\.abc\.nexus|com\.vs\.grass|com\.bird\.cc|com\.android\.system\.ntp|com\.android\.sso\.auth\.handler|com\.ota\.service'
# 2. Czy to urządzenie z linii Mecool
adb shell getprop ro.mecool.device
# 3. Właściwości sterujące nowszymi dropperami
adb shell getprop | grep 'persist.networkstack'
# 4. Czy weryfikacja aplikacji (Play Protect) została wyłączona
adb shell settings get global package_verifier_user_consent
# 5. Podejrzane pliki uprawnień priv-app dodane przez droppery
adb shell ls -l /system/etc/permissions/ | grep privapp-permissions
# 6. Szczegóły pakietu (ścieżka, podpis, czas instalacji)
adb shell dumpsys package x.cpe | grep -E 'codePath|versionName|firstInstallTime|lastUpdateTime'
Wartość -1 w punkcie 4 oznacza wyłączoną weryfikację aplikacji - dokładnie to, co robi backdoor. Pamiętaj jednak o dwóch zastrzeżeniach. Po pierwsze, według AFTVnews obecność lub brak tych pakietów nie przesądza jednoznacznie o infekcji. Po drugie, timestomping w nowszych dropperach sprawia, że daty instalacji z punktu 6 mogą być sfałszowane.
Wykrywanie na poziomie sieci
Zamiast grzebać w samej przystawce, można obserwować ją z zewnątrz - na routerze, w Pi-hole, AdGuard Home albo w IDS. Warto szukać:
- zapytań DNS o
*.anyevonline.com,*.szbboys.com,yokatvonline.comiintermedia-arts.tv- warto je też zablokować, - połączeń TCP na porty 3885-3887 (MQTT na niestandardowych portach) oraz HTTP na port 8000,
- nietypowo dużego ruchu wychodzącego z przystawki w czasie, gdy nikt z niej nie korzysta - typowy objaw pracy jako węzeł proxy,
- zapytań do STUN i usług geolokalizacji IP wykonywanych przez urządzenie, które nie powinno ich potrzebować.
Przykładowa reguła do Suricaty, oznaczająca próby połączeń z brokerem MQTT na portach wskazanych przez GTIG (do dostosowania do własnej sieci):
alert dns $HOME_NET any -> any any (msg:"XCPE C2 domain lookup"; \
dns.query; pcre:"/(anyevonline|szbboys)\.com$/i"; sid:9100001; rev:1;)
alert tcp $HOME_NET any -> [219.134.163.210,219.134.163.211] [3885:3887] \
(msg:"XCPE MQTT broker connection"; flow:to_server; sid:9100002; rev:1;)
Co zrobić z zainfekowanym urządzeniem
Najbezpieczniej jest odłączyć przystawkę i przestać jej używać. Przywrócenie ustawień fabrycznych nie usunie backdoora, bo siedzi on w firmware. Może natomiast usunąć doinstalowane moduły, a przejęte domeny C2 powinny utrudnić ich ponowne pobranie. TrendAI podkreśla, że implant jest podpisany kluczem producenta, więc czyszczenie wymaga działania dostawcy, ochrony platformy albo wymiany urządzenia.
Jeśli z jakiegoś powodu urządzenie musi zostać w sieci, przenieś je do odizolowanej sieci gościnnej lub VLAN-u bez dostępu do innych urządzeń domowych i firmowych. Pamiętaj też, że przejęcie serwerów nie usunęło implantu z już sprzedanych urządzeń, a operatorzy tego typu w przeszłości odbudowywali infrastrukturę.
ROZDZIAŁ IX: Wskaźniki kompromitacji (IoC)
Poniżej komplet wskaźników opublikowanych przez Google GTIG w raporcie z 2 listopada 2026 roku, uporządkowany według rodzin malware: 60 skrótów SHA256 próbek backdoora i loadera, skróty plików pomocniczych i modułów afiliantów, 153 domen i subdomen, adresy IP oraz konta GitHub operatora. Wskaźniki pochodzą ze źródła pierwotnego i nie były przez redakcję weryfikowane na próbkach. Adresy w tekście zostały zneutralizowane; lista do blokowania na końcu rozdziału zawiera je w postaci gotowej do użycia.
Uwaga na powtarzające się skróty. W tabelach GTIG ten sam skrót pojawia się przy kilku rodzinach, np. f2ed4a40… przy Moyu, GaGaNode, NetNut i EarnFM. Nie jest to błąd: pojedynczy plik APK (wariant com.abc.nexus) zawiera wiele SDK naraz. Skrót wskazuje więc plik-nośnik, a nie samą rodzinę. Z tego samego powodu skróty Bird i Spirit pokrywają się z próbkami com.abc.nexus.
Próbki backdoora i loadera (SHA256)
Pakiet x.cpe - 35 próbek:
3768f470934a111f1c3e3d098eb1392a3cb6f3e298ef5fd2a6309e6a98ee1e18
4f860efa8d8b9b8f35f343d524500181607a0cdc9fac35394cf16b71ff4ad1d0
8365658b7c51d7b607fe83d862d05e619cad5249c96db61a3d33a95c615c8194
92326f3065273d619f866f76e3542b6271886f92b1342c5ccc27cb7150c75176
17d4929578dac90af7da3a9c8bbd6f516ade8cc803c82a0f64849fb2a346a894
76b4bf6f55aaab35428260a830ac9a2c437a09aefd521c5b51618db47beca3b2
05e2e32e08073081adcb8875c3b7350fff53e7ea8f36d6388fb3daa626015d22
da5246fb62db91eda31df0873835e1c96a3187df1a760ffc87abf9788ba69104
471e76cce87e280a2fe11046fcb58c0817558ffbc8a526d84fb40c45b03ac9bc
39792bed070b1128cd67178591804fafb82112d371ccdb2b51cd600b2d435922
2cdb1f0f0969766142f3debbab55eef5e24c15d49a513753f1f6b67bc3e8438b
dca25ff0d11d49e9969be3177b50aa8bf120b5ad3946409dedae143a8a69aa99
20af9e1538e1c211687c53e71318d9d265e36ce154457cade3266c7633fb953d
f451c0b770049c71fb0d8efd45115dfc3336f636fb6a0617ec5a5c58632196f4
0d90d0e5009d0c67e978dffb1f78278fa22f296ebc14add1fe338abea8690867
22c0279d23973fd9b3bfd9f42fd19ea1595c6e3f71a89b698828c79fa8e4edd2
6b55b8b3ff7bd31af93b59612f0800c09e49d3badc772e2395736616c87d5612
049b626ca9bc4cf552e675dd5bf6215753caa3a3d28fab17b2a8fa9e0c8421c0
bcf142ba37e897b7fcbb89353ec9b5a7c3bfb1d167838d3b91c347b9fdfb2230
1806a1a93a6bce28cc6e95e9001f06370eaef9c66846ade9aecaf220d7ac91a4
9216a0a460400403027d4dfc9a6193a776603b64735f174e74a89607567ac6f2
04ffe332458931d82c0503daba1859622540828302af1190d2d3c6447094428c
3e891f061daf73c2edc14ed98512cad008346679645e8165320bf96fb8b0e0d6
415d54757c2f96fd28404f1ab8da1e90297a381ec3d7fb47d33126644a0a421b
9df157f3975b582074033c80d0d586f3911fb6bd3813539e2edf87ada4eee9fb
be9990489fbf36100ec148f3a83795f2674d17063edb8accd560f1ce2f97dedd
8953f9013eb8c31b27c86ba90edbdb9ecba216ed2cb6a992508c1964d53b8eee
01b8c78f5509119b3e27ea4d628048985b94b5e00db0431d843519cf1d3e2cde
5ae5df84cdce0100eb957cf235d1f3fd85fa634592e7ca137de12535e9f8ad2a
085662ba43e22d04d6f69b7b5176c68cedee6507c5d34973c94459f324b44c8d
07b511a6f7715ccd2f77b5f51e4cf46542ccaada99564252711f4a142ac26179
02490fa9f472ec872723d64d03402967e77932d2df72c588b0d7a7df9e17ae62
6f7f4b22eb7841d2b828f1eda77173880d42267a33b387bee9cee983c03bf291
1de0a368599ab04b8863c0e61c2d5a75e00f742a3326325f2870a9a72ee8d200
486a784cbd6335d31214edd7bed7fcfb486b875374597c139826c77c91ccbbaa
Pakiet com.oemservice (stub w partycji systemowej) - 12 próbek:
350d6db477e8567cf9347c1144b3a0b25550e7ce63bb800b056b8a7a8ef56af4
2d4b5c50e57e3e9b57d4ee02bef1dcd56163550a5e01c966e0f0fb6d46b2aeed
99874d087e3f72a9d78439118361f438f7a156af318c788183d338cc315d7fa8
4fd0ddb15849137df77e8cb86cd951d2d220fd8dd5b8b03c5a7e23e815092fdd
cad908ad09d029971b24b4ad653fe680101ccaddd94b4e530c58bf45430fd1a4
3627f848804f49c041203e8d754e8d89f3ff6243b6d9e1ca6e50bbf08dbd9785
0ed2ec71901210b1100c6a4abee48ad36774962496d57577d58630072e30cc60
1c8408f80dcdac5c9cae5b2ac785e6f0aa97ad2ec6c8701e3ab661882e9fdd63
1c34f551cea557b24f6f3776de7fecaf40536c749d5b9734242acde4dd578c53
1c989cef1b9cc5a39715d172e3f3acb574a958765f4a9df50c952c0a359826cd
498d0862ce2ce972e9ac9bd3ea592b9f9cd8c5119dcc90fcb1b14a547889e9f9
b2e55884c819c210eaf46aeb7970a1ec623944b5d1a8c2178904f998b9682ac0
Pakiet com.abc.nexus (loader i silnik wykonawczy) - 13 próbek:
1f2ab93c35f0c37d9b88f82268183a2f77491aa6b142a48381524b18e217b960
a552bcb7d37c2bdb5c71e923157571598643de4051bfa3e5158fde3cb8709de7
3295d193ac405112ad076d7fab23274d44f8d0be6614a250a474c5ed7c95356f
c0e1fad801d87531ee889fa6ec344f14868e7cdac06c93d2d3de742f1a9293c5
0135b69bab304564628488829b825050d1dd6dab98e86ec6776839dac9365af9
83b3cfb7655483e0d421737c2bed707fdd1747f105deca6980233c011aaaea30
02b94ae4ee0fd2bab915fe2911d15ee70e51ca0564ba43c746593e7fe0b7ccd3
69116e8f681ea312e7e9e3a8a436f66b3e98566c621412599ecaaa25348daadb
7eb1afbf4428a9a3b41a6faf9a7497aab1d7768a8370d475f580e574145a9e7d
d4011b684ba389bf0b2dd8ded74fe8a4729b1cad4e6c18cfd928cb99a625a6e4
e25616a0c64734f00d1f6dfb064d8f7bf1e4b95aac8b2e4aabb44b2950751bd0
cd8ef4ba20823b926b45a04946f24e45a7bcd4bf2bfc439cac8061a43f146903
08edc09f4465cd784360c223275c45a5e95d7dc8a5e796537ea5251848b3d2f1
| Plik / pakiet | Typ | Skrót | Rola |
|---|---|---|---|
com.vs.grass |
APK | fda3c8fdf7849814e270bbbc00adfa1e15ba8977f5b2508df5febf5dbd3075b2 | Wariant z rodziny com.abc.nexus; SDK usługi Grass |
libseccomp_guard.so |
ELF | b3690b3b013ac60752a6d05c3f53ea1f3e844d4603c5b90d258a30c596d0691b | Utwardzanie procesu i ochrona przed analizą, uruchamiane w com.abc.nexus:CoreService |
com.android.sso.auth.handler |
APK | ebcca22b96f7a30ae155efa2f25af29a369c6e9cfc99cb3bb0b72f35bc5528ed | Dropper instalujący SDK AppSalt |
libexploit.so |
ELF | 42be8f18d6006ca092de191331d38e70a0d8383db701a759466dec59a0986135 | Eskalacja uprawnień dołączana do droppera powyżej |
libnative_keys.so |
ELF | 7830ce3c3222dd9b25a77a16116dcf832a24b4b9a0bc998501e12415a828fb42 | Magazyn kluczy API dla SDK AppSalt |
| Rodzina | Typ | Skrót | Uwagi |
|---|---|---|---|
| Bird | APK | d4011b684ba389bf0b2dd8ded74fe8a4729b1cad4e6c18cfd928cb99a625a6e4 | Inicjalizowany w com.abc.nexus (AmhService) |
| Linkfog | APK | cd8ef4ba20823b926b45a04946f24e45a7bcd4bf2bfc439cac8061a43f146903 | LinkfogService w com.abc.nexus |
| Linkfog | ELF | 331d3a1cf85656c3657e97bab6f15b6e4ce30bf319069b22e8356dccac230321 | Binarka agenta |
| Jaguar | APK | d3b94a74121e885bc698c8f56b9433247139be29b40ae1d0655dd558ecf5f9fa | AdtimeService w com.abc.nexus |
| Jaguar | ELF | e2bfca7225af84f116de7ed10e4ad425d0ebfd6e19903d226b9768282865700f | libjaguar.so |
| AppSalt / Honeygain | APK | d48cffc6d7e7c06f2d3db34ce6d4a53d5c25636179b7087a1e762f5d6bfa07f5 | CoreService w com.abc.nexus |
| AppSalt / Honeygain | DEX | 96146abb8c2a75dab8cc1bb46c323923 | Klasa AppSalt; w raporcie podano skrót 32-znakowy (format MD5), nie SHA256 |
| IPWeb / Bestipip | APK | d3b94a74121e885bc698c8f56b9433247139be29b40ae1d0655dd558ecf5f9fa | BwmService; ten sam skrót co Jaguar APK |
| Spirit | APK | 69116e8f681ea312e7e9e3a8a436f66b3e98566c621412599ecaaa25348daadb | ADMOYUService; skrót pokrywa się z jedną z próbek com.abc.nexus |
| Moyu | APK | f2ed4a40fbb21d0560e82bdd2e85e825970d32052348241b487dd93191ebef2a | DevourService |
| GaGaNode | APK | f2ed4a40fbb21d0560e82bdd2e85e825970d32052348241b487dd93191ebef2a | com.gaganode w com.abc.nexus |
| NetNut / Popanet | APK | f2ed4a40fbb21d0560e82bdd2e85e825970d32052348241b487dd93191ebef2a | Uruchamiany przez GaGaNode |
| EarnFM | APK | f2ed4a40fbb21d0560e82bdd2e85e825970d32052348241b487dd93191ebef2a | Uruchamiany przez GaGaNode |
| EarnFM | ELF | 9e18c113eb8d2ba813199c7f90e26d80af3124d871fc31eea7253319a8406e8e | libfleetshare.so |
| Traffmonetizer | APK | d48cffc6d7e7c06f2d3db34ce6d4a53d5c25636179b7087a1e762f5d6bfa07f5 | CoreService; ten sam skrót co AppSalt APK |
| Traffmonetizer | DEX | 8cb62b3a9b74ca8b907aef7d83fee65f3ab80e0f4acbf4b2415ea1c2a6caf796 | classes.dex |
| Traffmonetizer | ELF | a63757715b35ddd99916b63a1354de1ec05ac5855a480fe9a547b002e2091dcb | Magazyn kluczy |
| Traffmonetizer | ELF | 701f57169f3968bf412d33ec09fa6f2c11ece632aed9f44efa38eaf4fa2e08c6 | Binarka natywna |
| Fission | APK | 742b7ad8b95d4e0784c914f2b84706124f5a86a404e0fd479a0a97a784c2bb9e | com.newtv.cboxtv z GitHuba operatora |
| HiddenView | APK | a6c7ef9b6d5277dada145361164ff79e1e6c6be1cd28f6739113c72ee30ea4cc | com.ota.service z GitHuba operatora |
| HiddenView | DEX | ff96f093bbac32654db62ebb33276c64cd30eb25a0bc11e66608ca40efb1bbdc | classes.dex |
| HiddenView | DEX | 71f52519aae77fb20448ea065caa55750bcd73cf425aab203277032e260a1981 | classes2.dex |
Z opublikowanej przez GTIG wiadomości konfiguracyjnej MQTT można odczytać jeszcze dwa skróty MD5 binarek agenta Linkfog (lw_android_agent), pobieranych z konta GitHub operatora: abd0b6de6fdf78234f5dab098d5dd229 (arm64-v8a) oraz d8971688d1929b6ed915b80eca7e7e3f (armeabi-v7a).
Infrastruktura sieciowa
| Rodzina | Domeny | Liczba |
|---|---|---|
| XCPE (Videostrong) | szbboys[.]com, ott.szbboys[.]com, mqtt.szbboys[.]com, anyevonline[.]com, intermedia-arts[.]tv, yokatvonline[.]com | 6 |
| Bird | amhib[.]com, disview[.]com, prataw[.]com, auqee[.]com, alptk[.]com, mfiny[.]com, leisurepuz[.]com | 7 |
| Moyu | dmurdce[.]xyz, edisajalsjfdfh[.]shop, fshuaons2[.]online, fuioahsdoa3[.]store, fuisans1[.]online, haimnsgsjhansj[.]shop, ishano456[.]sbs, ishuoabh3years[.]online, sdoisanadf[.]shop, shaiosjdaln[.]shop, shsuanalsjai[.]shop, ty4523[.]space, ty54fgd435[.]my, ue886578433[.]online, vrr8345[.]site, xmsae[.]sbs, xshaon123[.]sbs | 17 |
| Spirit | dgjm[.]online, drgdj[.]top, spiritlib[.]cyou | 3 |
| Jaguar | bd-devmetrics[.]net, tx-devmetrics[.]net, jaguar-distributor.logreporter[.]com, jaguar-distributor.syslogcollector[.]com | 4 |
| Linkfog | linkfog[.]cn, cloudbrokerapi[.]xyz, dddlink[.]link, smrtai[.]cc, bkdomain[.]cn, columbus2024[.]com | 6 |
| IPWeb / Bestipip | bestipip[.]com, fecebbbk[.]xyz, guangzhouroot[.]com | 3 |
| GaGaNode | gtxvdqvuweqs[.]com | 1 |
| EarnFM | earn[.]fm, geo-loadbalanced[.]com | 2 |
| Fission | collection.shixunsuda[.]com, analysis.shixunsuda[.]com | 2 |
| HiddenView | hiddeninplainsight[.]top | 1 |
| Traffmonetizer | *.traffmonetizer[.]com | 1 |
| AppSalt / Honeygain | 100 domen bramek proxy - pełna lista w bloku poniżej | 100 |
Domeny bramek AppSalt/Honeygain (100):
absolut[.]fit
alpivara[.]com
beepityping[.]com
beezlepongmad[.]com
bloopondle[.]com
blustpong[.]com
braigwshat[.]com
brisping[.]com
bronglepong[.]com
clapslpist[.]com
clapslport[.]com
craipivolta[.]com
creapslpinut[.]com
crodipolis[.]com
delpiverno[.]com
depomancy[.]com
dewswyra[.]com
drackpingcare[.]com
dramapi[.]com
drapithon[.]com
fawsilver[.]com
fawsindra[.]com
fizzlepong[.]com
flaigwern[.]com
flapilo[.]com
flapslwstorm[.]com
flawsino[.]com
flewsnark[.]com
floporin[.]com
floppipple[.]com
flumpipoodle[.]com
frosping[.]com
gapslpinch[.]com
gapslwsbor[.]com
glapoton[.]com
glewsnap[.]com
glippinger[.]com
gloobfnatch[.]com
gloopong[.]com
glowspar[.]com
grasplpond[.]com
grinapslpocal[.]com
hawsith[.]com
lapslponze[.]com
lepovia[.]com
limpingcare[.]com
lorapslpifyx[.]com
lowswyn[.]com
lunapiris[.]com
mopith[.]com
mudponger[.]com
nepiral[.]com
opostra[.]com
pibberflop[.]com
pikaroodle[.]com
ploponix[.]com
qepoth[.]com
rapinel[.]com
rapslpine[.]com
rapslponic[.]com
rapslwsweave[.]com
raspongle[.]com
ripotus[.]com
rowswyn[.]com
scapslwshell[.]com
snarpong[.]com
snorpdoodle[.]com
sofpilan[.]com
soporth[.]com
spopel[.]com
tawserin[.]com
tawswizzle[.]com
teowsmera[.]com
tepiol[.]com
tewsmariel[.]com
thaiporix[.]com
thapolex[.]com
torpoodle[.]com
trapslwsin[.]com
trawsica[.]com
tripikazu[.]com
twindping[.]com
vaiporun[.]com
vespilara[.]com
vorpolis[.]com
whispong[.]com
winklenark[.]com
wizzleplonk[.]com
wogglenift[.]com
yapodust[.]com
yewsara[.]com
zarflonk[.]com
zenapslpinic[.]com
zerapslpomat[.]com
zimpire[.]com
zingpingbees[.]com
zippypongbee[.]com
zoraipinex[.]com
zorapslwsnic[.]com
zrawsomble[.]com
| Adres | Rola |
|---|---|
| 219.134.163[.]210 | Broker MQTT (porty 3885-3887); zarządzanie: 8082 REST, 8083 WebSocket, 18083 konsola EMQX |
| 219.134.163[.]211 | Broker MQTT, jak wyżej |
| 38.145.197[.]135 | Hosting anyevonline[.]com i serwer plików |
| 23.94.49[.]57 | Hosting plików i C2 |
Konta GitHub, na których operator hostował moduły jako releasy (11): github[.]com/Aviciiii, github[.]com/Spink1984, github[.]com/undowildcats-sketch, github[.]com/szjkkax, github[.]com/szsoft01, github[.]com/ktpeng2026, github[.]com/yf-videostrong, github[.]com/vspeng, github[.]com/szwzy43, github[.]com/ChenHui1026, github[.]com/zurant. Część plików udostępniano też przez serwis filemail[.]com - to legalna usługa wymiany plików, więc jej blokowanie ma sens tylko w środowiskach, które z niej nie korzystają.
Lista do blokowania (DNS)
Gotowa lista w formacie jednej domeny na linię, do zaimportowania m.in. w Pi-hole, AdGuard Home czy firewallu DNS. Blokada domeny nadrzędnej obejmuje jej subdomeny w większości tych narzędzi. Domeny earn.fm, linkfog.cn i traffmonetizer.com należą do komercyjnych usług „współdzielenia pasma” - zostały oznaczone komentarzem, bo ich blokada wyłącza te usługi w ogóle, co w sieci firmowej jest zwykle pożądane, ale warto zrobić to świadomie.
# XCPE / Videostrong - zrodlo: Google GTIG, 2 listopada 2026
# XCPE (Videostrong)
szbboys.com
ott.szbboys.com
mqtt.szbboys.com
anyevonline.com
intermedia-arts.tv
yokatvonline.com
# Bird
amhib.com
disview.com
prataw.com
auqee.com
alptk.com
mfiny.com
leisurepuz.com
# Moyu
dmurdce.xyz
edisajalsjfdfh.shop
fshuaons2.online
fuioahsdoa3.store
fuisans1.online
haimnsgsjhansj.shop
ishano456.sbs
ishuoabh3years.online
sdoisanadf.shop
shaiosjdaln.shop
shsuanalsjai.shop
ty4523.space
ty54fgd435.my
ue886578433.online
vrr8345.site
xmsae.sbs
xshaon123.sbs
# Spirit
dgjm.online
drgdj.top
spiritlib.cyou
# Jaguar
bd-devmetrics.net
tx-devmetrics.net
jaguar-distributor.logreporter.com
jaguar-distributor.syslogcollector.com
# Linkfog
linkfog.cn # komercyjna usluga - blokuj swiadomie
cloudbrokerapi.xyz
dddlink.link
smrtai.cc
bkdomain.cn
columbus2024.com
# IPWeb / Bestipip
bestipip.com
fecebbbk.xyz
guangzhouroot.com
# GaGaNode
gtxvdqvuweqs.com
# EarnFM
earn.fm # komercyjna usluga - blokuj swiadomie
geo-loadbalanced.com
# Fission
collection.shixunsuda.com
analysis.shixunsuda.com
# HiddenView
hiddeninplainsight.top
# Traffmonetizer
traffmonetizer.com # komercyjna usluga - blokuj swiadomie
# AppSalt / Honeygain
absolut.fit
alpivara.com
beepityping.com
beezlepongmad.com
bloopondle.com
blustpong.com
braigwshat.com
brisping.com
bronglepong.com
clapslpist.com
clapslport.com
craipivolta.com
creapslpinut.com
crodipolis.com
delpiverno.com
depomancy.com
dewswyra.com
drackpingcare.com
dramapi.com
drapithon.com
fawsilver.com
fawsindra.com
fizzlepong.com
flaigwern.com
flapilo.com
flapslwstorm.com
flawsino.com
flewsnark.com
floporin.com
floppipple.com
flumpipoodle.com
frosping.com
gapslpinch.com
gapslwsbor.com
glapoton.com
glewsnap.com
glippinger.com
gloobfnatch.com
gloopong.com
glowspar.com
grasplpond.com
grinapslpocal.com
hawsith.com
lapslponze.com
lepovia.com
limpingcare.com
lorapslpifyx.com
lowswyn.com
lunapiris.com
mopith.com
mudponger.com
nepiral.com
opostra.com
pibberflop.com
pikaroodle.com
ploponix.com
qepoth.com
rapinel.com
rapslpine.com
rapslponic.com
rapslwsweave.com
raspongle.com
ripotus.com
rowswyn.com
scapslwshell.com
snarpong.com
snorpdoodle.com
sofpilan.com
soporth.com
spopel.com
tawserin.com
tawswizzle.com
teowsmera.com
tepiol.com
tewsmariel.com
thaiporix.com
thapolex.com
torpoodle.com
trapslwsin.com
trawsica.com
tripikazu.com
twindping.com
vaiporun.com
vespilara.com
vorpolis.com
whispong.com
winklenark.com
wizzleplonk.com
wogglenift.com
yapodust.com
yewsara.com
zarflonk.com
zenapslpinic.com
zerapslpomat.com
zimpire.com
zingpingbees.com
zippypongbee.com
zoraipinex.com
zorapslwsnic.com
zrawsomble.com
Pełne zestawy wskaźników, w tym dodatkowe dane z własnej telemetrii, opublikowały także TrendAI (plik IoC dołączony do analizy) oraz Plume Security Labs (white paper) - linki w źródłach.
EPILOG: Zaufanie do łańcucha dostaw
Sprawa XCPE odwraca klasyczny model zagrożenia. Zwykle zakładamy, że producent jest po naszej stronie, a problemem są błędy w jego oprogramowaniu albo napastnik z zewnątrz. Tutaj to producent zbudował backdoor, utrzymywał infrastrukturę C2 i prowadził rozliczenia z afiliantami - a certyfikacja dużej platformy nie wystarczyła, żeby go zatrzymać.
Wnioski są dość proste. Tanie przystawki z Androidem, zwłaszcza niecertyfikowane lub kupowane „bo mają wszystkie kanały za darmo”, trzeba traktować jak niezaufane urządzenia sieciowe. Aplikacje płacące za „niewykorzystane pasmo” to główny kanał rozrostu nielegalnych sieci proxy. Zespoły antyfraudowe nie powinny opierać się wyłącznie na reputacji IP, bo domowy adres w kraju klienta niczego już nie dowodzi. TrendAI zaleca łączenie odcisków sieciowych, takich jak JA4T, z sygnałami behawioralnymi.
Główne źródła
-
Google Threat Intelligence Group, "Shutting the Door on the XCPE Botnet", 2 listopada 2026 - https://cloud.google.com/blog/topics/threat-intelligence/shutting-the-door-on-the-xcpe-botnet/
-
TrendAI Research, "TrendAI Research Helps Disrupt Botnet of More Than 1.3 Million Pre-Infected Set-Top Boxes", 2 listopada 2026 - https://www.trendaisecurity.com/en-us/resources-insights/trendai-security-blog/trendaitm-research-helps-disrupt-android-tv-botnet-of-more-than-13-million-pre-infected-devices
-
Krebs on Security, "Tech Firms Dismantle Botnet That Turned 1.3M TV Boxes Into Proxies", 2 listopada 2026 - https://krebsonsecurity.com/2026/11/tech-firms-dismantle-botnet-that-turned-1-3m-tv-boxes-into-proxies/
-
AFTVnews, "MECOOL and other certified Android streaming boxes found to have botnet backdoor from the factory", 3 listopada 2026 - https://www.aftvnews.com/mecool-and-other-certified-android-streaming-boxes-found-to-have-botnet-backdoor-from-the-factory/
-
Synthient, "The Internals of a BadBox Operation", listopad 2026 - https://synthient.com/blog/the-internals-of-a-badbox-operation
-
Synthient, lista modeli urządzeń z backdoorem (GitHub) - https://github.com/synthient/public-research/tree/main/2026/11/Videostrong
-
Plume Security Labs, white paper o botnecie XCPE (PDF), październik 2026 - https://cdn.plume.com/3d/92/f7c576bd4afabd79df4e7b39ca7f/xcpe-botnet-whitepaper-10-2026.pdf
-
The Hacker News, "Google Disrupts 1.3 Million-Device Android Botnet, Says TV Box Maker Sold Criminal Access", 2 listopada 2026 - https://thehackernews.com/2026/11/google-disrupts-13-million-device.html
Komentarze (0)