Televizor zavoddan zararli dastur bilan keldi: Triada oilasidagi backdoor
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.

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:
- zygote va system_server yashirin
.MLAndroidpapkalariga kirishga urinayotgan edi. SELinux bunga ruxsat bermadi, shu sababli urinishlar jurnalga yozildi. - Har bir ilova ochilganda
dex2oatuning ma'lumotlar papkasidagi noma'lumsystemlibarm_10145.jarfaylini 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
1-rasm. Zararlanish zanjiri. Inyektorning birinchi bosqichi hali topilmagan.
1. Har bir jarayonga inyeksiya
- Televizor yoqilganda zygote (SELinux
u:r:zygote:s0)/datava umumiy xotiradagi.MLAndroidpapkalarini ochishga urinadi. SELinux buni rad etadi va rad etishlar jurnalga yoziladi. - Bu zygote klasslarni oldindan yuklayotgan paytda sodir bo'ladi:
libmedia_jni.sova 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_relrohamda platforma, imtiyozli va oddiy ilovalarning jarayonlari ham xuddi shunday.MLAndroidmurojaatlarini qiladi. - Har bir ilova ishga tushganda
dex2oat/data/data/<package>/systemlibarm_10145.jarfaylini kompilyatsiya qiladi. Bucom.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.systemuivacom.google.android.gmsqo'shimcha ravishdamms-core.jarham oladi.- Nusxalar yuklangandan keyin o'chiriladi. Bittasi
com.android.externalstorageichida qolgan va saqlab olingan.
2. Yuklovchi systemlibarm_10145.jar
- Klasslar:
com.android.core.info.config.LDMCorevacom.android.ml.bt.dymc.*. dex vaqt belgisi 2018-11-14, jurnal tegiEXPML. LDMCore.loadDexMem(String, String, byte[]),loadDexFinish(String, ClassLoader)valoadSoFinish(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.ContexHunterActivityThread/RuntimeInitustida refleksiya orqali AndroidContextobyektini oladi, ham system_server, ham ilova jarayonlarida.DymcReceiver/DymcHandlercom.dymc.<md5(package)>.lddexva.ldsobroadcast 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.makeShCmdbuyruqlarnishorqali 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.dbomborlaridan qurilma identifikatorlarini (sericode,cd) o'qiydi. https://hcnk.uedfd.com/OadCtrl/ifmanzilini 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/btga 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.
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:11080relesiga 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/cdnomlash (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.soichidagiandroid.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.oatva 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.sovalibandroid.so(importlari va muhim chaqiruvlari bo'yicha).- zygote
/etc/VendorExtractor.cfgdan 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/jniRegisterNativeMethodsni 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
BOOTCLASSPATHda yo'q va/system/frameworkda 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.oatham 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/bridaccoyo'q; - hech bir ilova papkasida
systemlibarm*yokimms-core*fayli paydo bo'lmadi; - karantindagi yo'llarning birortasi qayta yaratilmadi;
- logcat'da
systemlibarm,MLAndroid,mms-core,boot-accoyokibridaccouchramadi; - 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 buildrelease-keysdeb 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 soatdahttps://saas.zeasn.tv/sp/api/device/v1/app/silentmanzilini tekshiradi. Server ko'rsatmasi bilancom.android.media.module.servicesni 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 paketicom.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.comuchun mahkamlangan (pinned) xususiy root CA (AWS Irlandiya); Firebase loyihasimac-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.
IPProxyCoreoperator 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
- Televizorni internetdan uzing (Ethernet va Wi-Fi). Yoki uni uydagi boshqa qurilmalarga kira olmaydigan alohida mehmon (guest) tarmog'iga yoki VLAN'ga ko'chiring.
- 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.
- Televizorda Google yoki boshqa hisoblarga kirmang. Agar kirgan bo'lsangiz, boshqa qurilmadan o'sha hisoblardan chiqing va parollarni almashtiring.
- 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) |
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/ichidaylmd_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.
IPProxyCoreholati:<app>/files/.rtmark/.oci/.data_<id>/ichida.odi_<id>.db,.ss_log,.ss_fp,.ss_ll,.ss_id; wake-lock tegiPhoneWakelockTag.- 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 imzolovchisiCN=socket, O=China, SHA-256b0a71babf3c7cb18ba80df3c7bffd3a5ba89da32e5d37a31c63504133fcc5c74. - 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
- Kaspersky, "Triada strikes back" (2025-04-25): https://securelist.com/triada-trojan-modules-analogy/116380/
- Kaspersky, "Attack on Zygote" (2016): https://securelist.com/attack-on-zygote-a-new-twist-in-the-evolution-of-mobile-threats/74032/
- Dr.Web, Android.Triada.231 (2017): https://news.drweb.com/show/?i=11390
- FBI PSA I-060525, BADBOX 2.0 (2025): https://www.ic3.gov/psa/2025/psa250605


