Ils ont découvert 11 packages malveillants dans PyPI

Il y a quelques jours, il a été annoncé que 11 paquets contenant du code malveillant avaient été identifiés dans le répertoire PyPI (index des paquets Python).

Avant que les problèmes ne soient identifiés, les paquets avaient été téléchargés environ 38 000 fois au total , et il convient de noter que les paquets malveillants détectés se distinguent par leur utilisation de méthodes sophistiquées pour dissimuler les canaux de communication avec les serveurs des attaquants.

Les packages découverts sont les suivants :

  • paquet important (6305 téléchargements) e paquet-important (12897) : ces paquets établir une connexion à un serveur externe sous prétexte de se connecter à pypi.python.org pour fournir un accès shell au système (reverse shell) et utilisez le programme trevorc2 pour masquer le canal de communication.
  • test pp (10001) et tableaux (946): utilisé DNS comme canal de communication pour transférer des informations sur le système (dans le premier paquet, le nom d'hôte, le répertoire de travail, l'IP interne et externe, dans le second, le nom d'utilisateur et le nom d'hôte).
  • chouette lune (3285), DiscordSécurité (557) y fête yiff (1859) - Identifiez le jeton de service Discord sur le système et envoyez-le à un hôte externe.
  • trrfab (287) : Envoie l'identifiant, le nom d'hôte et le contenu de /etc/passwd, /etc/hosts, /home à un hôte externe.
  • 10cent10 (490) - Etablissement d'une connexion shell inversée à un hôte externe.
    yandex-yt (4183) : affiche un message sur le système compromis et redirigé vers une page contenant des informations supplémentaires sur des actions supplémentaires, émises via nda.ya.ru (api.ya.cc).

Il convient donc de mentionner qu'une attention particulière doit être portée à la méthode d'accès aux hôtes externes utilisée dans les paquets importantpackage et important-package, qui utilisent le réseau de distribution de contenu Fastly utilisé dans le catalogue PyPI pour masquer leur activité.

En effet, les requêtes ont été envoyées au serveur pypi.python.org (notamment en spécifiant le nom de python.org en SNI au sein de la requête HTTPS), mais le nom du serveur contrôlé par l'attaquant a été défini dans l'entête HTTP "Host ». Le réseau de diffusion de contenu a envoyé une requête similaire au serveur de l'attaquant, en utilisant les paramètres de la connexion TLS à pypi.python.org lors de la transmission de données.

L'infrastructure de PyPI repose sur le réseau de distribution de contenu Fastly, qui utilise le proxy transparent de Varnish pour mettre en cache les requêtes courantes et recourt au traitement des certificats TLS au niveau du CDN, plutôt qu'aux serveurs de points de terminaison, pour acheminer les requêtes HTTPS via le proxy. Quel que soit l'hôte de destination, les requêtes sont envoyées au proxy, qui identifie l'hôte souhaité grâce à l'en-tête HTTP « Host ». Les noms d'hôtes de domaine sont associés aux adresses IP des équilibreurs de charge CDN standard présents sur tous les clients Fastly.

Le serveur des attaquants est également enregistré auprès du CDN Fastly , qui propose des forfaits gratuits et autorise même l'inscription anonyme. Il est important de noter qu'un schéma similaire est utilisé pour envoyer des requêtes à la victime lors de la création d'un « shell inversé », mais initié par l'hôte de l'attaquant. De l'extérieur, l'interaction avec le serveur de l'attaquant apparaît comme une session légitime avec le répertoire PyPI, chiffrée avec le certificat TLS de PyPI. Une technique similaire, appelée « domain fronting », était auparavant utilisée pour masquer activement le nom d'hôte en contournant les blocages. Cela impliquait d'utiliser l'option HTTPS fournie par certains CDN, de spécifier l'hôte factice dans le SNI et de transmettre le nom d'hôte demandé dans l'en-tête HTTP Host au sein d'une session TLS.

Pour masquer l'activité malveillante, le package TrevorC2 a également été utilisé, ce qui rend l'interaction avec le serveur similaire à la navigation Web normale.

Les paquets pptest et ipboards utilisaient une approche différente pour masquer l'activité du réseau, basée sur le codage d'informations utiles dans les requêtes adressées au serveur DNS. Les logiciels malveillants transmettent des informations en effectuant des requêtes DNS, dans lesquelles les données transmises au serveur de commande et de contrôle sont codées au format base64 dans le nom de sous-domaine. Un attaquant accepte ces messages en contrôlant le serveur DNS du domaine.

Enfin, si vous souhaitez en savoir plus, vous trouverez les détails en suivant ce lien.


Ajouter comme source préférée dans Google