Skip to content
Rejoignez Censys le 10 septembre 2024 pour notre atelier sur la chasse aux menaces à San Francisco, CA | Inscrivez-vous maintenant
Blogs

GoCD Prise de contrôle non authentifiée

Introduction

Le 27 octobre, un ingénieur de SonarSource a constaté qu'une modification apportée en 2018 au code du système d'intégration continue GoCD a complètement supprimé la logique d'authentification pour les requêtes entrantes destinées au répertoire des addons du service. Il semble également que plusieurs addons, qui sont installés et activés par défaut, présentaient des bugs propres. Combiné avec la logique d'authentification supprimée, cela pourrait permettre à un attaquant de réaliser une exécution de code à distance (RCE) avec peu ou pas de compétences.

Quel est le problème ?

Censys a découvert que 458 hôtes exécutaient 592 services GoCD orientés vers l'internet en utilisant cette simple recherche sur Censys . Vous trouverez ci-dessous une ventilation des versions de GoCD que Censys a pu trouver en cours d'exécution sur l'internet public. Les versions vulnérables sont indiquées en rouge.

Ces types de systèmes sont utilisés dans le domaine de l'ingénierie logicielle pour surveiller et construire et tester automatiquement des logiciels. Ces systèmes de construction compilent, testent, exécutent et, dans certains cas, déploient des logiciels pour une utilisation en production. De ce fait, le logiciel serveur qui exécute ces pipelines a également un accès complet au code et aux environnements de développement d'une entreprise, où un acteur malveillant pourrait commencer à introduire un code malveillant dans le cycle de construction. Cette méthode d'attaque est souvent appelée "attaque de la chaîne d'approvisionnement", où les attaquants ciblent des systèmes automatisés essentiels au fonctionnement d'une entreprise ; il n'y a rien de plus dangereux qu'un maillon faible de cette chaîne ayant un accès au niveau de la source (et la capacité de manipuler une compilation) à une base de code.

Pourquoi est-ce important ?

De nombreux composants critiques d'une organisation dépendent des processus de construction des équipes de développement logiciel. Les faiblesses dans ces domaines peuvent entraîner un effet domino de dispositifs et de services compromis où tout composant construit sur un système de CI peut potentiellement être infecté par un code malveillant.

L'attaque décrite par SonarSource étant exceptionnellement triviale à exécuter, les administrateurs doivent immédiatement mettre à jour les installations de ce service. Actuellement, il existe trois chemins d'exploitation connus, tous issus d'un addon appelé "Business Continuity" :

Chemin d'accès Description
/add-on/business-continuity/api/plugin possède un argument contrôlable par l'utilisateur appelé "pluginName", qui ne nettoie pas correctement l'entrée, ce qui permet à un attaquant de lire n'importe quel fichier sur le système. (Capture d'écran de l'attaque ci-dessus).
/add-on/business-continuity/api/cruise_config permet à un attaquant de récupérer l'intégralité du fichier de configuration du service GoCD, y compris toutes les variables d'environnement associées utilisées lors du démarrage. L'un des éléments de configuration les plus dangereux qu'un attaquant peut trouver dans ce fichier est la clé `agentAutoRegisterKey`, qui est utilisée pour mettre en scène de nouveaux agents de construction GoCD (potentiellement en injectant des éléments malveillants dans la construction finale) sans aucune authentification.
/add-on/business-continuity/api/cipher.aes Permet à l'attaquant de télécharger la clé de chiffrement privée utilisée pour chiffrer les données sensibles sur l'hôte (comme les jetons d'accès et les mots de passe renvoyés par le point de terminaison cruise_config).

Que dois-je faire ?

  • Mise à jour vers la version 21.3.0 du GoCD
  • Censys Les clients d' ASM ont été informés par courriel si des biens leur appartenant ont été identifiés comme vulnérables. Les utilisateurs peuvent maintenant trouver un risque ASM pour cette attaque sur le tableau de bord principal.
  • Utilisez Censys Search pour vérifier si l'un de vos hôtes utilise une version vulnérable du service.

A propos de l'auteur

Mark Ellzey
Chercheur principal en sécurité Tous les postes de Mark Ellzey
Mark Ellzey est chercheur principal en sécurité à l'adresse Censys. Avant d'occuper son poste actuel, Mark a travaillé pendant plus de 22 ans en tant qu'ingénieur en sécurité des réseaux et développeur de logiciels pour plusieurs fournisseurs de services Internet et institutions financières.
Solutions de gestion de la surface d'attaque
En savoir plus