Les Top.gg La communauté de robots Discord comptant plus de 170 000 membres a été touchée par une attaque de la chaîne d’approvisionnement visant à infecter les développeurs avec des logiciels malveillants qui volent des informations sensibles.

L’auteur de la menace a utilisé plusieurs tactiques, techniques et procédures (TTP) au fil des ans, notamment le détournement de comptes GitHub, la distribution de packages Python malveillants, l’utilisation d’une fausse infrastructure Python et l’ingénierie sociale.

L’une des victimes les plus récentes de l’attaquant est Top.gg, une plate-forme de recherche et de découverte populaire pour les serveurs Discord, les robots et d’autres outils sociaux axés sur les jeux, stimulant l’engagement et améliorant les fonctionnalités.

Les chercheurs de Checkmarx ont découvert la campagne et notent que l’objectif principal était très probablement le vol de données et la monétisation en vendant les informations volées.

Détournement top.gg compte mainteneur
Selon les chercheurs, l’activité de l’attaquant a commencé en novembre 2022, lorsqu’il a téléchargé pour la première fois des packages malveillants sur l’Index des packages Python (PyPI).

Dans les années qui ont suivi, d’autres paquets contenant des logiciels malveillants ont été téléchargés sur PyPI. Ceux-ci ressemblaient à des outils open source populaires avec des descriptions alléchantes qui les rendraient plus susceptibles de bien se classer dans les résultats des moteurs de recherche.

Le téléchargement le plus récent était un package nommé « yocolor » en mars de cette année.

Forfaits utilisés dans la campagne

Début 2024, les attaquants ont mis en place un faux miroir de paquets Python sur  » files[.] pypi hébergé[.] org,  » qui est une tentative de typosquattage pour imiter l’authentique « files.pythonhosted.org » où sont stockés les fichiers d’artefacts des packages PyPI.

Ce faux miroir a été utilisé pour héberger des versions empoisonnées de paquets légitimes, comme une version modifiée du populaire paquet « colorama », dans le but d’inciter les utilisateurs et les systèmes de développement à utiliser cette source malveillante.

Les paquets malveillants téléchargés sur PyPI ont servi de vecteur initial pour compromettre les systèmes. Une fois qu’un système a été compromis, ou si les attaquants ont détourné des comptes GitHub privilégiés, ils ont modifié les fichiers du projet pour pointer vers les dépendances hébergées sur le faux miroir.

Checkmarx met en évidence un cas de mars où les attaquants ont piraté le compte d’un top.gg mainteneur, « éditeur-syntaxe », qui disposait d’autorisations d’accès en écriture importantes sur les référentiels GitHub de la plate-forme.

Discussion sur Discord à propos du compte piraté

L’attaquant a utilisé le compte pour effectuer des validations malveillantes sur Top.gg le référentiel python-sdk, comme l’ajout d’une dépendance sur la version empoisonnée de « colorama » et le stockage d’autres référentiels malveillants, pour augmenter leur visibilité et leur crédibilité.

Commit malveillant pour modifier les exigences.fichier txt

Charge utile finale
Une fois que le code Python malveillant est exécuté, il active l’étape suivante en téléchargeant à partir d’un serveur distant un petit script de chargeur ou de compte-gouttes qui récupère la charge utile finale sous forme cryptée.

Le logiciel malveillant établit une persistance sur la machine compromise entre les redémarrages en modifiant le registre Windows.

Modification du registre pour la persistance

Les capacités de vol de données malveillantes peuvent être résumées comme suit:

  • Cible les données du navigateur dans Opera, Chrome, Brave, Vivaldi, Yandex et Edge pour voler les cookies, le remplissage automatique, l’historique de navigation, les signets, les détails de la carte de crédit et les identifiants de connexion.
  • Recherche des répertoires liés à Discord pour déchiffrer et voler des jetons Discord, obtenant potentiellement un accès non autorisé aux comptes.
  • Vole dans divers portefeuilles de crypto-monnaie en recherchant et en téléchargeant des fichiers de portefeuille au format ZIP sur le serveur de l’attaquant.
  • Tente de voler des données de session Telegram pour un accès non autorisé aux comptes et aux communications.
  • Inclut un composant de vol de fichiers ciblant les fichiers sur le Bureau, les Téléchargements, les Documents et les Fichiers récents en fonction de mots clés spécifiques.
  • Exploite Instagram tokens de session volés pour récupérer les détails du compte via l’API Instagram.
  • Capture les frappes au clavier et les enregistre, exposant potentiellement les mots de passe et les informations sensibles. Ces données sont téléchargées sur le serveur de l’attaquant.
  • Utilise des méthodes telles que des services de partage de fichiers anonymes (par exemple, GoFile, Anonfiles) et des requêtes HTTP avec des identifiants uniques (ID matériel, adresse IP) pour suivre et télécharger des données volées sur le serveur de l’attaquant.
Aperçu de l’attaque

Toutes les données volées sont envoyées au serveur de commande et de contrôle via des requêtes HTTP, portant des identifiants matériels uniques ou des adresses IP. En parallèle, il est téléchargé sur des services d’hébergement de fichiers comme Anonfiles et GoFile.

Le nombre d’utilisateurs touchés par cette campagne est inconnu, mais le rapport de Checkmarx met en évidence les risques de la chaîne d’approvisionnement open source et l’importance pour les développeurs de vérifier la sécurité de leurs blocs de construction.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *