C0XMO exploite une faille corrigée de DD-WRT pour infecter des routeurs vulnérables, contaminer d’autres équipements connectés et supprimer les botnets concurrents déjà présents. Une nouvelle variante de Gafgyt plus modulaire, pensée pour grossir un réseau d’attaque DDoS sans partager le terrain.

Infecter un routeur vulnérable, chercher d’autres équipements connectés à compromettre, puis se débarrasser de la concurrence, tel est le mode opératoire de C0XMO, une nouvelle variante du botnet Gafgyt. Analysé par Fortinet, le malware exploite une ancienne vulnérabilité de DD-WRT, corrigée depuis plusieurs années déjà, pour prendre pied sur des appareils obsolètes ou négligés par leurs propriétaires, avant de déclencher une chaîne d’infection pensée pour durer, s’étendre et défendre l’accès obtenu.
Offre partenaire
Votre petite entreprise a de grandes ambitions. Protégez-là contre les pirates. Et développez sereinement votre activité !
Offre partenaire
Un botnet modulaire qui fait le ménage sur les appareils infectés
Estampillée CVE-2021-27137, la faille concerne les versions de DD-WRT antérieures à la révision 45723 et permet à un attaquant d’exécuter du code à distance sur un appareil vulnérable, sans avoir besoin de s’authentifier.
Une fois l’accès obtenu, C0XMO déploie un module de propagation pensé pour s’adapter aux équipements qu’il rencontre. Il cherche d’autres appareils accessibles, teste des identifiants faibles sur SSH et Telnet, identifie le type de processeur de la cible, puis récupère la version compatible du malware. Fortinet a observé des échantillons pour ARM, MIPS, PowerPC, SuperH, x86 et x86_64, ce qui permet au botnet de passer d’un routeur compromis à d’autres appareils connectés au réseau, comme des enregistreurs vidéo, des équipements Android ou des plateformes de vidéosurveillance. Son architecture modulaire facilite aussi l’ajout de nouvelles méthodes d’exploitation et de nouvelles familles de cibles, sans reprise complète de la chaîne d’infection.
C0XMO cherche également à conserver l’accès à l’appareil compromis. Il met en place des méthodes de persistance pour se relancer à intervalles réguliers, puis inspecte les processus actifs à la recherche d’autres botnets, d’outils de test d’intrusion ou de programmes susceptibles de gêner son exécution. Lorsqu’il en trouve, il peut tuer les processus concernés, supprimer les fichiers associés et retirer leurs méthodes de redémarrage automatique.
L’appareil infecté n’est donc pas seulement ajouté à un réseau DDoS. Il est aussi nettoyé pour éviter qu’un autre malware exploite la même ressource. Fortinet indique que C0XMO prend en charge 19 techniques de déni de service distribué, soit plusieurs façons d’inonder une cible de trafic jusqu’à perturber ou interrompre son fonctionnement.
Gafgyt, une vieille souche de botnets IoT
C0XMO est présenté par Fortinet comme une nouvelle variante de Gafgyt, une famille de botnets Linux/IoT observée dès 2014, aussi connue sous les noms BASHLITE ou Lizkebab. Ses premières versions ont notamment exploité Shellshock pour compromettre des systèmes Linux embarqués, avant de se diffuser plus largement dans l’écosystème des objets connectés mal sécurisés.
Le nom est ensuite revenu dans plusieurs campagnes visant des routeurs, des caméras IP, des DVR ou des serveurs Linux exposés. En 2016, plusieurs analyses faisaient déjà état de volumes importants d’appareils compromis, en particulier des caméras et des enregistreurs vidéo. Depuis, Gafgyt a essentiellement survécu sous forme de variantes, adaptées par différents opérateurs pour exploiter de nouvelles failles, viser d’autres équipements ou ajouter des fonctions supplémentaires.
C0XMO s’inscrit dans cette continuité, mais sa modularité, sa compatibilité avec plusieurs architectures et sa capacité à supprimer les botnets concurrents lui donnent un profil plus adaptable que les variantes les plus rudimentaires de Gafgyt.
Comment limiter les risques d'infection par C0XMO
Si vous utilisez un routeur DD-WRT, vérifiez que le firmware installé est bien postérieur à la révision 45723, les builds antérieures étant vulnérables à CVE-2021-27137. Installez une version plus récente si nécessaire, et désactivez l’administration distante, SSH, Telnet et UPnP lorsque ces fonctions ne vous sont pas utiles. Pour gérer un routeur hors du réseau local, privilégiez un accès via VPN plutôt qu’une interface de gestion directement accessible en ligne.
Remplacez enfin les identifiants par défaut et les mots de passe trop faibles, en particulier sur les équipements installés depuis longtemps. C0XMO tente aussi de se propager en testant des accès SSH et Telnet mal protégés, ce qui peut lui permettre de passer d’un appareil compromis à d’autres machines du réseau. Évitez les variantes trop courtes, les mots de passe réutilisés et les identifiants partagés entre plusieurs équipements.
Une RCE (Remote Code Execution) sans authentification permet à un attaquant d’exécuter des commandes à distance sur l’appareil, sans connaître de mot de passe. Sur un routeur, cela revient souvent à obtenir un contrôle très élevé du système, car l’équipement sert de point de passage central du réseau. Le code malveillant peut alors modifier la configuration, installer un malware et ouvrir des accès persistants. Même si la faille est corrigée, les appareils restés sur une version ancienne de firmware restent des cibles faciles, car l’exploit est connu et réutilisable.
Qu’est-ce qu’un botnet IoT « modulaire » et pourquoi la compatibilité multi-architectures (ARM, MIPS, x86…) compte ?Un botnet IoT modulaire est conçu comme un ensemble de composants que l’opérateur peut ajouter, retirer ou mettre à jour (propagation, DDoS, persistance, etc.) sans réécrire tout le malware. La compatibilité multi-architectures est cruciale dans l’IoT, car routeurs, caméras IP, DVR ou boîtiers Android n’utilisent pas les mêmes processeurs ni les mêmes binaires. En pratique, le malware détecte l’architecture de la cible puis télécharge la charge utile adaptée, ce qui augmente fortement le taux d’infection. Cette approche facilite aussi l’extension vers de nouveaux types d’équipements au fil des campagnes.
Pourquoi des services comme Telnet, SSH exposés et UPnP augmentent-ils le risque de propagation d’un botnet sur un réseau domestique ?Telnet et SSH sont des services d’administration à distance : s’ils sont accessibles depuis Internet (ou mal cloisonnés en local) et protégés par des identifiants faibles, ils deviennent des portes d’entrée privilégiées. Les botnets automatisent les tentatives de connexion avec des couples login/mot de passe courants ou récupérés, ce qui permet de compromettre rapidement plusieurs machines. UPnP peut, selon les cas, ouvrir automatiquement des ports sur le routeur à la demande d’équipements du réseau, ce qui peut exposer involontairement des services. Une fois un premier appareil compromis, ces services facilitent les mouvements latéraux vers d’autres équipements connectés au même réseau.