Ajouter un commentaire

Par :
Ali Mokhtari

mer, 16/03/2022 - 13:46

Pendant de nombreuses années, les cyber assaillants se sont appuyés sur des outils d’accès à distance légitimes (RAT) pour inciter les utilisateurs finaux à les installer et prendre ensuite le contrôle total de leurs ordinateurs personnels.  Aujourd’hui, dans les environnements cloud natifs, les attaquants ciblent non seulement les outils d’interface utilisateur (UI) pour accéder aux instances Docker et Kubernetes mais déploient également des UI pour mieux comprendre et exploiter les systèmes qu’ils souhaitent cibler. Alors comment des outils d’interface utilisateur mal configurés peuvent constituer une voie d’accès ainsi qu’un moyen de contrôle des environnements cloud natifs et quelles sont les techniques utilisées par les acteurs de la menace ?

Il y a un an, le groupe de pirates TeamTNT utilisait les outils UI Scope pour faciliter leur pénétration dans les environnements Docker et Kubernetes. Depuis, ce phénomène s’est accentué, les pirates ayant développé diverses techniques avancées d’exploitation de ces outils.

Outils d’interface utilisateur Kubernetes

Conçues pour offrir une visibilité sur le cluster, les applications considérées comme des outils d’interface utilisateur Kubernetes sont par exemple cAdvisor et Kubernetes Operational View. L’équipe de sécurité Nautilus d’Aqua s’est concentrée cependant sur l’analyse des trois principaux outils capables de fournir un accès et du contrôle sur les environnements Kubernetes et qui, s’ils sont exploités par des personnes mal intentionnées, peuvent causer beaucoup de dommages.  Weave Scope, outil de visualisation et de monitoring permettant un accès temps réel aux applications et à l’infrastructure et qui offre la capacité de visualiser les journaux de logs et de diagnostiquer les dysfonctionnements.  Il est utilisé aussi pour gérer les conteneurs Docker, avec des opérations de démarrage, pause, arrêt et redémarrage des conteneurs, ainsi que le lancement de lignes de commande.  Kubernetes Dashboard, une interface utilisateur Web officielle conçue pour Kubernetes capable d’afficher l’ensemble des workloads en cours d’exécution dans le cluster. Elle comprend également des fonctionnalités permettant de contrôler et de modifier les charges de travail et d’afficher les journaux d’activité des pods de conteneurs. Enfin, Octant, une interface web open-source qui permet d’inspecter un cluster Kubernetes et ses applications et offre une visibilité sur les clusters, ainsi que sur le débogage, le streaming des logs de conteneurs et de l’interaction via une interface de ligne de commande.

Comment les cyber assaillants utilisent-ils les outils d’interface utilisateur ?

L’équipe Nautilus a examiné les erreurs de configuration dans ces trois outils partant du principe que certains de ces tableaux de bord ont été définis comme des honeypots par les chercheurs en sécurité c’est à-dire conçues pour attirer des adversaires déclarés ou potentiels afin de les identifier et éventuellement de les neutraliser. Les interfaces utilisateur exposées présentaient des signes d’environnements réels, et quelques-unes étaient activement exploitées par des cyber assaillants.

Pour identifier les tableaux de bord de Weave Scope, l’équipe a utilisé le moteur de recherche Shodan, outil efficace pour repérer les périphériques vulnérables connectés à Internet obtenant après recherche 58 résultats. Après élimination des résultats non pertinents ainsi que des tableaux de bord protégés par mot de passe, l’équipe a identifié 10 tableaux de bord exposés sur Internet, offrant chacun une visibilité complète sur un environnement Kubernetes. En outre, l’interface utilisateur affichait le trafic entrant et sortant, facilitant la détection des communications malveillantes, comme par exemple, la communication du malware Tsunami avec son serveur via le protocole IRC.


