Enterprise Access Model (1/2): Comment définir un Control Plane pour sécuriser l’administration Cloud et empêcher une compromission à grande échelle

Cet article est le premier d’une série de deux, traitant de l’implémentation de l’Enterprise Access Model un modèle d’administration propose par Microsoft pour sécuriser l’administration des environnements Cloud.  

Aujourd’hui, la plupart des entreprises utilisent le Cloud public pour héberger de nombreuses applications, répondant à tout type de besoin allant du commercial au fonctionnel. Bien que cela apporte des avantages, le Cloud introduit également de nouveaux paradigmes, qui doivent être clairement compris afin d’être sécurisés. 

Historiquement, les entreprises s’appuient sur un modèle à 3 tiers pour sécuriser les environnements Active Directory. Ce modèle segmente le réseau en trois niveaux distincts : le tiers 0 pour les systèmes et les données les plus sensibles, le tiers 1 pour l’administration des serveurs et le tiers 2 pour les postes de travail et les terminaux utilisateurs. Bien que ce modèle se soit avéré efficace dans les environnements on-premise, le passage à des infrastructures basées sur le Cloud nécessite une réévaluation de son applicabilité. 

Ce premier article se concentre sur une tendance récente et inquiétante : la compromission globale d’Entra ID, résultant de la compromission d’un compte du support. Une telle attaque peut avoir de graves répercussions, aux impacts finalement plus larges qu’une compromission d’un administrateur de domaine AD. Nous explorerons les mécanismes à l’origine de ces attaques, leurs implications et, surtout comment nous devrions nous protéger contre ce type d’élévation de privilèges et mettre en œuvre un modèle d’administration adapté au Cloud et sécurisé. 

 

Comprendre Entra ID, Active Directory, et les permissions Azure  

Comme le montre la figure 1, l’Active Directory et Entra ID (anciennement Azure Active Directory) sont deux services d’identité avec des propriétés structurelles et des protocoles IAM différents. Alors qu’Entra ID se concentre sur la gestion des identités et des accès dans les environnements Cloud et on-premise, en fournissant l’authentification et la gestion des utilisateurs, les permissions Azure s’attèlent à la gestion plus large de l’infrastructure et des services Cloud. Comprendre les distinctions et les interconnexions entre ces outils est essentiel pour maintenir une sécurité robuste et un contrôle d’accès efficace dans les environnements actuels d’entreprise. 

 

Figure 1: Différences clés entre Active Directory et Entra ID.

Figure 1: Différences clés entre Active Directory et Entra ID. 

 

Entre Active Directory, Entra ID et Azure, chacun gère son propre modèle de permissions : 

  • Active Directory utilise un modèle de permission unifié pour tous ses objets, des utilisateurs aux machines. 
  • Entra ID utilise le contrôle d’accès basé sur des rôles (RBAC : Role-Based Access Control) pour gérer les objets de son tenant (par exemple : les utilisateurs, les appareils, les applications). 
  • Azure Resource Manager (RM) utilise le RBAC pour gérer les ressources Azure 

Cependant, il existe un pont entre Entra ID et Azure RM grâce à la relation unique entre un tenant Entra ID et une organisation Azure : l’utilisateur Global Administrator d’Entra ID se voit attribuer par défaut le rôle User Access Administrator dans Azure. Par conséquent, il peut dès lors s’attribuer n’importe quelle permission sur le scope Azure.  

Bien qu’il existe un lien entre Azure et Entra ID, il est important de garder à l’esprit que les rôles dans Entra ID et Azure RM peuvent être attribués indépendamment l’un de l’autre. Par exemple, un utilisateur Entra ID standard avec des autorisations très limitées sur Entra ID peut détenir les privilèges les plus élevés dans Azure, ce qui constitue un point critique de vulnérabilité exploité dans les attaques. 

L’élévation de privilèges dans Entra ID peut entraîner une compromission importante d’Azure (y compris toutes les ressources et infrastructures), de Microsoft 365, des postes de travail, des serveurs Windows, des réseaux cloud, etc. 

Les rôles à plus haut privilège dans chacun de ces services sont : 

  • Entra ID: Global Administrator 
  • Azure RM: Owner (qui peut être restreint à un périmètre allant d’un Management Group jusqu’à une ressource) 

