Le botnet C0XMO exploite une faille des routeurs DD-WRT pour se propager et éliminer les logiciels malveillants concurrents

Le botnet C0XMO exploite une faille des routeurs DD-WRT pour se propager et éliminer les logiciels malveillants concurrents

Une nouvelle version du botnet Gafgyt, nommée C0XMO, prend pour cible le micrologiciel des routeurs DD-WRT. Elle peut ensuite se propager à d’autres types d’appareils qui utilisent différentes architectures de processeur.

Les chercheurs ont identifié des échantillons du programme malveillant conçus pour les architectures ARM, MIPS, PowerPC, SuperH, x86 et x86_64. Ces variantes exploitent des vulnérabilités sur des enregistreurs vidéo numériques, des routeurs, des plateformes de gestion vidéo et des appareils sous Android.

Le botnet a été observé alors qu’il ciblait une entreprise technologique japonaise. L’analyse a cependant révélé que l’adresse IP source provenait d’un appareil situé en Allemagne.

Les chercheurs de Fortinet, qui ont découvert C0XMO, soulignent sa conception modulaire. Cette architecture permet aux opérateurs de mettre à jour ses techniques d’exploitation, d’ajouter ou de retirer des architectures ciblées, et d’étendre ses capacités de déplacement latéral, le tout indépendamment de la charge utile principale.

Dans sa fonction fondamentale, C0XMO reste un logiciel malveillant conçu pour lancer des attaques par déni de service distribué. Il prend en charge 19 méthodes, comme les inondations UDP, TCP, SYN et ICMP, le ping de la mort, les amplifications NTP et Memcached, les inondations UDP vocales Discord et des attaques spécifiques à Valve.

Selon les chercheurs, le botnet C0XMO se propage en exploitant la vulnérabilité CVE-2021-27137. Il s’agit d’un débordement de tampon qui est causé par une validation insuffisante des entrées utilisateur. L’exploitation ne nécessite pas d’authentification et peut conduire à l’exécution de code arbitraire.

Le scanner de Gafgyt

Pour une distribution plus large, C0XMO télécharge un script Python. Ce script installe des packages supplémentaires comme ‘requests’, ‘paramiko’ et ‘beautifulsoup4’, qui sont nécessaires pour le balayage réseau, la communication, et pour exécuter des activités via les protocoles SSH et Telnet.

Le scanner utilise ensuite des threads de travail pour balayer de manière aléatoire les systèmes exposés sur Internet. Il se concentre sur des ports courants comme le 22 (SSH), le 23 (Telnet), le 80/443 (HTTP/HTTPS), le 7547, le 8080, le 8443, le 8888, entre autres.

Lorsqu’il trouve une cible, le logiciel malveillant tente de forcer brutalement des identifiants SSH et Telnet faibles. Il détecte ensuite l’architecture du processeur et déploie un binaire C0XMO compatible.

Le script contient près de deux douzaines de fonctions pour différentes tâches : balayage, exploitation de vulnérabilités HTTP et basées sur ADB, détection de l’architecture CPU, connexion SSH/Telnet et vérification d’adresses IP. Son objectif principal est le déplacement latéral sur le réseau.

Une fois qu’il obtient l’accès à un appareil, le logiciel malveillant se copie dans des emplacements cachés comme ‘/tmp/.sys’, ‘/var/tmp/.sys’ et ‘/dev/shm/.sys’. Il crée ensuite des tâches cron qui le relancent toutes les 15 minutes. Il modifie aussi les fichiers de démarrage du shell pour activer une exécution automatique.

De plus, C0XMO balaye activement les processus en cours d’exécution. Il recherche les clients de botnets rivaux sur l’hôte, ainsi que des outils d’équipe rouge, des outils de programmation et des services réseau qui pourraient interférer avec son fonctionnement. Il les termine ensuite.

Pour ce faire, il supprime les binaires et élimine leurs mécanismes de persistance, ce qui inclut les tâches cron, les scripts d’initialisation, les services système et les entrées dans les profils shell.

Liste des processus que le logiciel malveillant recherche

Liste des processus que le logiciel malveillant recherche
Source : Fortinet

Après cette phase, il se connecte à une adresse de commande et contrôle intégrée en dur. Il utilise un processus de négociation en plusieurs étapes qui inclut des chaînes magiques et des secrets partagés, puis il attend des commandes.

Les commandes prises en charge incluent des vérifications de présence, le démarrage et l’arrêt des balayages, et le lancement d’attaques par déni de service en utilisant l’une des 19 méthodes disponibles.

La recommandation générale pour se protéger contre C0XMO et d’autres logiciels malveillants de type botnet est de maintenir les appareils à jour, d’utiliser des identifiants d’administration uniques et de désactiver les capacités d’accès à distance lorsqu’elles ne sont pas nécessaires.

Fortinet décrit C0XMO comme possédant « une architecture et un ensemble de fonctionnalités considérablement plus avancés que les botnets IoT précédents ».

Les chercheurs indiquent que la conception globale du logiciel malveillant montre « un degré de sophistication et de complexité opérationnelle plus élevé que les malwares Gafgyt typiques ».