FloForge
Faire un donFR/EN
Sommaire
Retour
Projet: HY350 Max / HY350

HY350 Max — Jamais au repos. Que fait-il en cachette ?

2026-09-01 · 5 min

Ce que je peux affirmer, et ce que je ne peux pas

Cet article est le pendant du rĂ©cit technique : lĂ  je racontais comment j'ai reconstruit le micrologiciel de mon projecteur, ici je montre pourquoi je l'ai fait, chiffres Ă  l'appui.

Un mot de mĂ©thode avant tout le reste, parce qu'il commande la lecture de tout ce qui suit. Je distingue trois choses, et je les tiendrai sĂ©parĂ©es d'un bout Ă  l'autre :

  • Ce que des publications sĂ©rieuses ont Ă©tabli, que je cite et que je n'ai pas reproduit.
  • Ce que j'ai mesurĂ© moi-mĂŞme, sur ma machine, avec des outils que je nomme et des relevĂ©s que je publie.
  • Ce que je ne sais pas, et que je ne comblerai pas par des suppositions.

C'est fastidieux à écrire. C'est aussi la seule façon de rendre un article de ce genre utilisable par quelqu'un d'autre que son auteur.

Ce que les publications ont établi avant moi

Janvier 2023 â€” un particulier, un Pi-hole, et le premier signalement

Toute cette affaire commence par un achat ordinaire. Daniel Milisic, consultant canadien, commande un boĂ®tier Android T95 sur Amazon pour y faire tourner un Pi-hole â€” un filtre publicitaire Ă  l'Ă©chelle du rĂ©seau domestique.

C'est le Pi-hole lui-mĂŞme qui vend la mèche : Ă  peine branchĂ©, le boĂ®tier interroge des domaines associĂ©s Ă  des campagnes malveillantes. Milisic remonte la piste, identifie les composants fautifs, et publie en janvier 2023 un dĂ©pĂ´t public avec un script de neutralisation, faute d'avoir trouvĂ© une ROM propre.

Je m'arrĂŞte sur ce point parce qu'il m'a frappĂ© : Ă  trois ans de distance, c'est exactement la mĂ©thode que j'ai employĂ©e. Journaliser les noms depuis le rĂ©seau, parce que la machine ne peut pas se surveiller elle-mĂŞme. Nous y reviendrons en conclusion, ce n'est pas un hasard.

Mars 2025 â€” une entreprise de sĂ©curitĂ© nomme le rĂ©seau

L'Ă©quipe Satori de HUMAN Security publie le 5 mars 2025 l'analyse d'un rĂ©seau qu'elle baptise BADBOX 2.0 : plus d'un million d'appareils Android bon marchĂ© â€” tĂ©lĂ©viseurs connectĂ©s, boĂ®tiers, tablettes â€” livrĂ©s avec une porte dĂ©robĂ©e installĂ©e avant la vente. Le rapport dĂ©crit plusieurs modèles de fraude greffĂ©s dessus, dont la revente d'accès Ă  des connexions rĂ©sidentielles.

C'est le cadre général. Il ne parle pas de mon projecteur, il décrit le phénomène auquel il appartient.

DĂ©cembre 2024 Ă  juillet 2025 â€” les autoritĂ©s s'en mĂŞlent

Entre-temps, l'affaire change d'échelle et cesse d'être une histoire de passionnés.

  • DĂ©cembre 2024 â€” l'office fĂ©dĂ©ral allemand de la sĂ©curitĂ© informatique (BSI) dĂ©tourne un serveur de commande du rĂ©seau et coupe la communication de 30 000 appareils sur le territoire allemand.
  • DĂ©cembre 2024 â€” l'entreprise Bitsight dĂ©tourne Ă  son tour un domaine et compte plus de 160 000 adresses IP uniques en 24 heures. Son relevĂ© apporte un Ă©lĂ©ment que je n'ai vu nulle part ailleurs : l'infection ne touche plus seulement des appareils sans marque, mais aussi des produits de fabricants connus.
  • Mars 2025 â€” une opĂ©ration conjointe entre HUMAN, Google, Trend Micro et la Shadowserver Foundation neutralise plus de 500 000 appareils.
  • 5 juin 2025 â€” le FBI publie un avis public (rĂ©fĂ©rence I-060525-PSA) sur les objets connectĂ©s domestiques servant Ă  des activitĂ©s criminelles. Il mentionne explicitement les projecteurs.
  • Juillet 2025 â€” Google engage une action en justice contre les opĂ©rateurs du rĂ©seau.

