Asosiy mazmunga o'tish
Kiberbilim.uz
Barcha darslar

Televizor zavoddan zararli dastur bilan keldi: Triada oilasidagi backdoor

E'lon qilingan 15 daqiqa o'qishMuallif: Kiberbilim.uz

O'zbekistonda sotilayotgan Android televizor proshivkasida Triada oilasiga mansub backdoor topildi. U televizordagi har bir ilovaga kod joylaydi va uy internetingizni begona trafik uchun proksiga aylantira oladi. Qanday ishlashi, televizorni qanday tekshirish va himoyalash haqida.

Televizor sxemasi: ekran ichida yashirin kod bloklari va tashqi serverga ketayotgan ulanish chizig'i
Bu sahifada

To'liq texnik hisobot UZCERT ga va ishlab chiqaruvchilarga yuboriladi. Zararli dastur namunalari, shifrdan ochilgan modullar, shifr kalitlari va aynan bitta qurilmaga tegishli qiymatlar (identifikatorlar, tarmoq manzillari) bu yerda berilmaydi.

Qisqacha

  • O'zbekistonda sotilayotgan Skyworth/Velar brendli Android televizorning (CVTE MT5863 platasi, Zeasn launcher, Android 7.0) proshivkasida zavoddan o'rnatilgan backdoor topildi.
  • Tuzilishi, fayl nomlari, sozlama kalitlari va klass nomlari Triada oilasiga to'g'ri keladi (Kaspersky 2016 va 2025, Dr.Web Android.Triada.231).
  • Televizor yoqilganda Android'ning zygote jarayoni (barcha ilovalarning "ota" jarayoni) klasslarni oldindan yuklayotgan paytda yashirin kod ishga tushadi. Shundan keyin ochilgan har bir ilovaga, jumladan Google Play xizmatlari va tizim interfeysiga, yashirin yuklovchi (systemlibarm_10145.jar) yoziladi va ishga tushiriladi.
  • Yuklovchi operatordan qo'shimcha kodni (Java dex va native kutubxonalar) olib, xotirada ishga tushiradi va shell buyruqlarini bajara oladi.
  • Google Play xizmatlari papkasidagi shifrlangan modullar ochildi. Ular orasida modul freymvorki, televizorni begona trafik uchun chiqish nuqtasiga aylantiradigan teskari proksi (IPProxyCore) va WhatsApp hisob ma'lumotlarini o'g'irlovchi qism bor. O'g'irlovchi qism bu televizorda ishga tushirilmagan.
  • Televizordan Gonkongdagi boshqaruv (C2) serveriga (112.121.178.213:10080, Netsec Limited) faol ulanish qayd etildi.
  • Zararli kod tizimning faqat o'qish uchun mo'ljallangan qismida joylashgan. Zavod sozlamalariga qaytarish (factory reset) uni o'chirmaydi.
  • Proshivka ommaga ochiq AOSP test kalitlari bilan imzolangan. Alohida masala: ishlab chiqaruvchi xizmati foydalanuvchidan so'ramasdan reklama SDK ilovasini o'rnatadi.

Qaysi qurilma

Maydon Qiymat
Brend / bozor Skyworth / Velar, O'zbekistonda keng sotiladi
Plata / SoC CVTE, MediaTek MT5863 (ro.board.platform=mt5863)
Model nomi ro.product.model=SMART_TV
Launcher Zeasn (Whale TV)
Build fingerprint Android/cvt_mt5863_eu:7.0/NRD90M/builde09050933:userdebug/release-keys
Build cvt_mt5863_eu-userdebug 7.0 NRD90M eng.builde.20190905.093305 release-keys, 2019-09-05 da yig'ilgan
Build turi userdebug (ro.debuggable=1), Android 7.0 xavfsizlik darajasi, yangilanishlar yo'q

Boshqa CVTE MT5863 buildlari (boshqa brendlar, boshqa mintaqalar) ham zararlanganmi, noma'lum. cvt_mt5863_eu build nomi va CVTE platformasi bir xil proshivka bir nechta brendda ishlatilishi mumkinligini ko'rsatadi.

Bu qanday aniqlandi

Televizorda test ilovasi Android jurnaliga (log) hech narsa yoza olmadi: android.util.Log chiqishi uning jarayoni ichida bostirilgan edi. Keyin televizor yoqilgandagi jurnalda ikki narsa ko'rindi:

  1. zygote va system_server yashirin .MLAndroid papkalariga kirishga urinayotgan edi. SELinux bunga ruxsat bermadi, shu sababli urinishlar jurnalga yozildi.
  2. Har bir ilova ochilganda dex2oat uning ma'lumotlar papkasidagi noma'lum systemlibarm_10145.jar faylini kompilyatsiya qilayotgan edi.