Weave Scope affiche également le processus derrière cette communication – le modus operandi de TeamTNT.  Comme indiqué dans l’image ci-dessous, les attaquants exécutent un massscan en complément d’autres applications exécutées sur l’hôte. Weave Scope est en mesure d’identifier ce que l'hôte sous-jacent peut manquer puisque l'acteur de la menace utilise un rootkit pour dissimuler une utilisation élevée du CPU et d’importantes activités de scan.

Après avoir nettoyé ces résultats, Aqua a trouvé 27 tableaux de bord sans authentification utilisateur, exposant ainsi l’environnement à une compromission potentielle. Comme indiqué dans l’image ci-dessous, le tableau de bord exposé offre à un attaquant une visibilité complète sur l’environnement Kubernetes :

Comme indiqué dans les images, les attaquants peuvent ouvrir un shell dans un pod de conteneurs en cours d’exécution et les démarrer tout en modifiant les déploiements.

Le tableau de bord Kubernetes contient également le nom de secrets facilement accessibles.

D’autres vecteurs de compromission comme la modification des paramètres et l’obtention de volumes de stockage sont également possibles – ce vecteur d’attaque n’étant pas nouveau. Par le passé, des entreprises comme Tesla ont été attaquées via un tableau de bord Kubernetes mal configuré.

L’équipe Nautilus a ensuite étudié les tableaux de bord Octant et a trouvé 9 résultats. Après l’élimination des résultats non pertinents et des tableaux de bord protégés par mot de passe, quatre tableaux de bord ne demandaient pas d’authentification utilisateur et laissaient l’environnement exposé à une exploitation malveillante. Cependant, dans ce cas, tous étaient des honeypots. Cela dit, voici comment un cyber assaillant aurait pu procéder avec un tableau de bord Octant exposé. Comme on peut le voir sur l’image ci-dessous, le tableau de bord Octant offre une visibilité complète sur l’environnement Kubernetes.

Les attaquants peuvent ouvrir un shell dans un pod de conteneurs en cours d’exécution, les démarrer et modifier les déploiements.

Octant contient également le nom de secrets facilement accessibles.

 

Selon Nautilus, lorsqu’ils sont utilisés dans le cadre des services Kubernetes managés, ces outils d’interface utilisateur sont définis sans erreur de configuration. Par conséquent, ces instances mal configurées ont été créées manuellement et sont donc liées à une erreur humaine ou à un manque de connaissances.

Gestion des risques et bonnes pratiques

Le renforcement allié à la bonne configuration des services cloud peuvent réduire considérablement la surface d’attaque et bloquer les attaques visant les clusters Kubernetes mal configurés.  Pour se protéger, les organisations doivent donc suivre les meilleures pratiques de sécurité pour Kubernetes.

Tout d’abord, ne pas exécuter d’outils d’administration, tels que Scope dans le domaine public mais les configurer à partir de l’hôte local. En outre, exécuter des outils tels que Scope en mode lecture seule et ne pas accorder d’autorisations administrateur.

Enfin, l’équipe Nautilus conseille fortement de créer une « liste d’autorisation » pour les images qui ont été testées, vérifiées et certifiées conformes – sans malware ni vulnérabilités. Si une équipe n’utilise plus les outils UI Kubernetes, il est préférable de les désactiver durant le temps d’exécution. Les tableaux de bord sont utiles pour donner aux développeurs de la visibilité sur leurs clusters. Cependant, un outil mal configuré peut exposer l’organisation à de graves compromissions, donnant aux cyber assaillants le contrôle total sur un environnement de conteneur. La variété des techniques malveillantes utilisées démontre à quel point ce vecteur d’attaque est devenu populaire.

A propos de l'auteur

Ali Mokhtari
Solution Architect at Aqua Security

Filtered HTML

Plain text

CAPTCHA
Cette question permet de vérifier que vous n'êtes pas un robot spammeur :-)
     J  V     V  DDD    CCC   QQQ   
J V V D D C Q Q
J V V D D C Q Q
J J V V D D C Q QQ
JJJ V DDD CCC QQQQ
Q