On peut donc Ă©carter l'hypothèse du fantasme : un office fĂ©dĂ©ral, une agence fĂ©dĂ©rale amĂ©ricaine et plusieurs entreprises de sĂ©curitĂ© travaillent sur le mĂŞme objet depuis deux ans.

FĂ©vrier 2026 â€” un professionnel observe sa propre ligne

Johny Metellus, responsable informatique, publie le 15 fĂ©vrier 2026 le rĂ©cit d'un projecteur achetĂ© sur Amazon et devenu, selon son analyse, un relais pour du trafic criminel pendant deux mois. Son relevĂ© est prĂ©cis : une requĂŞte toutes les 65 secondes vers un domaine imitant celui de Facebook, et l'envoi d'une empreinte complète de l'appareil â€” adresse MAC, identifiant, version du micrologiciel â€” 2,17 secondes après l'allumage.

Un dĂ©tail m'a arrĂŞtĂ© : son appareil est vendu sous la marque AODIN. Or le mien, de marque Magcubic, interroge des serveurs du domaine aodintech.com. Je le note comme une observation, sans en tirer de conclusion : ces appareils partagent visiblement une base commune, revendue sous plusieurs marques.

Mai 2026 â€” un CERT national dĂ©monte un projecteur

Le 25 mai 2026, le centre de rĂ©ponse aux incidents d'AzerbaĂŻdjan publie l'analyse d'un projecteur Ă  35 dollars. Il y identifie deux composants, com.hotack.silentsdk et com.hotack.writesn, et un domaine, usmyip.kkoip.com, dont le nom mĂŞme annonce la fonction : enregistrer l'adresse IP de l'utilisateur.

Le CERT prĂ©cise que des composants similaires ont Ă©tĂ© trouvĂ©s sur des projecteurs vendus sous les marques Hotack, Huyukang et Nonete. LĂ  encore : une base commune, plusieurs Ă©tiquettes.

Ce que ces sources ont en commun â€” et ce qui les sĂ©pare

Elles convergent sur le mĂ©canisme : des composants installĂ©s en usine, invisibles Ă  l'utilisateur, qui contactent des serveurs distants sans consentement et servent d'infrastructure Ă  des activitĂ©s marchandes ou criminelles.

Mais â€” et c'est ce que la plupart des articles de reprise omettent â€” elles portent sur des appareils diffĂ©rents des miens, avec des composants diffĂ©rents et des domaines diffĂ©rents. Le CERT azerbaĂŻdjanais analyse un HY300 Pro+ ; Johny Metellus un AODIN X1BQ ; ni l'un ni l'autre un HY350 Max.

C'est précisément pour ça que j'ai regardé le mien.

La réponse du constructeur

Le 22 avril 2026, Magcubic publie un communiquĂ© au sujet de certains fichiers APK prĂ©sents sur ses produits. Je le rĂ©sume fidèlement, en m'en tenant Ă  ce qu'il dit :

  • il annonce « the following APK files Â» â€” et aucune liste ne suit, ni dans la version anglaise ni dans la française ;
  • il affirme que ces fichiers sont nĂ©cessaires Ă  des services locaux et ne contiennent pas de logiciel malveillant ;
  • il cantonne la question aux appareils de la sĂ©rie HY300 Ă©quipĂ©s de la puce H713 ;
  • il indique que les modèles Ă©quipĂ©s de la puce H726 ne contiennent pas cet APK ;
  • il recommande d'utiliser l'appareil hors ligne et d'installer les applications depuis une clĂ© USB.