Dalillar ADB orqali, mahalliy tarmoqda yig'ildi. Tahlil faqat oflayn va statik usulda o'tkazildi: hech bir namuna ishga tushirilmadi va hech qayerga yuklanmadi. Yig'ilgan har bir faylning SHA-256 xeshi saqlangan.

Texnik tahlil

Zararlanish zanjiri: proshivka, dalvik-cache'dagi inyektor fayllari, zygote, har bir ilova jarayoni, yuklovchi va boshqaruv serveri

1-rasm. Zararlanish zanjiri. Inyektorning birinchi bosqichi hali topilmagan.

1. Har bir jarayonga inyeksiya

  • Televizor yoqilganda zygote (SELinux u:r:zygote:s0) /data va umumiy xotiradagi .MLAndroid papkalarini ochishga urinadi. SELinux buni rad etadi va rad etishlar jurnalga yoziladi.
  • Bu zygote klasslarni oldindan yuklayotgan paytda sodir bo'ladi: libmedia_jni.so va stagefright media freymvorki ishga tushganidan taxminan 100 ms keyin, hali birorta ilova yoki system_server ishga tushmasdan oldin. Shuning uchun bu kodni qurilmadagi har bir jarayon meros qilib oladi.
  • system_server, shared_relro hamda platforma, imtiyozli va oddiy ilovalarning jarayonlari ham xuddi shunday .MLAndroid murojaatlarini qiladi.
  • Har bir ilova ishga tushganda dex2oat /data/data/<package>/systemlibarm_10145.jar faylini kompilyatsiya qiladi. Bu com.android.systemui, com.google.android.gms, com.android.inputmethod.latin, CVTE va MediaTek tizim ilovalari, zavod ilovalari, Google sozlama ilovalari va yangi o'rnatilgan uchinchi tomon ilovasida kuzatildi.
  • com.android.systemui va com.google.android.gms qo'shimcha ravishda mms-core.jar ham oladi.
  • Nusxalar yuklangandan keyin o'chiriladi. Bittasi com.android.externalstorage ichida qolgan va saqlab olingan.

2. Yuklovchi systemlibarm_10145.jar

  • Klasslar: com.android.core.info.config.LDMCore va com.android.ml.bt.dymc.*. dex vaqt belgisi 2018-11-14, jurnal tegi EXPML.
  • LDMCore.loadDexMem(String, String, byte[]), loadDexFinish(String, ClassLoader) va loadSoFinish(String) metodlari native, ularning kodi jar ichida yo'q. Ularni jarayonda oldindan mavjud native kod, ya'ni proshivka darajasidagi inyektor taqdim etadi.
  • DymcService.onCreate(int) ishchi oqimni ishga tushiradi. ContexHunter ActivityThread / RuntimeInit ustida refleksiya orqali Android Context obyektini oladi, ham system_server, ham ilova jarayonlarida.
  • DymcReceiver / DymcHandler com.dymc.<md5(package)>.lddex va .ldso broadcast amallarini ro'yxatdan o'tkazadi. Broadcast bayt buferi (buf), klass nomi (clazz) va modul yo'lini (jmd) olib keladi. Handler shu kodni jarayonga xotirada yuklaydi yoki native kutubxonani yuklaydi, keyin javob broadcast'i bilan hisobot beradi. Demak, istalgan ilovaga operator yuborgan kodni bajartirish mumkin.
  • makeShCmd buyruqlarni sh orqali bajaradi va natijasini qaytaradi.

3. Shifrlangan modullar va sozlamalar

Joylashuvi: /data/data/com.google.android.gms/files/.data/ va /data/data/com.android.browser/files/.data/ (Google Play xizmatlari va tizim brauzeri).

Fayl Mazmuni
ylmd_1003.md (164 917 bayt) Shifrlangan modul, ochildi
ss_1027.md (785 bayt) Shifrlangan modul, ochildi
.ylc/.rtresext/.oc_1_2004_1_Y29tLmFuZHJvaWQub2FkLmlwcHJveHkuSVBQcm94eUNvcmU= (26 084 bayt, fayl nomi yangi qator belgisi bilan tugaydi) Shifrlangan teskari proksi moduli, ochildi. Nomi Base64'dan com.android.oad.ipproxy.IPProxyCore bo'lib ochiladi
btdoinfo.db Java-serializatsiya qilingan com.android.ml.bt.core.OPBDomainInfo, ya'ni C2 domenlari ro'yxati
phone.db ophead_regtime, cd, sericode, ppglcd, interval
.ss_log Har 30 soniyada yoziladigan "yurak urishi"ga o'xshash jurnal

Yashirin qurilma identifikatori /data/system/.MLAndroid/, /data/misc/.MLAndroid/ (ikkalasi ham 0777 rejimida) va /sdcard/.MLAndroid/ ichida saqlanadi: com.android.btcore.db, timeStampMask.db.