Ces différences significatives signifient que les concepts du modèle 3-tiers traditionnel de l’AD ne peuvent pas être appliqués directement aux environnements cloud. Nous devons repenser et adapter ces concepts pour nous assurer qu’ils sont pertinents et efficaces dans les contextes Clouds, notamment en répondant adéquatement aux exigences et aux risques spécifiques associés à ces environnements. 

 

Une compromission globale d’Entra ID bien réelle 

Pour se concentrer sur la compromission et l’élévation de privilèges de l’administration Cloud, quelques hypothèses initiales sont prises : 

  • L’entreprise victime utilise un tenant Entra ID comme fournisseur d’identité (Identity Provider = IdP). 
  • L’entreprise victime utilise Microsoft Intune pour gérer toute sa flotte de postes de travail. 
  • L’entreprise victime a un abonnement Azure (Azure subscription) pour supporter ses activités liées aux VDI (Virtual Desktop Infrastructures). 
  • Un compte du support a été compromis (on ne précise pas la source de l’attaque, mais il est important de noter qu’il s’agit d’un scenario très plausible pouvant être le résultat d’un hameçonnage, d’ingénierie sociale, ou encore d’une compromission du poste de travail, etc.) 

 

1 Compromission du compte du support 

  • A la suite de nos hypothèses, nous supposons donc que l’attaquant a pris le contrôle d’un compte du support, ayant la permission de réinitialiser des mots de passe utilisateurs ainsi que des MFA (Multi-Factor Authentication)  

 2 Première tentative: Réinitialisation du mot de passe du compte Global Administrator 

  • L’attaquant tente initialement de réinitialiser le compte Global Administrator, en cherchant le chemin le plus rapide pour devenir Global Administrator d’Entra ID.  
  • Cette action est bloquée par défaut par Microsoft. Le rôle Global Administrator est un privileged role, et seuls d’autres privileged roles spécifiques sont autorisés à réinitialiser son mot de passe ou à modifier ses attributs. Microsoft met à jour ici sa liste de privileged roles natifs à Entra ID. 

 3 Seconde tentative: Compromission d’un compte standard Entra ID 

  • L’attaquant étant restreint à la réinitialisation de mot de passe pour un utilisateur standard (non privileged), il identifie ensuite un utilisateur appelé « VDI Admin”, qui se trouve être Owner d’un abonnement Azure, utilisé pour héberger des services d’administration de postes de travail. 
  • Malgré la double authentification activée, l’attaquant parvient à réinitialiser à la fois le mot de passe et le mécanisme de MFA, gagnant accès à ce compte. 

4 Recherche de l’abonnement Azure 

  • Grâce à la compromission du compte « VDI Admin », l’attaquant se connecte en utilisant le mot de passe fraichement réinitialisé, et accède à l’abonnement Azure.  
  • En faisant un petit peu de reconnaissance, il découvre un Key Vault contenant des identifiants et mots de passe pour un compte de service. 
  • L’attaquant vérifie les permissions, et découvre que ce compte de service a le rôle « Intune Administrator » au niveau d’Entra ID. 

5 Utilisation des privilèges Intune Administrator 

  • L’attaquant se connecte en tant qu’Intune Administrator, obtenant des permissions liées à l’administration des postes de travail, y compris la possibilité d’exécuter des scripts sur n’importe lequel d’entre eux. 
  • Ils déploient un script sur le poste de travail du Global Administrator d’Entra ID, afin ensuite d’extraire les cookies d’authentification de son navigateur, et de pouvoir avoir accès à la console Azure. 

6 Compromission du compte Global Administrator

 

  • L’attaquant récupère les cookies d’authentification du Global Administrator et les utilise sur son propre poste de travail pour se faire passer pour ce dernier. 
  • Cela permet à l’attaquant de contrôler l’ensemble du tenant Entra ID, ce qui inclut la compromission du tenant Microsoft 365, des environnements Azure RM et de tous les autres outils cloud Microsoft reposant sur Entra ID. 

Figure 2: Chemin de compromission globale du Cloud Azure

Figure 2: Chemin de compromission globale du Cloud Azure 

 

En suivant ces étapes, l’attaquant, au-delà de sa capacité à compromettre l’ensemble de l’infrastructure cloud, peut profondément affecter les activités d’une entreprise par un accès non autorisé aux e-mails et aux documents SharePoint, aux sauvegardes, aux postes de travail et serveurs, et au réseau de l’entreprise. Cette attaque démontre l’importance cruciale de sécuriser les comptes à privilèges élevés qui disposent de permissions susceptibles de conduire à une compromission mondiale. 