Le HY350 Max est un H726. Le communiquĂ© ne le mentionne pas, et je n'en tire aucune intention : un constructeur qui assemble un matĂ©riel autour d'une base logicielle fournie par un tiers ne connaĂ®t pas nĂ©cessairement le contenu de cette base. Je constate simplement que mon modèle n'est traitĂ© nulle part, et que j'ai donc dĂ» regarder moi-mĂŞme.

Et les autres ?

J'ai cherchĂ© les rĂ©ponses publiques des autres marques citĂ©es dans ces affaires â€” droit de rĂ©ponse, communiquĂ©, message sur les rĂ©seaux sociaux. Je n'en ai trouvĂ© aucune.

La seule prise de parole d'un acteur industriel que j'aie pu identifier vient de Google, et elle consiste Ă  prendre ses distances : les appareils concernĂ©s ne sont pas certifiĂ©s Play Protect, dit en substance l'entreprise, et les appareils qui le sont passent des tests que ceux-lĂ  n'ont pas passĂ©s. C'est exact, et ça ne renseigne pas beaucoup l'acheteur qui a dĂ©jĂ  l'appareil chez lui.

Il faut donc ĂŞtre juste : Magcubic fait partie du très petit nombre de constructeurs Ă  avoir publiĂ© quelque chose. On peut trouver ce communiquĂ© incomplet â€” il annonce une liste qu'il ne donne pas â€” et regretter qu'il ne traite pas mon modèle. Il n'en reste pas moins que la plupart des marques concernĂ©es n'ont, Ă  ma connaissance, jamais rien dit du tout.

Ma méthode

Les outils

Tout ce qui suit a été obtenu avec des outils libres ou fournis par Android, sur ma propre machine.

Ouverture du firmware   outil maison pour le conteneur Allwinner, lpunpack, debugfs
Analyse des paquets     jadx (decompilation), lecture des manifestes
Etat du systeme         adb, dumpsys, pm list packages -U, /proc/net/tcp
Capture reseau          tcpdump sur l'appareil (variante rootee)
Journal des noms        MyPublicWiFi, point d'acces logiciel avec journal d'URL
Verification des noms   resolution DNS depuis un poste tiers

Le point d'accès qui a rendu tout ceci possible

Je m'arrête un instant sur MyPublicWiFi, parce que sans lui la moitié de cet article n'existerait pas, et parce que le service qu'il rend n'est pas celui auquel on pense.

Le principe est simple : le logiciel transforme un PC sous Windows en point d'accès Wi-Fi, et journalise les noms de domaine demandĂ©s par les appareils qui s'y connectent. On y branche le projecteur comme sur une box, et on lit ce qu'il rĂ©clame.

Mais la fonction dĂ©cisive est ailleurs. Dans ses modes d'accès au rĂ©seau, il propose « Pas de partage Internet Â» : le projecteur reçoit une adresse, un serveur de noms, un rĂ©seau parfaitement fonctionnel â€” et aucune route vers l'extĂ©rieur.

C'est ce mode qui a permis le premier relevĂ©, et il fallait qu'il existe. Le firmware d'origine embarque un installateur silencieux en Ă©tat de marche ; lui ouvrir une route pour l'observer aurait Ă©tĂ© lui permettre d'aboutir. LĂ , il parle dans le vide et on l'Ă©coute parler. On mesure une intention sans jamais courir le risque d'une transmission.

Pour le second relevĂ©, le mode « routeur (NAT) Â» a fait l'inverse : il achemine le trafic selon la table de routage de Windows, donc Ă  travers un VPN une fois celui-ci connectĂ©. L'infrastructure sollicitĂ©e a vu une adresse de centre de donnĂ©es, pas mon domicile.

Et c'est lĂ  que se joue la validitĂ© de la comparaison : le mĂŞme instrument a servi aux deux conditions. Un « avant Â» relevĂ© au Pi-hole et un « après Â» relevĂ© autrement ne se compareraient pas honnĂŞtement. Ici, seul le paramètre Ă©tudiĂ© change.

