La montée en puissance du cloud en fait une cible de plus en plus privilégiée par les cybercriminels. Dernier exemple en date, la découverte par des experts de Check Point d’un framework de malware sophistiqué et modulaire nommé VoidLink. Il est capable de fonctionner de manière furtive à l’intérieur des systèmes et conteneurs Linux. Les chercheurs pensent qu’il a été conçu par des développeurs chinois ayant une connaissance approfondie des rouages internes de Linux et créé pour être utilisé contre les serveurs cloud.
« VoidLink est capable de reconnaître les principaux environnements cloud et de détecter qu'il s'exécute dans Kubernetes ou Docker, puis adapter son comportement en conséquence », soulignent-ils dans un rapport. Tous les échantillons de malware découverts par Check Point ont l'air d'être encore en cours de finalisation plutôt que des produits finis. Cependant, le projet est mature et les chercheurs de l’entreprise de sécurité pensent qu'il ne faudra pas longtemps avant que le malware soit exploité dans des attaques réelles, éventuellement à des fins de cyberespionnage ou de compromission de la supply chain, car il récolte les identifiants des environnements cloud et des systèmes de gestion des référentiels de code source.
Un malware extensible et personnalisable
VoidLink s'inspire de l'implant de Cobalt Strike, un outil de simulation d’attaque largement adopté et utilisé à mauvais escient par les attaquants au fil des ans. Le logiciel malveillant utilise une API pour communiquer avec des plug-ins supplémentaires qui ajoutent un tas de fonctionnalités diverses. Par défaut, la plateforme est livrée avec 37 plug-ins qui peuvent être sélectionnés et fournis à la victime pour activer des fonctionnalités supplémentaires. Cependant, l'opérateur peut également fournir des plug-ins personnalisés. Tout cela est contrôlé via un tableau de bord de commande et de contrôle (C2) professionnel basé sur le Web.
« Cette interface est localisée pour les opérateurs affiliés à la Chine, mais la navigation suit une disposition C2 courante, avec une barre latérale gauche regroupant les pages en Dashboard, Attack et Infrastructure », ont expliqué les chercheurs. « La section Dashboard couvre la boucle centrale de l'opérateur (gestionnaire d'agents, terminal intégré et générateur d'implants). En revanche, la section Attack organise les activités post-exploitation comme la reconnaissance, l'accès aux identifiants, la persistance, les mouvements latéraux, l'injection de processus, la furtivité et l'effacement des preuves. » Le framework du malware est écrit en Zig, un langage de programmation relativement nouveau qui constitue une alternative au C et qui est un choix inhabituel pour le développement de malwares. Cependant, les développeurs ont aussi démontré leur maîtrise d'autres langages comme Go, C et des frameworks JavaScript comme React. Les chercheurs soulignent que VoidLink est beaucoup plus avancé que les logiciels malveillants Linux classiques, avec un composant central bien adapté qui gère l'état, la communication et l'exécution des tâches, et qui est fourni via un chargeur en deux étapes. Les opérateurs peuvent fournir du code supplémentaire à exécuter sous forme de plug-ins.
Reconnaissance et adaptabilité au cloud
Le logiciel malveillant est capable de détecter s'il est exécuté sur diverses plateformes cloud comme AWS, GCP, Azure, Alibaba et Tencent, et de commencer dans la foulée à exploiter les API de gestion de ces fournisseurs. Le code suggère que les développeurs prévoient d'ajouter à l'avenir des détections pour Huawei, DigitalOcean et Vultr. Le malware collecte de nombreuses informations sur la machine et l'environnement dans lesquels il s'exécute, notamment s'il s'agit d'un conteneur Docker ou d'un pod Kubernetes. Il peut ensuite exécuter des modules post-exploitation qui tentent d'élever les privilèges via des failles dans les conteneurs ou des mouvements latéraux vers d'autres conteneurs. « En fin de compte, l'objectif de cet implant semble être l'accès furtif à long terme, la surveillance et la collecte de données », ont avancé les chercheurs, ajoutant que les développeurs pourraient être la cible de la livraison initiale.
Un autre aspect intéressant est que le logiciel malveillant dispose d'un algorithme sophistiqué pour adapter ses opérations en fonction du niveau de sécurité de l'environnement. Il recherche les outils courants de détection et de réponse aux incidents (Endpoint and Detection Response, EDR) pour Linux et les technologies de renforcement du noyau, puis calcule un score de risque pour l'environnement qui sert ensuite à sélectionner une stratégie de contournement de la détection. Par ailleurs, il dispose de plusieurs composants rootkit avec des stratégies de déploiement pour différentes versions du noyau Linux et les déploie en fonction de l'environnement dans lequel il s'exécute. Ces modules rootkit masquent les processus, les fichiers et les sockets réseau du malware.
Le trafic C2 est masqué de plusieurs façons, notamment sous forme de données cryptées dans des fichiers PNG ou JS, HTML ou CSS, ce qui le rend difficile à détecter au niveau de la couche réseau. « VoidLink cherche à automatiser autant que possible la détection, en profilant un environnement et en choisissant la stratégie la plus appropriée pour y opérer », ont précisé les chercheurs. « Augmenté par des techniques de mode noyau et un vaste écosystème de plugins, VoidLink donne à ses opérateurs les capacités de se déplacer dans les environnements cloud et les écosystèmes de conteneurs avec une furtivité adaptative. » Bien que les malwares pour Linux soient moins courants et souvent moins sophistiqués que ceux destinés à Windows, VoidLink se distingue comme un framework unique et très performant. Même si les chercheurs se demandent si il est vraiment destiné aux cybercriminels ou s'il s'agit d'un futur framework commercial de tests d'intrusion, il illustre bien le type de menaces auxquelles les entreprises doivent se préparer dans leurs environnements cloud basés sur Linux.

Commentaire