Botnet C0XMO : une variante sophistiquée de Gafgyt ciblant les routeurs et les appareils IoT
Une nouvelle variante très sophistiquée du botnet **Gafgyt**, baptisée **C0XMO**, a fait son apparition, ciblant spécifiquement le firmware des routeurs **DD-WRT** et un large éventail d'autres appareils IoT. Découvert par les chercheurs de **Fortinet**, ce botnet arbore une conception modulaire, lui permettant de lancer de puissantes attaques par déni de service distribué (DDoS) et d'éliminer activement les malwares concurrents sur les systèmes compromis.
Une variante nouvelle et avancée du botnet **Gafgyt**, nommée **C0XMO**, exploite activement des vulnérabilités dans le firmware des routeurs **DD-WRT**. Ce malware sophistiqué fait preuve d'une remarquable capacité d'adaptation, ciblant une gamme diversifiée de types d'appareils sur plusieurs architectures CPU, notamment ARM, MIPS, PowerPC, SuperH, x86 et x86_64.
### Conception modulaire et large portée
Les chercheurs de **Fortinet** ont joué un rôle déterminant dans la découverte des capacités de **C0XMO**. Ils ont souligné son architecture modulaire, une caractéristique clé qui permet à ses opérateurs de mettre à jour indépendamment les techniques d'exploitation, d'ajouter ou de supprimer des architectures ciblées, et d'étendre les capacités de mouvement latéral sans modifier le payload principal.
Bien qu'observé ciblant une entreprise technologique japonaise, l'adresse IP source du botnet a été tracée jusqu'à un appareil en Allemagne, indiquant une portée mondiale potentiellement plus large ou une structure opérationnelle complexe.
### Exploitation et capacités DDoS
**C0XMO** se propage principalement en exploitant **CVE-2021-27137**, une vulnérabilité critique de dépassement de tampon dans **DD-WRT**. Cette faille, résultant d'une validation insuffisante des entrées utilisateur, peut être exploitée sans authentification pour exécuter du code arbitraire sur les appareils vulnérables.
À la base, **C0XMO** est conçu pour lancer des attaques par déni de service distribué (DDoS). Il prend en charge un large éventail de 19 méthodes d'attaque, notamment les floods UDP/TCP/SYN/ICMP, le « ping of death », les amplifications NTP/Memcached, les floods UDP Discord voice et les floods spécifiques à Valve.
### Propagation avancée et persistance
Pour obtenir une distribution plus large, **C0XMO** télécharge un script Python qui installe les packages nécessaires tels que 'requests', 'paramiko' et 'beautifulsoup4'. Ces outils facilitent le scan réseau et la communication via les protocoles SSH et Telnet.

Le scanner utilise des threads de travail pour sonder aléatoirement les systèmes exposés sur Internet sur des ports courants tels que 22 (SSH), 23 (Telnet), 80/443 (HTTP/HTTPS), 7547, 8080, 8443 et 8888. Après avoir identifié une cible, le malware tente de forcer les identifiants faibles de Telnet et SSH. Une fois l'accès obtenu, il détecte l'architecture du CPU et déploie un binaire **C0XMO** compatible.
Le script comprend près de deux douzaines de fonctions pour diverses tâches, notamment le scan, l'exploitation des vulnérabilités basées sur HTTP et ADB, la détection de l'architecture CPU, la connexion SSH/Telnet et la vérification de l'adresse IP, le tout visant un mouvement latéral robuste au sein des réseaux.
Une fois un appareil compromis, **C0XMO** se copie dans des répertoires cachés tels que '/tmp/.sys', '/var/tmp/.sys' et '/dev/shm/.sys'. Il établit ensuite sa persistance en créant des tâches cron pour se relancer toutes les 15 minutes et modifie les fichiers de démarrage du shell pour une exécution automatique.
### Élimination des concurrents et Command & Control
Une caractéristique notable de **C0XMO** est son scan actif des clients de botnets concurrents, des outils de red-team, des outils de programmation et des services réseau qui pourraient interférer avec ses opérations. Lors de la détection, il termine ces processus, supprime leurs binaires et élimine leurs mécanismes de persistance, y compris les tâches cron, les scripts d'initialisation, les services système et les entrées de profil shell.

Après un compromis réussi et un nettoyage, **C0XMO** se connecte à une adresse de command-and-control (C2) codée en dur en utilisant une poignée de main personnalisée en plusieurs étapes impliquant des chaînes magiques et des secrets partagés. Il attend ensuite les commandes, qui incluent des vérifications de battement de cœur, le lancement/l'arrêt de scans et le lancement d'attaques DDoS en utilisant l'une de ses 19 méthodes prises en charge.
### Évaluation de Fortinet et recommandations de défense
**Fortinet** décrit **C0XMO** comme possédant « une architecture et un ensemble de fonctionnalités considérablement plus avancés par rapport aux botnets IoT précédents ». Les chercheurs soulignent que sa conception globale indique « un plus grand degré de sophistication opérationnelle et de complexité que les malwares **Gafgyt** typiques ».
Pour se défendre contre **C0XMO** et les menaces de botnets similaires, les professionnels de la sécurité informatique et les utilisateurs sont fortement invités à :
* Maintenir tous les appareils, en particulier les routeurs et les appareils IoT, à jour avec le dernier firmware et les correctifs de sécurité.
* Utiliser des identifiants administratifs forts et uniques pour tous les appareils réseau.
* Désactiver les capacités d'accès à distance lorsqu'elles ne sont pas explicitement requises.