Ce logiciel mérite un article à lui seul, et il l'aura.

Quatre relevés, quatre conditions

Un relevĂ© rĂ©seau ne veut rien dire si l'on ne prĂ©cise pas les conditions. J'en ai fait quatre, tous le mĂŞme jour, sur la mĂŞme machine, appareil allumĂ© et laissĂ© au repos :

 FirmwareAccès InternetDurĂ©eInstrument
1d'originenon26 minjournal DNS + sockets
2d'origineoui (par VPN)2 minjournal DNS + sockets
3CleanRomnon10 mincapture de paquets
4CleanRomoui10 mincapture de paquets

Les relevĂ©s 1 et 3 se comparent entre eux, les relevĂ©s 2 et 4 entre eux. Comparer un « avant Â» avec route Ă  un « après Â» sans route ne prouverait rien, et c'est une erreur que je me suis efforcĂ© de ne pas commettre.

Ce que chaque instrument voit, et ne voit pas

Un journal de noms enregistre les domaines qu'un appareil cherche Ă  rĂ©soudre. Il est extĂ©rieur Ă  la machine, donc insensible Ă  ce qui s'y exĂ©cute â€” c'est sa force. Mais il ne voit ni le contenu ni mĂŞme si une connexion a suivi, et il est aveugle Ă  une adresse IP jointe sans passer par le DNS.

Une capture de paquets voit tout ce qui entre et sort, dans les deux sens, adresses comprises. Mais le contenu des sessions chiffrĂ©es lui Ă©chappe â€” et il faut le root pour la faire.

D'oĂą l'emploi des deux.

L'analyse des applications

Sept noms circulent : deux existaient vraiment sur ma machine

Une liste de sept paquets circule pour cette famille d'appareils. J'ai vĂ©rifiĂ© chacun, non pas en cherchant des chaĂ®nes de caractères â€” mĂ©thode trompeuse â€” mais en cherchant les rĂ©pertoires d'applications dans les partitions d'origine.

PaquetPrĂ©sent sur mon HY350 Max ?
com.htc.storeosoui â€” /product/app/StoreOs_QZ
com.htc.htcotaupdateoui â€” /product/app/HtcOtaUpdate_QZ
com.htc.expandsdknon
com.htc.eventuploadservicenon
com.hotack.writesnnon
com.hotack.silentsdknon
com.htc.htclauncherhighenglishd08non

Deux sur sept. Les cinq autres n'apparaissent que comme noms dans des listes de configuration hĂ©ritĂ©es de la plateforme : des listes d'exemption au tueur de mĂ©moire, des filtres d'affichage du lanceur, des tables de chaĂ®nes. Une entrĂ©e qui nomme un paquet absent ne fait rien.

Je le souligne parce que la tentation était grande d'annoncer sept retraits. Ç'aurait été faux, et un lecteur qui vérifie s'en apercevrait.

Un mot sur silentsdk, absent de la liste ci-dessus : selon les analyses publiĂ©es, il n'est pas prĂ©installĂ© par construction â€” il est tĂ©lĂ©chargĂ© Ă  l'exĂ©cution par l'installateur. Son absence sur une machine neuve ne prouve donc pas grand-chose, et c'est justement ce qui rend l'installateur central.

Le point le plus grave : l'identitĂ© système

S'il ne fallait retenir qu'une seule chose de tout cet article, ce serait celle-ci.

com.htc.storeos       sharedUser = android.uid.system  (uid 1000)
                      pkgFlags   = [ SYSTEM HAS_CODE … ]
com.htc.htcotaupdate  sharedUser = android.uid.system  (uid 1000)

Il faut mesurer ce que ça signifie. Android repose sur un principe simple : chaque application reçoit son propre identifiant d'utilisateur, et ne peut toucher ni aux fichiers ni aux processus des autres. C'est le bac Ă  sable, et c'est ce qui rend un tĂ©lĂ©phone Ă  peu près sĂ»r malgrĂ© les centaines d'applications qu'on y installe.

