Un module malveillant dans Go qui passe par golang.org / x / crypto vole des mots de passe et déplie une porte arrière dans Linux

Publié 5 min de lectura 126 lecture

Ces dernières semaines, la communauté de la sécurité a donné l'alarme pour une campagne qui exploite la confiance dans la chaîne d'approvisionnement de l'écosystème Go. Des chercheurs ont identifié un module malveillant hébergé à GitHub qui incarne la librairie officiellegolang.org / x / cryptoet qui introduit un code pour capturer les mots de passe, ouvrir l'accès persistant par SSH et enfin déployer une porte arrière sur les systèmes Linux.

Le dépôt détecté, situé dans github.com / xinfeisoft / crypto et encore visible en L'annexe I est modifiée comme suit:, profiter de la confusion entre les noms d'espace et la pratique habituelle de traiter GitHub comme un miroir des sous-répertoires de Go. Selon l'équipe de Socket, l'acteur malveillant exploite précisément cette ambiguïté de sorte que la dépendance semble légitime dans les graphiques unitaires et passe inaperçu dans les revues de surface; vous pouvez lire l'analyse complète sur le blog Socket Voilà..

Un module malveillant dans Go qui passe par golang.org / x / crypto vole des mots de passe et déplie une porte arrière dans Linux
Image générée avec IA.

Ce qui rend le code malveillant simple et particulièrement dangereux : il modifie le fichier équivalent à l'implémentation du terminal pour la fonction qui lit les mots de passe en mode caché. Chaque fois qu'une application invoque cette routine pour demander des entrées sensibles, le module l'intercepte de l'utilisateur et l'envoie à un serveur contrôlé par l'attaquant. Cette information n'est pas laissée dans le dépôt : le module reçoit alors d'une ressource externe un script shell qui agit comme une étape d'intrusion initiale.

Ce script téléchargé fonctionne comme un gestionnaire typique: ajoutez la touche SSH de l'attaquant au fichier d'autorisation de l'utilisateur (par exemple, / accueil / ubuntu / .ssh / autorisé _ clés), essayez de détendre les politiques de pare-feu pour faciliter les communications entrantes et télécharger des charges supplémentaires déguisées avec l'extension .mp5. Une telle charge semble être un petit programme d'assistance qui vérifie la connectivité et tente de parler à un serveur distant dans la direction de 154.84.63.184 à travers le port TCP 443; son comportement correspond à celui d'un composant de reconnaissance ou d'un chargeur qui prépare le sol pour les phases ultérieures.

Le second fardeau est particulièrement inquiétant : c'est Rekoobe, un cheval de Troie pour Linux connu depuis des années. Il y a des dossiers publics et des analyses qui documentent la présence de Rekoobe depuis au moins 2015, et les publications techniques ont détaillé comment ce backdoor vous permet d'exécuter des commandes à distance, télécharger de nouveaux binaires, voler des fichiers et définir des shells inverses. Plusieurs rapports ont lié leurs variantes à des groupes liés aux opérations d'espionnage, y compris les acteurs motivés par l'État; vous pouvez consulter la recherche sur Rekoobe dans des sources telles que Dr Web, Intelligent analyse technique TechEvo.

Ce cas illustre deux vecteurs dangereux combinés: d'une part le remplacement d'un module de grande valeur - un qui réside à un point critique comme la lecture des mots de passe dans la console - et d'autre part l'utilisation de l'hébergement dynamique (raw.githubusercontent.com et ressources externes) comme mécanisme de rotation pour une infrastructure malveillante. Selon les chercheurs, ce modèle est bon marché à mettre en œuvre pour les attaquants et avec un impact élevé, de sorte que nous sommes susceptibles de voir des imitations qui pointent vers d'autres bibliothèques responsables du traitement des références: SSH auxiliaires, CLI invite à l'authentification ou des connecteurs de base de données, entre autres.

Un module malveillant dans Go qui passe par golang.org / x / crypto vole des mots de passe et déplie une porte arrière dans Linux
Image générée avec IA.

La communauté et les utilisateurs de l'écosystème Go ont réagi en bloquant le paquet malveillant aux points de contrôle connus, mais l'incident sert de rappel : la simple présence d'un module dans un index public ne garantit pas son intégrité. Les unités transitoires peuvent combler des lacunes critiques, et les équipes doivent supposer que toute interface qui touche les secrets mérite une protection supplémentaire.

Pour les développeurs et les responsables de la sécurité, cela implique, entre autres, de valider et de définir des versions d'unité, d'examiner attentivement les changements dans les modules tiers qui interagissent avec les identifiants, en utilisant des procurations et des mécanismes de vérification de la somme (go.sum) et de surveiller les alertes de sécurité sur les paquets personnifiés. Il est également important de vérifier les canaux d'approvisionnement externes (scripts téléchargés par curl) 124; sh, contenus dans rough.githubusercontent.com, etc.) et de réduire la confiance dans les téléchargements non signés et non vérifiés.

Bref, l'épisode est un appel pour renforcer les pratiques d'hygiène dans la chaîne d'approvisionnement des logiciels: quand une librairie touche le bord où les secrets sont traités, une petite modification malveillante peut rapidement devenir une intrusion complète. Les publications des équipes de recherche et les répertoires qui documentent ces campagnes sont des ressources précieuses pour comprendre la technique et mieux préparer; consulter le rapport Socket pour obtenir des détails techniques et des exemples de la manière dont la campagne a été menée. Voilà., et l'analyse sur Rekoobe si vous voulez approfondir les capacités de la porte arrière dans le champ dans les liens précédents.

Couverture

Autres

Plus de nouvelles sur le même sujet.