Deux bibliothèques Python malveillantes prises en flagrant délit de vol de clés SSH et GPG

Deux bibliothèques Python malveillantes prises en flagrant délit de vol de clés SSH et GPG

L’équipe de sécurité Python a supprimé de PyPI (Python Package Index), deux bibliothèques Python considérées comme des chevaux de Troie, capables de voler des clés SSH et GPG aux projets de développeurs infectés.

Les deux bibliothèques ont été créées par le même développeur et imitent d’autres bibliothèques plus populaires – en utilisant une technique appelée typosquatting pour enregistrer des noms similaires.

Le premier est “python3-dateutil”, qui imite la bibliothèque populaire “dateutil“. Le second est “jeIlyfish” (le premier L est un I), qui imite la bibliothèque “Jellyfish“.

Les deux clones malveillants ont été découverts le dimanche 1er décembre par le développeur de logiciels allemand Lukas Martini. Les deux bibliothèques ont été supprimées le jour même après que Martini a averti les développeurs de dateutil et l’équipe de sécurité de PyPI.

Alors que python3-dateutil avait été créé et téléchargé sur PyPI deux jours auparavant, le 29 novembre, la bibliothèque jeIlyfish était disponible depuis près d’un an, depuis le 11 décembre 2018.

publicité

Voler des clés SSH et GPG

Selon Martini, le code malveillant n’était présent que dans la bibliothèque jeIlyfish. Le paquet python3-dateutil ne contenait pas de code malveillant, mais importait la bibliothèque jeIlyfish, ce qui signifie qu’il était malveillant par association.

Le code télécharge et lit une liste de hashs stockés dans un référentiel GitLab. La nature et le but de ces hashs étaient inconnus à l’origine, car ni Martini ni l’équipe PyPI n’étaient parvenus à expliquer le comportement en profondeur de la bibliothèque avant son retrait.

ZDNet a demandé aujourd’hui à Paul Ganssle, membre de l’équipe de développement de dateutil, d’examiner de plus près le code malveillant et de le mettre en perspective pour nos lecteurs.

“Le code directement dans la bibliothèque` jeIlyfish` télécharge un fichier appelé ‘hashsum’ dont la fonction n’est pas claire depuis un dépôt Gitlab, puis le décode dans un fichier Python et l’exécute, “a déclaré Ganssle à ZDNet.

“Il semble que [ce fichier] essaie d’exfiltrer les clés SSH et GPG à partir de l’ordinateur d’un utilisateur et les envoie à cette adresse IP: http://68.183.212.246:32258.”

“Il liste également de nombreux répertoires, répertoire de base, répertoire PyCharm Projects”, a ajouté Ganssle. “Si je devais deviner quel est le but de cela, je dirais que c’est pour déterminer les projets pour lesquels les identifiants fonctionnent, de sorte que l’attaquant puisse compromettre les projets de cette personne.”

Les développeurs ont conseillé d’examiner les projets Les deux bibliothèques malveillantes ont été uploadées sur PyPI par le même développeur, qui a utilisé le nom d’utilisateur olgired2017 – également utilisé pour le compte GitLab.

On pense qu’olgired2017 a créé le clone dateutil dans le but de tirer parti de la popularité de la bibliothèque d’origine et d’accroître la portée de son code malveillant. Cependant, cela a également attiré l’attention des développeurs et a fini par exposer toute son activité.

En excluant le code malveillant, les deux packages typosquattés étaient des copies identiques des bibliothèques d’origine, ce qui signifie qu’ils auraient fonctionné comme les originaux.

Les développeurs qui n’ont pas prêté attention aux bibliothèques qu’ils ont téléchargées ou importées dans leurs projets doivent vérifier s’ils ont utilisé les noms de packages corrects et s’ils n’ont pas utilisé accidentellement les versions typosquattées.

S’ils ont utilisé accidentellement l’une des deux, les développeurs sont invités à modifier toutes les clés SSH et GPG qu’ils ont utilisées au cours de la dernière année.

C’est la troisième fois que l’équipe PyPI intervient pour supprimer les bibliothèques Python malveillantes au typo-squatté du dépôt officiel. Des incidents similaires se sont produits en septembre 2017 (dix bibliothèques), en octobre 2018 (12 bibliothèques) et en juillet 2019 (trois bibliothèques).

Source : ZDNet.com

Leave a Reply

Discover more from Ultimatepocket

Subscribe now to keep reading and get access to the full archive.

Continue reading