Shifrni ochish. .md va .oc modullari XOR bilan shifrlangan ZIP arxivlar. Bu Kaspersky Triada uchun tasvirlagan "ikki karra XOR" sxemasiga mos keladi. Ochilgan fayllar to'g'ri ZIP bo'lib, CRC-32 tekshiruvidan o'tadi (xeshlar quyidagi IOC bo'limida). Modullar ichidagi har bir satr ham alohida, ichki kalit bilan XOR'langan. Ularning barchasi tiklandi. Kalitlar va shifrni ochish tafsilotlari e'lon qilinmaydi.

4. Ochilgan modullar nima qiladi

ylmd_1003: vazifa va modul freymvorki. Google Play xizmatlari va tizim brauzeri ichida ishlaydi.

  • Yashirin .MLAndroid / phone.db omborlaridan qurilma identifikatorlarini (sericode, cd) o'qiydi.
  • https://hcnk.uedfd.com/OadCtrl/if manzilini taxminan har 20 soatda so'raydi (server belgilagan interval 1 200 daqiqa).
  • Server nomlagan qo'shimcha "OAD" modullarini yuklab oladi, ularni server bergan MD5 bilan tekshiradi, server bergan vazifalarni bajaradi va natijani /OadCtrl/bt ga yuboradi.
  • Har so'rovda qurilma profilini yuboradi: reklama identifikatori, Android ID, MAC, seriya raqami, model, til va mamlakat.
  • Bu modullardagi barcha HTTPS mijozlari serverning istalgan sertifikatini qabul qiladi.

Teskari proksi sxemasi: operator rele server orqali televizorga ulanadi va trafik egasining IP manzilidan chiqadi

2-rasm. IPProxyCore teskari proksisi: operator trafigi televizor orqali o'tadi va uy IP manzilidan chiqqandek ko'rinadi.

IPProxyCore: teskari proksi (OAD modul 2004, freymvork orqali yetkaziladi).

  • Google Play xizmatlari jarayonida ishlaydi.
  • dv1wi3buwqfbb.cloudfront.net/ProxyGateway/... shlyuzidan rele manzilini so'raydi va shu relega doimiy ulanishni ushlab turadi.
  • Shu ulanish orqali operator istalgan manzilga TCP ulanishlar va UDP almashinuvlarini ochadi. Trafikni televizor tashiydi va u egasining IP manzilidan chiqqandek ko'rinadi.
  • Server modulni to'xtatib turishi, qayta ulanish intervalini belgilashi va jurnalini yig'ib olishi mumkin.
  • Televizordagi jurnalga ko'ra, modulning oldingi versiyasi 2024-yil noyabrida 148.66.17.4:11080 relesiga ulangan.
  • Bu Kaspersky 2025 Triada va BADBOX 2.0 uchun tasvirlagan "uy proksisi" (residential proxy) xatti-harakati.

Ichiga joylangan WhatsApp o'g'irlovchisi (com.dl.tk.TKEntry, ylmd_1003 ichida). U WhatsApp ichida ishlashga va WhatsApp hisob kalitlari hamda identifikatorlarini bk79n.uedfd.com ga yuborishga mo'ljallangan. Freymvork uni faqat boshqa turdagi qurilmalarga yetkazadi. Bu televizorda u ishga tushirilmagan, WhatsApp ham o'rnatilmagan. Lekin uning borligi platforma boshqa qurilmalarda nima qilishga mo'ljallanganini ko'rsatadi.

ss_1027 bo'sh plagin "qobig'i".

5. Triada bilan solishtirish

  • Bir xil: Google Play xizmatlari ichidagi teskari proksi, WhatsApp kalitlarini o'g'irlash moduli, ikki karra XOR shifrlash, ppgl / sericode / cd nomlash (Kaspersky 2025).
  • Farqli: buyruqlar raqamlanishi, modul xeshlari va butun C2 infratuzilmasi. Bu buildning C2 infratuzilmasi (*.1g5k5w.com, *.o96p.com, *.aaodp.com) va bir qator fayl artefaktlari (.MLAndroid, ylmd_1003, ss_1027, IPProxyCore) ochiq hisobotlarda uchramaydi. Bu Triada'ning qarindosh, lekin e'lon qilinmagan buildi.

6. Inyektor qayerda

Tizim bo'limida nima tekshirildi. Tizim fayllarining oflayn statik tahlili quyidagilarni inyektor emasligini ko'rsatdi:

  • libandroid_runtime.so ichidagi android.util.Log.println_native. Uning mantig'i AOSP 7.0 bilan bir xil. Kaspersky 2025-yilda aynan shu nuqtadagi hook haqida yozgan, bu build undan foydalanmaydi.
  • Freymvorkning Java kodi (boot-framework.oat va boshqa barcha boot image'lar ichidagi dex, CVTE va MediaTek boot jar'lari ham). Begona paketlar, xotirada dex yuklash yoki yashirin satrlar yo'q.
  • app_process32, libnativehelper.so, liblog.so va libandroid.so (importlari va muhim chaqiruvlari bo'yicha).
  • zygote /etc/VendorExtractor.cfg dan yuklaydigan 14 ta MediaTek media-extractor plagini va ularning bog'liqliklari. Ularda yuklanishda ishlaydigan konstruktorlar ham, fayl, jarayon yoki tarmoq importlari ham yo'q.
  • zygote'ga yuklanadigan 117 ta kutubxona ichidagi RegisterNatives / jniRegisterNativeMethods ni to'g'ridan-to'g'ri chaqiradigan har bir joy. Hammasi standart AOSP ro'yxatdan o'tkazish kodi.

Shifrlangan yuklovchi va uning kalit satrlari (loadDexMem ning JNI imzosi, dalvik/system/DexClassLoader, LDMCore / DymcService klass nomlari, .MLAndroid, systemlibarm_) har bir tizim faylida uch usulda qidirildi: ochiq matn sifatida, 29 baytgacha bo'lgan har qanday takrorlanuvchi XOR yoki qo'shuvchi kalit ostida, va kodda stekda yig'iladigan satr sifatida. Hech narsa topilmadi. Demak, inyektor satrlarini murakkabroq shifr yoki siqish bilan himoyalaydi.

Keyinroq topilgani. Ikkinchi, faqat o'qish rejimidagi yig'ishda (vaqtinchalik adb root bilan) /data/dalvik-cache ichida ART boot image fayllari qiyofasiga kirgan ikkita native kutubxona topildi:

Televizordagi fayl Izoh
/data/dalvik-cache/arm/system@framework@boot-acco.oat ARM ELF32 shared object, stripped, 218 540 bayt
/data/dalvik-cache/arm/system@framework@boot-bridacco.oat ARM ELF32 shared object, stripped
  • Ikkalasi ham BOOTCLASSPATH da yo'q va /system/framework da mos jar'i yo'q. Ular haqiqiy OAT boot image emas.
  • Fayl sanalari qurilmaning birinchi yoqilish sanasiga, ya'ni eng birinchi zararli fayllar sanasiga to'g'ri keladi.
  • Ikkala faylda ext4 immutable + append-only atributlari o'rnatilgan edi. Lekin xuddi shu papkadagi haqiqiy system@framework@boot.oat ham shu atributlarga va bir xil SELinux yorlig'iga (u:object_r:zygote_exec:s0) ega. Bu zararli dasturga xos belgi emas, bu build boot image'larni shunday belgilaydi.
  • Xulosa: bular tizim bo'limida topilmagan inyektor bosqichlari. Ularni birinchi yoqilishda yozgan birinchi bosqich (stage 1) hali topilmagan.

Karantin va natija. 9 ta element o'chirilmasdan, ko'chirildi: yuqoridagi ikkita .oat fayli, uchta .MLAndroid papkasi (/data/system, /data/misc, /data/media/0) hamda Google Play xizmatlari va tizim brauzerining files/.data va files/.rtmark papkalari. Bitta qayta yoqishdan keyin darhol va taxminan 3 daqiqadan keyin tekshirildi:

  • zygote xotira xaritalarida endi acco / bridacco yo'q;
  • hech bir ilova papkasida systemlibarm* yoki mms-core* fayli paydo bo'lmadi;
  • karantindagi yo'llarning birortasi qayta yaratilmadi;
  • logcat'da systemlibarm, MLAndroid, mms-core, boot-acco yoki bridacco uchramadi;
  • Google Play xizmatlari va tizim interfeysining xotira xaritalari toza;
  • barcha o'rnatilgan TCP ulanishlar Google'ga yoki mahalliy tarmoqqa boradi.

Televizorning odatiy funksiyalari (launcher, video striming, kirish manbai menyusi) ishlayveradi.

Bu nimani anglatadi. Ikkita dalvik-cache faylini olib tashlash har bir ilovaga inyeksiyani to'xtatdi, hech bo'lmaganda shu yoqilishda. Ularni yaratgan birinchi bosqich kodi hali ham faqat o'qish uchun mo'ljallangan tizim image'ida bo'lishi mumkin. U zavod sozlamalariga qaytarilgandan keyin yoki shu safar bajarilmagan biror shartda fayllarni qayta yozishi mumkin. Shuning uchun factory reset tuzatish deb hisoblanmasligi kerak, u inyektorni qaytarishi ham mumkin. Birinchi bosqichni topish uchun shu buildning toza nusxasi bilan solishtirish kerak. Ishlab chiqaruvchidan (CVTE) toza image so'raladi.

7. Alohida masala: test kalitlari va reklama SDK kanali

  • Test kalitlari. Proshivkaning platforma sertifikati ommaga ochiq AOSP test kaliti (SHA-1 27196e386b875e76adf700e7ea84e4c6eee33dfa), garchi build release-keys deb belgilangan bo'lsa ham. Istalgan kishi bu televizor platforma ilovasi deb qabul qiladigan ilovani imzolay oladi.
  • Yashirin o'rnatuvchi. com.zeasn.services.general (Zeasn, v2.1.13) har soatda https://saas.zeasn.tv/sp/api/device/v1/app/silent manzilini tekshiradi. Server ko'rsatmasi bilan com.android.media.module.services ni yuklab oladi va foydalanuvchidan so'ramasdan, yaxlitlikni tekshirmasdan o'rnatadi, yangilaydi yoki qayta o'rnatadi, keyin server bergan qoidalar bilan ishga tushiradi. Rozilik belgisi kodda doim "true". Bu o'zgartirilgan ilova emas, ishlab chiqaruvchining o'rnatilgan funksiyasi.
  • Reklama APK. com.android.media.module.services (kod paketi com.ad.service, v1.1.18). U begona kalit (CN=socket, O=China) bilan imzolangan va 2026-08-25 da Qihoo 360 Jiagu 1.4.0.6 bilan qadoqlangan. Kodi shifrlangan va ochilmagan. Ko'rinadigan sozlamalari: uchta eksport qilingan uchinchi tomon SDK xizmati ("Meta", "Pluzed", "ZeroOne"); meta365.frostbytesize.com uchun mahkamlangan (pinned) xususiy root CA (AWS Irlandiya); Firebase loyihasi mac-ad-9f1ee; joylashuv, telefon holati, ilovalar ro'yxati, butun xotiraga kirish va reklama identifikatori ruxsatlari. U foydalanuvchining hech qanday harakatisiz o'rnatilgan va yangilangan.
  • Baho. Bu oshkor qilinmagan reklama yoki trafikni monetizatsiya qiluvchi SDK ilovasi (o'rtacha ishonch). U proksi vazifasini bajaradimi yoki yashirin reklama ko'rsatadimi, isbotlanmagan. Triada implanti bilan kod, kalit yoki infratuzilma umumiyligi topilmadi.
  • Ikkala ilovani o'chirib qo'yish proshivka darajasidagi inyeksiyani to'xtatmadi.

Bu nima uchun xavfli

  • Har bir ilovada masofadan kod bajarish. Google Play xizmatlari, tizim interfeysi va hisoblar saqlanadigan ilovalar ham shu jumladan. Operator istalgan vaqtda istalgan Java yoki native kodni yuborishi va har bir ilovaning ruxsatlari bilan shell buyruqlarini bajarishi mumkin. Bu hisob tokenlarini o'g'irlash, reklama firibgarligi, ilova o'rnatish va keyinroq xatti-harakatni o'zgartirishga imkon beradi.
  • Teskari / uy proksisi. IPProxyCore operator tanlagan TCP va UDP trafikni egasining internet ulanishi orqali o'tkazadi. Uning jurnali 2024-yil noyabrida relega ulanganini ko'rsatadi. Shu yo'l bilan o'tkazilgan firibgarlik, skanerlash yoki boshqa suiiste'mol egasining IP manzilidan chiqqandek ko'rinadi.
  • Ma'lumot yig'ish va hisoblarni o'g'irlash imkoniyati. Freymvork qurilma identifikatorlarini (reklama ID, Android ID, MAC, seriya raqami) yuboradi. Unda WhatsApp hisob kalitlarini o'g'irlash moduli bor (bu televizorda ishga tushirilmagan). TLS mijozlari istalgan sertifikatni qabul qiladi.
  • Qurilmani kuzatish. Doimiy qurilma identifikatori (sericode / cd) yashirin papkalarda saqlanadi va ilova ma'lumotlari tozalangandan keyin ham qoladi.
  • Zaif platforma ishonchi. Proshivka ommaga ochiq AOSP test kalitlari bilan imzolangan, ishlab chiqaruvchi xizmati esa uchinchi tomon kodini yashirincha o'rnatadi.
  • Doimiylik. Inyektor qurilmaning birinchi yoqilishidan beri faol. Birinchi bosqich faqat o'qish uchun mo'ljallangan tizim qismida bo'lishi mumkin, factory reset uni o'chirmaydi.
  • Ko'lam. Proshivka O'zbekistonda ko'p sotiladigan platforma uchun yig'ilgan, shuning uchun ko'plab xonadonlar zarar ko'rgan bo'lishi mumkin.

Televizoringizni qanday tekshirish mumkin

Televizorda tarmoq orqali nosozliklarni tuzatishni (network/ADB debugging) yoqing, shu tarmoqdagi kompyuterdan ulaning va har bir buyruqni alohida bajaring. Ularning birortasi ham qurilmani o'zgartirmaydi. Root kerak emas.

adb connect <TV-IP>:5555
adb shell getprop ro.build.fingerprint
adb shell getprop ro.build.tags
adb shell ls -la /sdcard/.MLAndroid
adb shell cat /proc/net/tcp
adb shell cat /proc/net/tcp6
adb shell pm list packages -u
adb shell dumpsys package com.android.media.module.services
adb logcat -b all -d
adb pull /system/framework/framework-res.apk
# Tekshiruv Zararlangan, agar
1 ro.build.fingerprint cvt_mt5863_eu va 20190905 bor (shu build; boshqa buildlar ham zararlangan bo'lishi mumkin)
2 /sdcard/.MLAndroid papka mavjud (ichida com.android.btcore.db)
3 qayta yoqishdan keyin darhol logcat zygote yoki system_server dan avc: denied … name=".MLAndroid", yoki systemlibarm_*.jar, mms-core.jar yoki .rtresext/.jar_ nomli dex2oat qatorlari
4 /proc/net/tcp dagi masofaviy manzillar (little-endian hex) D5B27970 (112.121.178.213, portlar 2760 = 10080 va 28CB = 10443) yoki 04114294 (148.66.17.4, port 2B48 = 11080)
5 Paketlar ro'yxati com.android.media.module.services bor; dumpsys package da installerPackageName=com.zeasn.services.general
6 Kompyuterda apksigner verify --print-certs framework-res.apk sertifikat SHA-1 27196e386b875e76adf700e7ea84e4c6eee33dfa (ommaga ochiq AOSP test kaliti)
7 Router / DNS jurnallari 1g5k5w.com, o96p.com, aaodp.com, uedfd.com, lvditoys.com, 3ko1.com, dv1wi3buwqfbb.cloudfront.net, frostbytesize.com so'rovlari yoki IOC bo'limidagi IP manzillarga trafik
8 adb shell ls -la /data/dalvik-cache/arm/ (ba'zi buildlarda root kerak bo'lishi mumkin) system@framework@boot-acco.oat yoki system@framework@boot-bridacco.oat fayllari bor

Ilovalar ichidagi yuklama ombori (/data/data/<app>/files/.data/) va /data/system/.MLAndroid/ ro'yxatini ko'rish uchun root kerak. Rootsiz tekshiruv 1–8-bandlarga tayanadi.

Tekshirib bo'lgach, ADB debugging'ni o'chiring.

O'zingizni qanday himoya qilish kerak

  1. Televizorni internetdan uzing (Ethernet va Wi-Fi). Yoki uni uydagi boshqa qurilmalarga kira olmaydigan alohida mehmon (guest) tarmog'iga yoki VLAN'ga ko'chiring.
  2. Uzib bo'lmasa, routerda yoki DNS'da bloklang. IOC bo'limidagi domen va IP manzillarni bloklang. Proksi rele manzili ish vaqtida beriladi, shuning uchun faqat ma'lum IP manzillarni bloklash to'liq emas.
    • Cloudflare, CloudFront va BunnyCDN'da joylashgan ko'rsatkichlarni IP bo'yicha emas, domen bo'yicha bloklang: ularning IP manzillari begona saytlar bilan umumiy.
    • Televizor uchun TCP/UDP 10080–11080 portlarini filtrlash kuzatilgan C2 va rele portlarini qamraydi.
    • Sinovda bu ko'rsatkichlar routerda bloklangach, faol C2 ulanishi yo'qoldi, C2 domenlari aniqlanmay qoldi, C2 va rele IP manzillariga ulanish vaqt o'tib uzildi. Odatiy striming xizmatlari esa ishlashda davom etdi.
  3. Televizorda Google yoki boshqa hisoblarga kirmang. Agar kirgan bo'lsangiz, boshqa qurilmadan o'sha hisoblardan chiqing va parollarni almashtiring.
  4. Factory reset bu zararlanishni o'chirmaydi. Faqat ishlab chiqaruvchining toza proshivkasi muammoni hal qiladi. Unga qadar tashqi striming qurilmasidan foydalaning va televizorni internetsiz saqlang.

Ishlab chiqaruvchi uchun (CVTE / Skyworth / Velar / Zeasn): 2019-09-05 dagi cvt_mt5863_eu buildini va uning ta'minot zanjirini, ayniqsa zygote yuklaydigan native kutubxonalarni (media JNI to'plami, ART) tekshirish; toza proshivka va OTA yangilanishni chiqarish; proshivkani xususiy release kalitlari bilan qayta imzolash; com.zeasn.services.general nima uchun rozilik so'ramasdan qadoqlangan reklama SDK ilovasini o'rnatishini va bu server qoidasini kim sozlaganini tushuntirish.

CERT'lar va Google uchun: C2 infratuzilmasini bloklash yoki sinkhole qilish (Cloudflare, Amazon CloudFront/AWS, BunnyCDN va Netsec HK o'z ko'rsatkichlari bo'yicha abuse xabarlariga javob bera oladi); internet provayderlarni xabardor qilish; bu buildning Play Protect sertifikatsiyasi holatini tekshirish; HUMAN Security (BADBOX kuzatuvi) va antivirus kompaniyalari bilan muvofiqlashish. YARA qoidalari ular bilan ulashilishi mumkin.

Ko'rsatkichlar (IOC)

Barcha xeshlar SHA-256. Namunalar oflayn saqlanadi va faqat so'rov bo'yicha beriladi.

Televizordagi fayllar

Fayl SHA-256
systemlibarm_10145.jar (yuklovchi) c62ed6ed18509ed02165e1a812acda2705e42bd8cf090bb18601750561217059
yuklovchi classes.dex a99c9c099ffaf1d6b0224f9482ae20e9ce083948444d29c870d5c92c0f81e4a9
systemlibarm_10145.dex (dex2oat natijasi; birinchi 6 238 bayti nol) 410ef622801b8264a683f93afa8a976fdaa9da47a0b15881eee6d8066bd19ef8
ylmd_1003.md (shifrlangan) 4866a5eb2c7155aff8164185aa62e0b53b03179a0e3d8f0a982a4a15824def4b
ss_1027.md (shifrlangan) c1fd9eb701cdb67f783a84d1c8cccb060f379ddeff59394b325082fb25503bca
.oc_1_2004_1_…IPProxyCore (shifrlangan; MD5 7fdfcb86a58d2af3572c90fc48a09a32) a526a5fbb1621804b351645c4975b085ed06ffce52bbf49efd4e5e6ee6d243f5
com.android.media.module.services APK v1.1.18 c97195aff98d094ba8b4ddba2c7fc8f26328312ebf5b06e1ecbaab96a90f2c0e
com.zeasn.services.general APK v2.1.13 322a0fd5a601b3c7d096f31992265bf26c6cea8b737e8937b8e434b00af8e6a9
Proshivka libandroid_runtime.so 385f357bee0dd1326d71e24fe776d7ba4279d527bb182ef231a2005ce14896f9
Proshivka libart.so 15c3548b3e87a4a8435c4c78e47eedf83151365fc51029d2abd7f881ffaaa261
Proshivka libmedia_jni.so 55dfa57ced72b19340bc6b84a79c03ccad89dd54b9255e4849bd02f549fe7ea0
Proshivka boot-framework.oat 65ac4b1db475a54c8f892860946addabb541e5a891e80e0a533b85bc4ed7a85e

Ochilgan modullar (yuqoridagi fayllardan olingan)

Modul Ochilgan ZIP classes.dex
ylmd_1003 (freymvork) 987955308c3c1e4ebc0c1e0261a3ff08a2d82582e2a88bde733ec8fb806c472f 2b72aa1040ad64f881244c5438a3933c1ad718d815b8b6cbd08e264084c2ca5c
ss_1027 (qobiq) 48db499a439560ae7f3f32bd21859dc5f7ba0ca80ee64061449607a9042d7393 aa2cac622785ec0e71ec07bf4b361bac71cc73276564c778845985d18b809e0b
IPProxyCore (teskari proksi) b2ee5685e81e3a5c148954cf7d1d10e96caea8090e62fb5644f58d919e41eab4 53264eca4a42f41b3931df73dffd894a7ca6de0dc2c60c56386296eed4923566
TKEntry (WhatsApp o'g'irlovchisi, ishga tushirilmagan) bfbd2be05a24adb5fb2845762bd99309fc8c7b8ea5cf07822fbc8949a71b66d7 7302f3ac6cf4442cc44f5f19bb173df2efe8a87dc4ec70a2261e3cb83f35f32b

Tarmoq ko'rsatkichlari (2026-10-21 holatiga; o'zgarishi mumkin)

Ko'rsatkich Manzil Vazifasi
XA1847.1g5k5w.com, 77o6S5.1g5k5w.com, 2TX120.1g5k5w.com, 7y3luK.1g5k5w.com (:10080); sXSplO.1g5k5w.com, hrqchb.1g5k5w.com (:10443) 112.121.178.213 (Netsec Limited HK, 112.121.160.0/19) btdoinfo.db dagi domenlar ro'yxati. GMS uid'idan faol ulanish kuzatilgan
i4njg2.o96p.com, qobtwp.o96p.com CloudFront CDN orqali yashirilgan C2 (btdoinfo.db)
https://vdy8jd.aaodp.com:10430/PhDomainf/recdot 216.118.232.45 Domenlar ro'yxatini tiklash
https://216.118.228.253:10430/PhRecoverf/recip — IP manzilni tiklash
https://hcnk.uedfd.com/OadCtrl/if, /OadCtrl/bt 188.114.96.11, 188.114.97.11 (Cloudflare) Freymvork vazifalari va hisobotlari (shu televizorda ishlatilgan)
https://bk79n.uedfd.com/DLLogic/if, /DLLogic/bt, /DLLogic/app/token Cloudflare Boshqa qurilmalar uchun vazifalar; WhatsApp ma'lumotlarini chiqarish
https://n6x5.uedfd.com/AdLogic/if, /AdLogic/bt Cloudflare OAD modullar bazasi (IPProxyCore)
https://dv1wi3buwqfbb.cloudfront.net/ProxyGateway/apply/service CloudFront Proksi shlyuzi: rele host/portini beradi
148.66.17.4:11080 — Proksi relesi (2024-yil noyabr, .ss_log)
http://p8ydfra.lvditoys.com/DLBehavior/bt CloudFront Yuklovchi variantining hisobotlari
https://ivwbczv.3ko1.com/zvqmks/patch BunnyCDN, 138.199.24.219 Qurilma ID berish (variant)
https://saas.zeasn.tv/sp/api/device/v1/app/silent, …/app/download, …/auth-api/api/v1/auth/deviceSign, http://saas.zeasn.tv/log/open/report 108.128.156.113 (AWS eu-west-1) Ishlab chiqaruvchining yashirin o'rnatish kanali
meta365.frostbytesize.com 52.17.197.71, 108.132.135.213 (AWS eu-west-1) Reklama SDK boshqaruv hosti (mahkamlangan xususiy CA)
Firebase loyihasi mac-ad-9f1ee (sender 565791277901) Google Reklama APK telemetriyasi

Fayl yo'llari, nomlar va boshqa artefaktlar

  • Yuklovchi: /data/data/<istalgan paket>/systemlibarm_<N>.jar / .dex (bu yerda N = 10145); /data/data/{com.android.systemui,com.google.android.gms}/mms-core.jar.
  • Inyektor bosqichlari: /data/dalvik-cache/arm/system@framework@boot-acco.oat, /data/dalvik-cache/arm/system@framework@boot-bridacco.oat.
  • Qurilma ID omborlari: /data/system/.MLAndroid/, /data/misc/.MLAndroid/, /sdcard/.MLAndroid/ (com.android.btcore.db, timeStampMask.db); /system/etc/com.android.btcore.db (freymvork o'qiydigan yo'l).
  • Yuklama ombori (GMS, brauzer va, ehtimol, istalgan ilovada): <app>/files/.data/ ichida
    • ylmd_1003.md, ss_1027.md, btdoinfo.db, phone.db, timeStampMask.db, bt_mark_recover.db, .ss_log, .tkupdata.db;
    • .ylc/.rtresext/, .ylc/.rtmarkext/, .ylc/.rtinfosext/info.db;
    • .oc_<status>_<id>_<status>_<Base64(class)>\n (nomi yangi qator belgisi bilan tugaydi);
    • vaqtinchalik .jar_<…> fayllar.
  • IPProxyCore holati: <app>/files/.rtmark/.oci/.data_<id>/ ichida .odi_<id>.db, .ss_log, .ss_fp, .ss_ll, .ss_id; wake-lock tegi PhoneWakelockTag.
  • Klasslar: com.android.core.info.config.LDMCore, com.android.ml.bt.dymc.*, com.android.ml.bt.core.OPBDomainInfo, com.android.xb.ylmd_1003.*, com.android.xb.ss_1027.*, com.ds.server.DSCore, com.android.oad.ipproxy.IPProxyCore, com.dl.tk.TKEntry.
  • Broadcast amallari: com.dymc.<md5(package)>.lddex, com.dymc.<md5(package)>.ldso, LTF3OGYILC57K903ZDR4L8TBN1IYHJV4. Jurnal tegi: EXPML. Mahalliy xizmat: qurilmaning o'zidagi 45884-port (variant).
  • Sertifikatlar: AOSP test platforma kaliti, SHA-256 c8a2e9bccf597c2fb6dc66bee293fc13f2fc47ec77bc6b2b0d52c11f51192ab8 (proshivka va Zeasn APK); reklama APK imzolovchisi CN=socket, O=China, SHA-256 b0a71babf3c7cb18ba80df3c7bffd3a5ba89da32e5d37a31c63504133fcc5c74.
  • Ishlab chiqaruvchi kanali artefaktlari: /data/data/com.zeasn.services.general/shared_prefs/ad_service_sdk.xml (ad_rule_data), /data/data/com.zeasn.services.general/files/ad_service_<ver>.apk.

YARA qoidalari (Triada implanti uchun 8 ta, reklama APK uchun 4 ta) barcha mahalliy namunalarga mos keladi va 60 ta toza freymvork dex faylida hamda 533 ta tizim faylida xato topmadi. Ular keng toza fayllar to'plamida sinalmagan. Qoidalar CERT'lar va antivirus kompaniyalari bilan ulashiladi.

Dalillar

Jurnallar, zararli fayllarning nusxalari, tizim bo'limi nusxalari, ochilgan modullar va tahlil skriptlari SHA-256 xeshlari bilan saqlangan. Zararli dastur namunalari faqat so'rov bo'yicha, egasi tanlagan qabul qiluvchilarga beriladi.

Manbalar