L'UID 1000 est l'identitĂ© du système Android lui-mĂŞme. Une application qui la porte n'est plus dans un bac Ă  sable : elle est Ă  cĂ´tĂ© du gestionnaire de paquets, du serveur de fenĂŞtres, du gestionnaire de comptes. Elle peut installer et dĂ©sinstaller silencieusement, lire les rĂ©glages protĂ©gĂ©s, survivre Ă  une rĂ©initialisation d'usine.

Ce niveau ne s'obtient pas en cochant une case. Il faut que l'application soit signĂ©e avec la clĂ© de plateforme du micrologiciel â€” la clĂ© maĂ®tresse de l'appareil. Quelqu'un, quelque part dans la chaĂ®ne, a dĂ©libĂ©rĂ©ment accordĂ© cette clĂ© Ă  un installateur silencieux.

Et cette identitĂ© partagĂ©e a une consĂ©quence pratique redoutable pour qui veut enquĂŞter : toute comptabilitĂ© par application devient inutilisable. Le compteur rĂ©seau d'Android range ces composants avec des dizaines de services lĂ©gitimes du système. Impossible de leur attribuer un octet. Seuls les noms de domaine tranchent â€” ce qui explique la suite de cet article.

Un binaire su setuid livré d'usine

Deuxième trouvaille, du mĂŞme ordre. Le micrologiciel d'origine contient :

-rwsr-sr-x  1 root shell  5788  /system/xbin/hotacksu
            ^
            le bit setuid : le programme s'execute en tant que root
            quel que soit l'utilisateur qui le lance

C'est le binaire su d'Android, renommĂ©. Et il n'est pas lĂ  par accident : son chemin figure dans la table des permissions du système de fichiers, compilĂ©e Ă  l'intĂ©rieur de libcutils.so, libadbd_fs.so et mkfs.erofs. Autrement dit, l'arbre de compilation d'Android a Ă©tĂ© modifiĂ© pour lui accorder ce privilège Ă  la construction de l'image.

Une nuance honnĂŞte, et elle est importante : sur le firmware d'origine, ce binaire ne fonctionne pas. Je l'ai essayĂ© â€” SELinux refuse la transition et il Ă©choue. Il est lĂ , armĂ©, mais neutralisĂ© par la politique de sĂ©curitĂ©. Reste que sa seule prĂ©sence, avec cette dĂ©claration dans la table des permissions, en dit long sur la façon dont cette image a Ă©tĂ© construite.

L'interface du constructeur

La dĂ©compilation de com.htc.magcubicos, l'accueil et le panneau de rĂ©glages de l'appareil, donne :

  • un appel HTTP en clair vers store-api.aodintech.com, dans la mĂ©thode de dĂ©marrage ;
  • le traceur com.baidu.mobstat, dĂ©marrĂ© au lancement de l'application â€” 357 fichiers, 4 Mo de code ;
  • les permissions INTERNET, INSTALL_PACKAGES, GET_ACCOUNTS_PRIVILEGED et PACKAGE_USAGE_STATS ;
  • sur l'Ă©cran « Informations système Â», cinq points de lancement vers l'OTA constructeur et trois composants de la famille hotack, dont quatre accessibles par une combinaison de touches non documentĂ©e.

Une application de réglages qui embarque un traceur publicitaire et la permission d'installer des paquets, ce n'est pas une anomalie de configuration. C'est un choix de conception.

Les mesures réseau

RelevĂ© 1 â€” sans route : l'intention Ă  l'Ă©tat pur

Premier relevé, 26 minutes, appareil au repos, volontairement privé d'accès à Internet. Le firmware d'origine embarquant un installateur silencieux en état de marche, lui ouvrir une route pour les besoins de la mesure aurait été lui permettre d'aboutir.

