🔍 Contexte
Analyse technique publiée le 12 avril 2026 sur GitHub par le chercheur Kavan00, portant sur des projecteurs Android vendus sur Amazon, eBay et AliExpress sous les marques Hotack, Huyukang, Magcubic et Nonete. L’analyse couvre la période du 11 au 12 avril 2026 et documente une attaque de chaîne d’approvisionnement similaire aux cas BADBOX.
🎯 Dispositifs affectés
- Chipset : Allwinner H713 / sun50iw12p1
- OS : SpectraOS (Android 11, Kernel 5.4.99)
- Fabricant OEM : Blue Shark, Shenzhen (opérateur C2 : Shenzhen Aodin Technology)
- Firmware :
HY260Pro_SpectraOS_TPYB - SELinux en mode Permissive (non appliqué)
- Clé de signature plateforme : AOSP Test Key publique
🦠 Écosystème malveillant
Quatre applications système interagissent, toutes signées avec la clé AOSP test et exécutées avec UID 1000 (System) :
- StoreOS (
com.htc.storeos) : dropper déguisé en app store, télécharge et installe silencieusement le RAT via des fichiers.bpp(APK avec bytes inversés) - SilentSDK (
com.hotack.silentsdk) : RAT principal, communique avecapi.pixelpioneerss.com, chiffrement AES-128-CBC, obfuscation XOR, contournement SSL, chargement dynamique de DEX - EventUploadService (
com.htc.eventuploadservice) : télémétrie non chiffrée toutes les 5 minutes versevent-api.aodintech.com(MAC, numéro de série, firmware) - ExpandSDK (
com.htc.expandsdk) : injection publicitaire via SDK TCL VastAd
🔐 Mécanismes techniques clés
- Byte-Reversal Protection : les premiers
reverseLenoctets de chaque APK téléchargé sont inversés pour contourner l’analyse statique - XOR rotatif : toutes les chaînes sensibles sont obfusquées (domaine C2, commandes shell, protocoles)
- Contournement SSL : TrustManager acceptant tous les certificats, repli sur HTTP en cas d’erreur SSL
- Chargement dynamique : DexClassLoader +
chmod 777+Runtime.exec()pour exécuter des payloads arbitraires avec privilèges root - Géociblage : via
api.ipdatacloud.compour distribution de payloads par région
🚪 Backdoors système
/system/bin/qw: binairesurenommé (Koushikdutta Superuser), daemon root sur port TCP 65528- ADB sans authentification : port 5555 ouvert, UID root
/oem/customer.prop: world-writable, permet injection de propriétés système au boot/vendor/bin/dbgserver: serveur I/O registres hardware via/dev/hidtvreg(world-writable)- Ports additionnels ouverts : 7889, 7890, 10012, 10013
🌐 Infrastructure C2
| Endpoint | Fonction |
|---|---|
store-api.aodintech.com |
Distribution d’apps (dropper) |
cdn-store.aodintech.com |
Téléchargement APK |
event-api.aodintech.com |
Télémétrie |
api.pixelpioneerss.com |
C2 RAT SilentSDK |
pb-api.aodintech.com |
Config publicités |
ota.triplesai.com:8080 |
Mises à jour firmware |
euads-o.api.leiniao.com |
Serveur pub secondaire |
🎭 Usurpation d’identité
Le firmware usurpe l’identité du Google ADT-3 (ro.build.fingerprint: ADT-3/adt3/adt3:11/RP1A.201005.006) pour contourner les vérifications de certification Google Play.
✅ Confirmation externe
Le chercheur Zane St. John a publié en janvier 2026 une analyse indépendante confirmant la même infrastructure (mêmes endpoints C2, même obfuscation XOR, même protocole AES-128-CBC, Campaign ID f101). Les hashes MD5/SHA-256 sont identiques entre les trois sources (serveur C2, déchiffrement local, analyse externe).
📋 Type d’article
Analyse technique approfondie de recherche en sécurité, visant à documenter une attaque de chaîne d’approvisionnement active sur des appareils IoT grand public et à fournir des IOCs exploitables.
🧠 TTPs et IOCs détectés
TTP
- T1195.002 — Supply Chain Compromise: Compromise Software Supply Chain (Initial Access)
- T1547 — Boot or Logon Autostart Execution (Persistence)
- T1027 — Obfuscated Files or Information (Defense Evasion)
- T1071 — Application Layer Protocol (Command and Control)
- T1055 — Process Injection (Defense Evasion)
- T1082 — System Information Discovery (Discovery)
- T1005 — Data from Local System (Collection)
- T1041 — Exfiltration Over C2 Channel (Exfiltration)
- T1036 — Masquerading (Defense Evasion)
- T1014 — Rootkit (Defense Evasion)
- T1573 — Encrypted Channel (Command and Control)
- T1553 — Subvert Trust Controls (Defense Evasion)
IOC
- Domaines :
api.pixelpioneerss.com— VT · URLhaus · ThreatFox - Domaines :
store-api.aodintech.com— VT · URLhaus · ThreatFox - Domaines :
cdn-store.aodintech.com— VT · URLhaus · ThreatFox - Domaines :
event-api.aodintech.com— VT · URLhaus · ThreatFox - Domaines :
pb-api.aodintech.com— VT · URLhaus · ThreatFox - Domaines :
ota.triplesai.com— VT · URLhaus · ThreatFox - Domaines :
euads-o.api.leiniao.com— VT · URLhaus · ThreatFox - URLs :
http://cdn-store.aodintech.com/com.hotack.silentsdk/package/091acbf1-68b1-40f1-b9b7-7d4d6ae86880.bpp— URLhaus - URLs :
http://cdn-store.aodintech.com/com.hotack.silentsdk/image/95630a5e-e05e-4dba-814a-cf2742585b39.png— URLhaus - SHA256 :
3476536a5c722b9e34c53abda766fb4869d5ebebfc9c8a8fd47fb7ecd5f025b9— VT · MalwareBazaar - SHA256 :
e5a193c31526a2194d04a2157321d490d68f9251fab1cbbd28c2580971396fb7— VT · MalwareBazaar - MD5 :
5df097591d6942bae4eff33a37c4e28f— VT · MalwareBazaar - Fichiers :
091acbf1-68b1-40f1-b9b7-7d4d6ae86880.bpp - Chemins :
/system/bin/qw - Chemins :
/dev/com.koushikdutta.superuser.daemon/server - Chemins :
/oem/customer.prop - Chemins :
/vendor/bin/dbgserver - Chemins :
/dev/hidtvreg
Malware / Outils
- SilentSDK (rat)
- StoreOS (loader)
- EventUploadService (other)
- ExpandSDK (other)
🟡 Indice de vérification factuelle : 63/100 (moyenne)
- ⬜ github.com — source non référencée (0pts)
- ✅ 23652 chars — texte complet (fulltext extrait) (15pts)
- ✅ 18 IOCs dont des hashes (15pts)
- ✅ 1/7 IOC(s) confirmé(s) (MalwareBazaar, ThreatFox, URLhaus, VirusTotal) (8pts)
- ✅ 12 TTPs MITRE identifiées (15pts)
- ✅ date extraite du HTML source (10pts)
- ⬜ aucun acteur de menace nommé (0pts)
- ⬜ pas de CVE à vérifier (0pts)
IOCs confirmés externellement :
api.pixelpioneerss.com(domain) → VT (6/94 détections)
🔗 Source originale : https://github.com/Kavan00/Android-Projector-C2-Malware