Figure 3 Impact d’une compromission du Control Plane

Figure 3 Impact d’une compromission du Control Plane 

 

Comment prévenir ce type d’attaque: Implémenter l’Enterprise Access Model, et restreindre l’accès au Control Plane 

Comme nous l’avons vu dans la première partie, les annuaires Cloud, en particulier Entra ID, présentent des différences clés par rapport à un Active Directory. Par conséquent, le modèle traditionnel 3-Tiers doit être adapté pour être pleinement efficace dans les environnements cloud. Pour relever ces défis, Microsoft a introduit un nouveau modèle d’administration spécialement conçu pour les environnements cloud : l’Enterprise Access Model (EAM) 

Figure 4: L’Enterprise Access Model

Figure 4: L’Enterprise Access Model 

 

Bien qu’il y ait quelques modifications, le concept de base reste le même : les ressources sensibles doivent être isolées pour s’assurer qu’une compromission dans d’un plane (anciennement Tiers) n’entraîne pas une compromission d’un autre. Cela nous amène à une question cruciale : comment devrions-nous définir notre Control Plane au sein de notre système d’information pour l’isoler efficacement et atténuer les risques d’une compromission globale ? 

La réponse réside dans l’identification des composants systémiques de notre système d’information, c’est-à-dire ceux dont la compromission pourrait conduire à une compromission globale. Perdre un projet d’une entité métier est bien moins critique qu’une compromission globale de l’ensemble du Système d’Information. 

Dans notre environnement cloud, de nombreux composants interagissent pour supporter les projets, de l’infrastructure CI/CD et des pipelines de déploiement aux différents outils IAM (tels que les fournisseurs d’identité comme l’AD, Entra ID ou Okta, les outils d’IGA, etc.), ainsi que les outils de sécurité transverses (tels que l’EDR, le Bastion et les outils de MDM par exemple). Bien qu’il s’agisse de composants génériques probablement présents dans de nombreux systèmes, il existe également de nombreux composants spécifiques à l’environnement à prendre en compte. 

Ensuite, Nous devons évaluer l’impact de la compromission des comptes à privilèges élevés au sein de ces composants. Par exemple, si un attaquant prend le contrôle d’un compte à privilèges élevés au sein de l’infrastructure CI/CD, il pourrait potentiellement modifier les processus CI/CD et/ou exécuter un pipeline spécifique pour déployer des modifications non autorisées dans le cloud, ce qui lui permettrait d’obtenir un accès global. Par conséquent, ces comptes CI/CD à privilèges élevés doivent faire partie du Control Plane. De même, considérons la solution EDR : si un administrateur à privilèges élevés peut exécuter des scripts sur tous les postes de travail, potentiellement en volant des cookies d’authentification, en accédant à des données critiques ou en rendant tous les postes de travail inutilisables, alors ce compte à privilèges élevés doit également être inclus dans Control Plane. 

En définissant et en sécurisant soigneusement notre Control Plane, nous pouvons réduire considérablement le risque d’une compromission globale au sein de notre système d’information. 

 

Synthèse 

Comme nous l’avons vu, le risque de compromission globale dans un environnement Cloud est important. Si les environnements Clouds offrent une flexibilité, une résilience et une optimisation des coûts accrues, ils introduisent également de nouveaux paradigmes et méthodologies opérationnelles qui doivent être comprises et maîtrisés pour garantir la sécurité. 

Le modèle traditionnel 3-Tiers des environnements on-premise, en particulier de l’Active Directory, n’est pas adapté à l’organisation de l’administration dans le cloud. Pour remédier à ce problème, Microsoft a introduit l’Enterprise Access Model (EAM). Ce modèle étend les 3 niveaux en cinq planes distincts, le plus critique étant le Control Plane. Cependant, tout comme pour le modèle 3-Tiers, les mesures d’isolement sont cruciales dans l’EAM, nécessitant l’identification des composants critiques et des comptes à privilèges élevés au sein de votre système d’information. C’est la priorité absolue pour assurer la sécurité globale du cloud. 

Le prochain article de cette série fournira d’autres exemples concrets de scénarios d’attaque qui peuvent conduire à une compromission globale des environnements cloud. Il comprendra également des recommandations de sécurité pour améliorer l’administration du cloud et éviter que ces risques ne se transforment en incidents de sécurité. 

 

 

 

Merci à Louis CLAVERO pour sa contribution à cet article.

 

Laisser un commentaire

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

Back to top