RĂ©sultat : 904 requĂŞtes DNS, soit environ 35 par minute, sur un appareil que personne ne touche.

RequĂŞtesDomaineNature
250server2.mphotool.comrecopie d'écran tierce
249server.mphotool.comrecopie d'écran tierce
216store-api.aodintech.cominstallation silencieuse d'applications
87www.google.cncontrôle de connectivité, point chinois
44ntp.ntsc.ac.cn, ntp.aliyun.comserveurs de temps chinois
22time.android.comlégitime
22play.googleapis.com, www.google.comlégitime
8hmma.baidu.com, dxp.baidu.comtélémétrie Baidu
6ota.triplesai.com, otaapi.triplesai.com, ota-api.aodintech.commise Ă  jour hors constructeur

Le point d'installation silencieuse est sollicitĂ© toutes les 5 Ă  10 secondes, sans interruption. L'isolement rend d'ailleurs la mesure plus propre, et non moins : rien ne dĂ©clenche ces requĂŞtes, aucune rĂ©ponse ne revient, et la cadence ne faiblit pas pour autant.

RelevĂ© 2 â€” avec route : le canal permanent

Deuxième relevé, deux minutes seulement, avec un accès réel acheminé par un VPN pour que l'infrastructure sollicitée ne découvre pas mon adresse résidentielle. Fait juste avant la réinstallation, de sorte que tout ce qui aurait pu être déposé était effacé dans la foulée.

Les connexions aboutissent :

3.12.169.56:443     mphotool     3 sessions simultanees, en permanence
119.28.17.161:443   store-api    presente dans 60 echantillons sur 60

Le point d'installation silencieuse maintient un canal chiffrĂ© ouvert pendant la totalitĂ© de l'observation, tenu par l'UID système, vers une adresse de Tencent Cloud. Ce n'est plus une tentative de rĂ©solution : c'est une session Ă©tablie, sur un appareil que personne ne touche.

Le piège de lecture

Voici la chose la plus contre-intuitive que cette enquĂŞte m'ait apprise, et elle vaut pour quiconque lit un journal DNS.

Avec une route, store-api.aodintech.com n'est rĂ©solu qu'une seule fois. Le premier relevĂ© en comptait 216 : c'Ă©taient des reprises, parce que rien n'aboutissait jamais.

Une requĂŞte unique suivie d'un canal permanent reprĂ©sente donc davantage de contact qu'une rafale de rĂ©solutions sans lendemain â€” et non l'inverse. Qui compterait les lignes d'un journal DNS pour mesurer l'activitĂ© d'un appareil conclurait exactement Ă  rebours de la rĂ©alitĂ©.

Ces points de terminaison sont vivants

Mon appareil ne pouvant pas rĂ©soudre ces noms pendant le premier relevĂ©, la question restait ouverte : cette infrastructure existe-t-elle encore ? RĂ©solution faite depuis un poste tiers disposant d'un accès normal :

store-api.aodintech.com  ->  119.28.17.161    Tencent Cloud
ota-api.aodintech.com    ->  124.156.99.68    Tencent Cloud
ota.triplesai.com        ->  111.230.36.129   Tencent Cloud
otaapi.triplesai.com     ->  111.230.36.129   Tencent Cloud
server.mphotool.com      ->  3.12.169.56      AWS
server2.mphotool.com     ->  3.12.169.56      AWS
hmma.baidu.com           ->  103.235.46.195   Baidu
api.bigbigcloud.cn       ->  NXDOMAIN         (canal officiel du constructeur, mort)

L'infrastructure sollicitĂ©e est en service. DĂ©tail savoureux : le seul domaine rĂ©ellement mort de la liste est le canal de mise Ă  jour officiel du constructeur â€” ce qui explique au passage pourquoi la mise Ă  jour en ligne d'origine ne fonctionne plus pour personne.

RelevĂ©s 3 et 4 â€” après nettoyage

MĂŞmes conditions, mĂŞmes durĂ©es, sur la ROM reconstruite. La variante rootĂ©e donne accès Ă  tcpdump : la mesure porte cette fois sur les paquets eux-mĂŞmes, Ă  la source, dans les deux sens.

