ClingSTUN détourne STUN et exploite 24 failles sous Linux
Une porte dérobée Linux récemment identifiée, baptisée ClingSTUN, transforme les systèmes compromis en proxys et s'appuie sur le protocole Session Traversal Utilities for NAT (STUN) pour rester joignable, selon FortiGuard Labs. Le logiciel malveillant embarque aussi ses propres exploits, qui lui permettent de se propager à d'autres appareils.
STUN est un protocole standard qui permet aux appareils situés derrière une traduction d'adresses réseau (NAT) de connaître leur adresse IP publique et leurs correspondances de ports. ClingSTUN exploite cette capacité pour garder les machines infectées en contact avec ses opérateurs.
Deux douzaines de failles pour l'accès initial
FortiGuard Labs décrit ClingSTUN comme une porte dérobée de type proxy à connexion inversée ("back-connect"). Pour s'installer sur les systèmes, elle cible deux douzaines de vulnérabilités. Une fois en place, elle assure sa persistance afin de se relancer à chaque démarrage.
Les opérateurs exploitent les failles sans discernement, plutôt que de viser des victimes précises. Parmi les fabricants concernés figurent Avtech, EnGenius, D-Link, Hytec, Ivanti, Lantronix, Linear, MeiG, Realtek, Sunhillo, Tenda et TP-Link. Selon les chercheurs, le groupe semble continuer d'ajouter des exploits à cette liste.
ClingSTUN dispose également d'un mécanisme d'autopropagation distinct. Ce composant contient des exploits codés en dur pour sept vulnérabilités touchant des produits de China Mobile, KGUARD, Linksys, LB-LINK, MVPower, Realtek et TBK.
Conçue pour de nombreuses architectures
La porte dérobée repose sur des téléchargeurs qui récupèrent des charges utiles compilées pour différentes architectures de processeurs. FortiGuard Labs cite notamment AMD X86-64, ARM, Intel 80386, MIPS R3000 et PowerPC parmi les cibles prises en charge.
Les chercheurs ont analysé trois variantes du botnet et retrouvé le même comportement de base dans chacune. Le logiciel malveillant tue les processus appartenant à des malwares concurrents, désactive le minuteur de surveillance (watchdog), met en place sa persistance et exécute des commandes à distance.
Pour survivre aux redémarrages, ClingSTUN se copie dans deux fichiers cachés et leur attribue des droits d'exécution. Il ajoute ensuite des commandes de lancement à trois scripts d'initialisation du système.
Comment fonctionne l'astuce STUN
Côté réseau, le logiciel malveillant crée un socket UDP, l'associe à un port local aléatoire et envoie des requêtes STUN de liaison standard pour établir les connexions avec les points de terminaison.
"Après avoir terminé les échanges de liaison STUN, ClingSTUN envoie périodiquement son identifiant de groupe et sa liste de ports mappés aux mêmes points de terminaison STUN. Aucun enregistrement distinct auprès d'un serveur de coordination n'a été identifié dans ce chemin", explique FortiGuard Labs.
La porte dérobée surveille aussi l'arrivée de paquets spécifiques. Ceux-ci permettent à ses opérateurs d'exécuter du code à distance et de lancer la routine d'autopropagation.
Les chercheurs soulignent que les serveurs STUN utilisés sont des services publics légitimes, ce qui complique la détection.
"Une caractéristique notable est son détournement de serveurs STUN publics légitimes pour découvrir les adresses IP externes et les correspondances de ports, ce qui contribue à maintenir la connectivité à travers le NAT. Ces services tiers ne doivent pas être automatiquement classés comme une infrastructure contrôlée par l'attaquant. Les défenseurs doivent plutôt évaluer l'activité STUN conjointement avec un comportement suspect des processus, des connexions UDP inattendues et un trafic de maintien de connexion (keepalive) récurrent", précisent les chercheurs.
Notre analyse
ClingSTUN suit un schéma bien connu. Les botnets Linux bâtissent leur portée sur les routeurs, caméras, enregistreurs vidéo et autres équipements réseau rarement mis à jour et souvent oubliés une fois installés. La liste des fabricants est longue ici, et les opérateurs ajouteraient encore des exploits. Cela laisse penser à un groupe qui mise davantage sur le volume que sur la précision. Tout appareil exposé présentant une faille connue et non corrigée est une cible potentielle. Cette approche profite de la hausse constante du nombre de failles publiées, une tendance que nous avions évoquée lorsque les divulgations de vulnérabilités ont doublé et que l'exploitation s'est accélérée.
Le point le plus intéressant reste l'utilisation de serveurs STUN publics. En s'appuyant sur une infrastructure légitime pour traverser le NAT, les opérateurs évitent d'exposer un serveur de commande et de contrôle évident que les défenseurs pourraient bloquer. FortiGuard Labs n'a trouvé aucun enregistrement distinct auprès d'un serveur de coordination dans le chemin analysé. Les simples listes de blocage perdent donc de leur utilité. Bloquer purement et simplement les services STUN publics risquerait en outre de casser des outils de communication en temps réel légitimes. Cette même idée de dissimuler une activité malveillante dans des services de confiance se retrouve ailleurs, par exemple dans la porte dérobée macOS CloudSyncD, qui se faisait passer pour un installateur Zoom.
Pour les administrateurs, les mesures concrètes sont simples. Inventorier les équipements embarqués exposés sur Internet, mettre à jour ou remplacer ceux des fabricants concernés, et surveiller le trafic STUN provenant de systèmes qui n'ont aucune raison d'en générer. Les schémas de maintien de connexion récurrents et les connexions UDP inattendues sont des signaux utiles, comme le soulignent les chercheurs.
Reste à voir si d'autres familles de botnets reprendront cette approche fondée sur STUN. Il faudra aussi suivre la vitesse à laquelle la liste d'exploits de ClingSTUN continue de s'allonger.
