Un package Go malveillant exploite la mise en cache du miroir du module pour un accès à distance persistant

Un package Go malveillant exploite la mise en cache du miroir du module pour un accès à distance persistant

Des chercheurs en cybersécurité ont attiré l’attention sur une attaque de la chaîne d’approvisionnement de logiciels ciblant l’écosystème Go et impliquant un package malveillant capable d’accorder à l’adversaire un accès à distance aux systèmes infectés.

Le paquet, nommé github.com/boltdb-go/bolt , est un typosquat du module de base de données légitime BoltDB ( github.com/boltdb/bolt ), par Socket. La version malveillante (1.3.1) a été publiée sur GitHub en novembre 2021, après quoi elle a été mise en cache indéfiniment par le service Go Module Mirror .

« Une fois installé, le package backdoor accorde à l’acteur de la menace un accès à distance au système infecté, lui permettant d’exécuter des commandes arbitraires », a déclaré le chercheur en sécurité Kirill Boychenko dans une analyse.

Socket a déclaré que ce développement marque l’un des premiers cas où un acteur malveillant a abusé de la mise en cache indéfinie des modules du Go Module Mirror pour inciter les utilisateurs à télécharger le package. Par la suite, l’attaquant aurait modifié les balises Git dans le référentiel source afin de les rediriger vers la version bénigne.

Dans une déclaration partagée avec The Hacker News, la société a souligné que le changement a été effectué dans le référentiel GitHub, qui était une version bifurquée de l’outil légitime BoltDB, où l’acteur de la menace a réécrit la balise Git pour la v1.3.1 pour pointer vers un commit propre au lieu de la version malveillante d’origine.

« Cela est possible parce que les balises Git sont modifiables à moins d’être explicitement protégées », a déclaré Socket. « Le propriétaire d’un référentiel peut supprimer et réaffecter une balise à un autre commit à tout moment. Cependant, le proxy du module Go avait déjà mis en cache la version malveillante d’origine, qui n’a jamais été mise à jour ou supprimée du proxy, ce qui a permis à l’attaque de persister. »

Cette approche trompeuse garantissait qu’un audit manuel du référentiel GitHub ne révélait aucun contenu malveillant, tandis que le mécanisme de mise en cache signifiait que les développeurs sans méfiance installant le package à l’aide de la CLI go continuaient à télécharger la variante de porte dérobée.

« Une fois qu’une version de module est mise en cache, elle reste accessible via le proxy du module Go, même si la source d’origine est modifiée ultérieurement », a déclaré Boychenko. « Bien que cette conception soit avantageuse pour les cas d’utilisation légitimes, l’acteur malveillant l’a exploitée pour distribuer de manière persistante du code malveillant malgré les modifications ultérieures apportées au référentiel. »

« Les modules immuables offrant à la fois des avantages en matière de sécurité et des vecteurs d’abus potentiels, les développeurs et les équipes de sécurité doivent surveiller les attaques qui exploitent les versions de modules mises en cache pour échapper à la détection. »

Le développement intervient alors que Cycode a détaillé trois packages npm malveillants – serve-static-corell, openssl-node et next-refresh-token – qui hébergeaient du code obscurci pour collecter des métadonnées système et exécuter des commandes arbitraires émises par un serveur distant (« 8.152.163[.]60 ») sur l’hôte infecté.

 

SOURCE: https://thehackernews.com/

Post Your Comment

Abonnez-vous à notre newsletter

En vous abonnant à notre newsletter, vous serez toujours informé des dernières actualités, offres exclusives et conseils personnalisés, directement dans votre boîte de réception.