Breachtrace a récemment signalé comment une faille de GitHub, ou peut-être une décision de conception, est utilisée de manière abusive par des acteurs malveillants pour distribuer des logiciels malveillants à l’aide d’URL associées aux référentiels Microsoft, ce qui donne l’impression que les fichiers sont dignes de confiance.

Il s’avère maintenant que GitLab est également affecté par ce problème et pourrait être abusé de la même manière.

Alors que la plupart des activités associées aux logiciels malveillants étaient basées sur les URL GitHub de Microsoft, cette « faille » pouvait être utilisée de manière abusive avec n’importe quel référentiel public sur GitHub ou GitLab, permettant aux acteurs de la menace de créer des leurres très convaincants.

Les commentaires GitLab peuvent également être utilisés abusivement pour pousser des logiciels malveillants
Samedi, Breachtrace a rapporté comment les acteurs de la menace ont abusé des commentaires GitHub pour pousser des logiciels malveillants tout en donnant l’impression que les fichiers malveillants étaient hébergés sur des dépôts de code source officiels d’organisations crédibles.

Les URL suivantes, par exemple, qui ont été utilisées dans l’attaque ont donné l’impression que ces ZIPs étaient présents sur le référentiel de code source de Microsoft:

https://github[.]com/microsoft/vcpkg/files/14125503/Cheat.Lab.2.7.2.zip
https://github[.]com/microsoft/STL/files/14432565/Cheater.Pro.1.6.0.zip

Suite à notre enquête, cependant, nous avons appris que ces fichiers-qui sont des logiciels malveillants, étaient introuvables sur le référentiel de code de Microsoft.

Au contraire, ceux-ci existaient sur le CDN de GitHub et ont probablement été téléchargés par un acteur menaçant qui a abusé de la fonction « commentaires » de la plate-forme.

Lorsqu’il laisse un commentaire sur un commit ou une pull request, un utilisateur de GitHub peut joindre un fichier( archives, documents, etc.), qui sera téléchargé sur le CDN de GitHub et associé au projet associé en utilisant une URL unique dans ce format:

https://www.github.com/{project_user}/{repo_name}/files/{file_id}/{file_name}.

Pour les vidéos et les images, les fichiers seront stockés sous le chemin /assets/ à la place.

Au lieu de générer l’URL après la publication d’un commentaire, GitHub génère automatiquement le lien de téléchargement après avoir ajouté le fichier à un commentaire non enregistré, comme illustré ci-dessous. Cela permet aux auteurs de menaces d’attacher leurs logiciels malveillants à n’importe quel référentiel à leur insu.

Lien de téléchargement généré automatiquement lors de l’ajout d’un fichier à un commentaire

Même si le commentaire n’est jamais réellement publié ou supprimé ultérieurement par l’utilisateur (ou un attaquant), le lien vers le fichier reste actif.

Sergei Frank off, du service d’analyse automatisée des logiciels malveillants UNPACKME, avait diffusé en direct ce bogue le mois dernier, affirmant que les acteurs de la menace en abusaient activement.

Peu de temps après notre reportage, les lecteurs ont souligné que GitLab n’était pas non plus à l’abri de ce problème.

Breachtrace peut confirmer que les utilisateurs peuvent effectivement abuser de la fonctionnalité « commentaires » sur GitLab de la même manière.

Lors de nos tests, nous avons pu télécharger des fichiers qui seraient téléchargés sur le CDN de GitLab, mais qui semblaient exister avec les dépôts GitLab de projets open source populaires comme Inkscape et Wireshark:

https://gitlab[.]com/inkscape/inkscape/uploads/edfdbc997689255568a7c81db3f3dc51/InkScape-2024-Latest.exe
https://gitlab[.]com/wireshark/wireshark/uploads/b4162053fbb4dc6ee4f673c532009e16/WireShark-v4.2.4-stable-release.exe

Le fichier utilisé dans notre test est une image JPG bénigne, renommée en.exe pour démontrer comment, en abusant de cette fonctionnalité, les acteurs de la menace peuvent induire les utilisateurs en erreur en téléchargeant des versions logicielles contrefaites contenant des logiciels malveillants.

Le format suivi par ces fichiers téléchargés sur GitLab CDN est:

https://gitlab.com/{project_group_namr}/{repo_name}/uploads/{file_id}/{file_name}

Le file_id ressemble ici à un hachage MD4 ou MD5 par opposition à un identifiant numérique plus simple.

Lien de téléchargement généré automatiquement lors de l’ajout d’un fichier à un commentaire GitLab

Tout comme avec GitHub, les liens de fichiers GitLab générés resteraient actifs même si le commentaire n’était jamais publié par l’attaquant ou supprimé ultérieurement.

GitLab invite les utilisateurs à se connecter avant de pouvoir télécharger ou télécharger ces fichiers, mais cela n’empêche en rien les acteurs de la menace de télécharger ces fichiers en premier lieu.

Étant donné que pratiquement toutes les entreprises de logiciels utilisent GitHub ou GitLab, cette faille permet aux acteurs de la menace de développer des leurres extraordinairement astucieux et dignes de confiance.

Par exemple, un acteur malveillant pourrait télécharger un exécutable malveillant dans le référentiel d’installation de pilotes de NVIDIA qui prétend être un nouveau pilote corrigeant des problèmes dans un jeu populaire. Ou un acteur malveillant pourrait télécharger un fichier dans un commentaire sur le code source de Google Chromium et prétendre qu’il s’agit d’une nouvelle version de test du navigateur Web.

Ces URL sembleraient également appartenir aux référentiels de l’entreprise, ce qui les rendrait beaucoup plus fiables.

Malheureusement, même si une entreprise apprend que ses dépôts sont utilisés abusivement pour distribuer des logiciels malveillants, nous n’avons trouvé aucun paramètre lui permettant de gérer ou de supprimer les fichiers joints à ses projets.

Breachtrace a contacté GitHub et Microsoft le jeudi 18 avril à propos de cet abus mais n’a pas reçu de réponse. Nous avons également contacté GitLab pour commentaires avant la publication et attendons une réponse.

Laisser un commentaire

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