Sans route, 275 paquets en 10 minutes. 90 requêtes DNS, toutes vers Google, plus le contrôle de connectivité et le rapport de plantage de SmartTube. Aucune connexion unicast vers l'extérieur.

Avec route, 3 729 paquets en 10 minutes, et six destinations extĂ©rieures :

2001:4860:4840:400::       143 764 o recus / 29 733 emis   Google
142.251.156.4              109 918 o /  8 328 o            Google
2a00:1450:4007:817::2003     5 956 o /  1 324 o            Google
2001:4860:4844:400::             0 o /     24 o            Google
2a00:1450:4007:81a::200e        73 o /      0 o            Google
2a00:1450:400c:c06::bc          24 o /     28 o            Google

Six destinations, toutes chez Google. Aucune autre, d'aucune sorte. J'ai vĂ©rifiĂ© chaque adresse restante de la capture une par une : rĂ©seau local, adresses lien-local d'appareils voisins annonçant leurs services, ARP, trames de commutation.

Les quatre seuls noms demandĂ©s : www.googleapis.com, www.youtube.com, firebaseinstallations.googleapis.com et firebase-settings.crashlytics.com â€” ce dernier Ă©tant le rapport de plantage de SmartTube, que je documente et qui se dĂ©sactive.

Les limites de tout ceci

Un relevé sans ses limites ne vaut pas grand-chose. Voici les miennes, et je préfère les écrire moi-même.

Je n'ai jamais vu ce qui s'échangeait

Tout ce qui compte passe en TLS. MĂŞme avec une capture intĂ©grale, le contenu d'une session vers store-api.aodintech.com resterait chiffrĂ©. Lire ce qui s'y dit demanderait une interception avec certificat installĂ© sur l'appareil â€” un autre chantier, que je n'ai pas menĂ©.

Je sais donc qui parle Ă  qui, quand, et combien d'octets. Jamais ce qui est dit.

Je n'ai pas observé de relais

Les publications que je cite décrivent des appareils enrôlés comme relais résidentiels. Je n'ai rien mesuré de tel.

Le seul Ă©lĂ©ment qui y ressemblait : sur le relevĂ© de deux minutes, l'application de recopie d'Ă©cran a reçu 179 581 octets et en a Ă©mis 178 345 â€” presque symĂ©trique, sur un appareil au repos. Un service qui se contente d'Ă©couter ne renvoie pas l'Ă©quivalent de ce qu'il reçoit. C'est le profil d'un relais. Deux minutes ne permettent pas de l'affirmer, et je ne l'affirme pas.

Un échantillonnage ne prouve pas une absence

Mes relevĂ©s Ă©tablissent ce qu'ils ont attrapĂ©. Ils n'Ă©tablissent jamais que rien d'autre n'a eu lieu. Douze domaines de la liste d'indicateurs publique n'ont pas Ă©tĂ© observĂ©s du tout : ils appartiennent probablement aux Ă©tages ultĂ©rieurs de la chaĂ®ne, dĂ©clenchĂ©s une fois les instructions reçues. Leur absence n'infirme rien.

Et rien ici ne prouve quoi que ce soit contre moi

C'est la limite la plus honnĂŞte. Ces mesures montrent ce qui change entre deux micrologiciels ; elles supposent encore que mon outillage est loyal. Le seul niveau de preuve qui supprimerait cette confiance est la reproductibilitĂ© : publier les scripts et l'empreinte de la base pour que quiconque rebâtisse et compare. C'est la direction Ă  prendre, et ce n'est pas encore fait.

Ce que je retiens

