Code malveillant détecté dans rest-client et 10 autres packages Ruby

Dans un paquet de pierres précieuses populaire repos-client, avec un total de 113 millions de téléchargements, identifié Substitution de code malveillant (CVE-2019-15224) qui télécharge des commandes exécutables et envoie des informations à un hôte externe. L'attaque a été menée à travers compromis compte développeur rest-client dans le référentiel rubygems.org, après quoi les attaquants ont publié les versions 13-14 les 1.6.10 et 1.6.13 août, qui incluaient des modifications malveillantes. Avant que les versions malveillantes ne soient bloquées, environ un millier d'utilisateurs ont réussi à les télécharger (les attaquants ont publié des mises à jour d'anciennes versions afin de ne pas attirer l'attention).

Le changement malveillant remplace la méthode "#authenticate" dans la classe
Identité, après quoi chaque appel de méthode entraîne l'envoi de l'e-mail et du mot de passe envoyés lors de la tentative d'authentification à l'hôte des attaquants. De cette façon, les paramètres de connexion des utilisateurs du service utilisant la classe Identity et installant une version vulnérable de la bibliothèque rest-client sont interceptés, ce qui apparaît en tant que dépendance dans de nombreux packages Ruby populaires, notamment ast (64 millions de téléchargements), oauth (32 millions), fastlane (18 millions) et kubeclient (3.7 millions).

De plus, une porte dérobée a été ajoutée au code, permettant d'exécuter du code Ruby arbitraire via la fonction eval. Le code est transmis via un Cookie certifié par la clé de l'attaquant. Pour informer les attaquants de l'installation d'un package malveillant sur un hôte externe, l'URL du système de la victime et une sélection d'informations sur l'environnement, telles que les mots de passe enregistrés pour le SGBD et les services cloud, sont envoyées. Des tentatives de téléchargement de scripts pour l’extraction de cryptomonnaies ont été enregistrées à l’aide du code malveillant mentionné ci-dessus.

Après avoir étudié le code malveillant, il s'est avéré identifiéque des changements similaires sont présents dans 10 paquets dans Ruby Gems, qui n'ont pas été capturés, mais ont été spécialement préparés par des attaquants basés sur d'autres bibliothèques populaires portant des noms similaires, dans lesquelles le tiret a été remplacé par un trait de soulignement ou vice versa (par exemple, basé sur analyseur cron un package malveillant cron_parser a été créé et basé sur doge_coin paquet malveillant doge-coin). Paquets de problèmes :

Le premier paquet malveillant de cette liste a été publié le 12 mai, mais la plupart d'entre eux sont apparus en juillet. Au total, ces packages ont été téléchargés environ 2500 XNUMX fois.

Source: opennet.ru

Ajouter un commentaire