Ce que je sais Ă  100 %, parce que je l'ai mesurĂ© sur ma machine et que les fichiers bruts existent : deux applications non documentĂ©es, portant l'identitĂ© système d'Android, Ă©taient prĂ©sentes sur un micrologiciel officiel de septembre 2026. L'une d'elles maintenait un canal chiffrĂ© permanent vers une infrastructure hĂ©bergĂ©e chez Tencent. Un binaire su setuid Ă©tait livrĂ© avec l'image et dĂ©clarĂ© dans la table des permissions du système de fichiers. L'interface de rĂ©glages embarquait un traceur publicitaire et un appel marchand en clair. Et après reconstruction, sur dix minutes de capture avec un accès rĂ©el, il ne reste rien d'autre que Google.

Ce que je crois, sans pouvoir le dĂ©montrer : que ces composants font partie de l'ensemble dĂ©crit par les publications citĂ©es, et que le profil de trafic de la recopie d'Ă©cran mĂ©riterait une observation plus longue.

Ce que je ne saurai jamais : qui a placĂ© ces composants, Ă  quel Ă©tage de la chaĂ®ne, et si l'entreprise qui vend l'appareil en avait connaissance. Une chaĂ®ne de fabrication compte plusieurs intervenants, et n'importe lequel peut lui-mĂŞme avoir Ă©tĂ© compromis. Il y a des victimes â€” Ă  commencer par ceux qui ont achetĂ© l'appareil â€” mais dĂ©signer un coupable relèverait de la spĂ©culation.

Reste une chose que ce travail m'a apprise et qui dĂ©passe ce projecteur : l'identitĂ© système accordĂ©e Ă  un installateur silencieux rend l'appareil inauditable par ses propres moyens. Aucun compteur, aucune statistique d'usage, aucune application de sĂ©curitĂ© installĂ©e par-dessus ne peut distinguer ce composant du système lui-mĂŞme. Il a fallu sortir de la machine â€” journaliser les noms depuis le rĂ©seau â€” pour voir quelque chose.

C'est peut-ĂŞtre le vrai enseignement de cette histoire. Un appareil Ă  60 â‚¬ n'a pas les moyens de se surveiller lui-mĂŞme. Il faut le regarder de l'extĂ©rieur.

Sources

DateAuteurPublication
janvier 2023Daniel MilisicDĂ©couverte initiale sur un boĂ®tier T95 achetĂ© sur Amazon, via un Pi-hole â€” dĂ©pĂ´t public et script de neutralisation
18 mai 2023Electronic Frontier FoundationAndroid TV Boxes Sold on Amazon Come Pre-Loaded with Malware
dĂ©cembre 2024BitsightBADBOX Botnet Is Back â€” dĂ©tournement d'un domaine de commande, 160 000 adresses IP en 24 h
dĂ©cembre 2024BSI (Allemagne)DĂ©tournement d'un serveur de commande, 30 000 appareils coupĂ©s sur le territoire allemand
5 mars 2025HUMAN Security, équipe SatoriSatori Threat Intelligence Disruption: BADBOX 2.0 Targets Consumer Devices with Multiple Fraud Schemes
5 juin 2025FBI / IC3Home Internet Connected Devices Facilitate Criminal Activity â€” avis public I-060525-PSA
16 mars 2026well0nezmagcubic-root â€” outillage de dĂ©bloatage Allwinner, format de conteneur, tableau des permissions
15 février 2026Johny MetellusI Had No Idea — My Amazon Projector Was a Criminal Proxy Node for Two Months
22 avril 2026MagcubicOfficial Statement Regarding Certain APK Files on Magcubic HY300 Series Products
25 mai 2026CERT.GOV.AZ (AzerbaĂŻdjan)A $35 projector has turned into a source of hidden cyberthreats
6 juin 2026maximilian-shhy350max-badbox-removal â€” relevĂ© propre au HY350 Max, indicateurs de compromission
—Android Open Source ProjectMises à jour A/B et démarrage vérifié

Les analyses de composants â€” appels rĂ©seau, permissions, traceurs, points de lancement cachĂ©s â€” proviennent de la dĂ©compilation des applications de l'image d'origine et de mesures faites sur mon appareil. Elles ne sont reprises d'aucune source extĂ©rieure.