Jonathan Elkabas et Tomer Nahum

EntraGoat est un laboratoire délibérément vulnérable qui simule des erreurs de configuration de l'identité dans Microsoft Entra ID.

Que vous soyez un membre de l'équipe rouge, de l'équipe bleue ou simplement curieux des attaques d'identité, ce guide vous expliquera comment configurer EntraGoat, lancer votre premier défi et commencer à capturer des drapeaux comme un pro.

Qu'est-ce qu'EntraGoat ?

Imaginez un terrain de jeu où vous pouvez.. :

  • Transférer un utilisateur à l'administrateur général
  • Chaîner les autorisations via l'API graphique
  • Abuser d'applications et de principes de service mal configurés
  • Activer les rôles privilégiés pour réinitialiser le MFA de l'administrateur général
  • Simuler des attaques sans mettre en danger les environnements de production

C'est exactement ce que propose EntraGoat : une plateforme de type CTF pour l'apprentissage de l'exploitation de l'identité dans le nuage(figure 1).

Figure 1. Le tableau de bord d'EntraGoat montre la progression de votre défi.

Démarrer avec EntraGoat : ce dont vous avez besoin

Avant de nous salir les sabots, voici ce dont vous avez besoin :

  • Un locataire Microsoft Entra ID de test(la version d'essai E5 fonctionne très bien)
  • Privilèges d'administrateur global dans ce locataire
  • Node.js + npm installé
  • PowerShell 7+
  • Microsoft Graph PowerShell SDK(Figure 2)
Figure 2. Installation de Graph avec PowerShell

Étape 1 : Cloner et lancer le laboratoire

Ouvrez votre terminal et exécutez le script présenté à la figure 3 .

Figure 3. Clonage du laboratoire EntraGoat

Ouvrez ensuite votre navigateur à l'adresse suivante : http://localhost:3000

Comme le montre la figure 4 , chaque défi est accompagné d'une histoire, de références, de conseils et d'un endroit où soumettre le drapeau.

Figure 4. Cadre du défi EntraGoat

Étape 2 : Lancer votre premier défi

Une fois que le tableau de bord d'EntraGoat est en ligne à http://localhost:3000, vous pouvez lancer n'importe quel scénario en utilisant l'une des deux méthodes suivantes.

Option 1 : Téléchargement et déploiement via l'interface web

  1. Dans le tableau de bord, cliquez sur un défi (par exemple, Scénario 1 : Mal connu et dangereux).
  2. Dans le cadre de la Vue du déficliquez :
    • Voir le script d'installation -> Télécharger le script d'installation
    • Voir le script de nettoyage -> Télécharger le script de nettoyage (optionnel)
  3. Exécutez le script PowerShell téléchargé à partir de votre terminal

Chaque page de défi vous permet de télécharger directement des scripts d'installation et de nettoyage(Figure 5).

Figure 5. Script d'installation d'EntraGoat

Une fois que vous avez téléchargé le script d'installation, exécutez le scénario à l'aide de la commande setup(Figure 6).

Figure 6. Exécution du scénario 1 à partir de l'interface graphique

Option 2 : Exécuter directement à partir du dossier Scénarios

Si vous avez cloné le dépôt localement, vous pouvez éviter le téléchargement et exécuter les scripts directement depuis le terminal(Figure 7).

Figure 7. Exécution du scénario 1 à partir du terminal

L'une ou l'autre méthode crée le même environnement. Utilisez ce qui correspond à votre flux de travail, interface graphique d'abord ou terminal uniquement.

Étape 3 : Explorer, attaquer, intensifier

Vous avez maintenant :

  • Informations d'identification de l'utilisateur valides
  • Un environnement Entra ID vulnérable et mal configuré
  • Et... un drapeau caché dans les propriétés de l'administrateur. Vous l'obtiendrez après vous être connecté en tant qu'administrateur global.

Utilisez le portail Azure, le centre d'administration Microsoft Entra, Microsoft Graph PowerShell ou Graph Explorer pour :

  • Énumérer les ressources liées à l'utilisateur
  • Vérifier la propriété des applications ou des groupes
  • Examiner les rôles attribués et les voies d'éligibilité privilégiées

Si vous êtes bloqué, utilisez les astuces de la plateforme pour vous guider. Ils sont conçus pour faciliter le raisonnement de l'attaquant sans dévoiler toutes les solutions.

Étape 4 : Capturer le drapeau

Votre objectif est de récupérer le drapeau après avoir obtenu l'accès à l'administrateur global, validant ainsi l'impact prévu du scénario.

EntraGoat{SP_0wn3rsh1p_Pr1v_Esc@l@t10n_Congratz!}

Collez le drapeau sur la page du défi et marquez le défi comme terminé ! Vous aurez alors accès au prochain défi.

NOTE : Par défaut, tous les utilisateurs authentifiés dans Entra ID peuvent interroger les données de base du profil d'autres utilisateurs, et des attributs tels que extensionAttribute1–15 ne sont pas classés comme sensibles. Par conséquent, l'indicateur stocké dans le profil de l'administrateur peut techniquement être récupéré immédiatement à l'aide de la requête API suivante Figure 8 montre.

Figure 8. Raccourci pour l'extraction des drapeaux

Ce comportement est intentionnel. Le but d'EntraGoat n'est pas de cacher le drapeau mais de démontrer des techniques réalistes d'escalade de privilèges dans des environnements Entra ID. Il est possible de récupérer le drapeau via un appel API direct, mais le véritable objectif est d'escalader les privilèges, d'accéder au portail Azure en tant qu'utilisateur administrateur et de voir le drapeau dans leur interface utilisateur, démontrant ainsi un contrôle total sur une identité d'administrateur global(Figure 9).

Le drapeau est un artefact gamifié pour valider l'achèvement, et non l'objectif principal du scénario.

Figure 9. Trouver le drapeau

Étape 5 : Nettoyer

Après chaque scénario, vous pouvez annuler les modifications(figure 10).

Figure 10. Nettoyage après le scénario 1

Pas de restes désordonnés dans votre locataire.

Vous voulez aller plus loin ?

Chaque scénario est accompagné d'un script complet et d'un fichier de solutions étape par étape que vous pouvez utiliser pour.. :

  • Enseigner aux autres
  • Comprendre les mécanismes de chaque voie d'attaque
  • Automatisez vos tests
  • Construire de nouvelles chaînes d'attaque

Vous les trouverez sous : /solutions/

Apprendre, s'entraîner et se défendre avec EntraGoat

EntraGoat est plus qu'un environnement de laboratoire. Il fournit une plateforme à la demande pour explorer les voies d'attaque d'Entra ID, développer des stratégies de défense efficaces, et appliquer ces connaissances pour renforcer les environnements du monde réel.

Obtenez EntraGoat et explorez-le vous-même. Utilisez-le pour faire le bien.

Continuer avec EntraGoat

Clause de non-responsabilité

Ce contenu est fourni à des fins éducatives et informatives uniquement. Il vise à promouvoir la prise de conscience et la remédiation responsable des vulnérabilités de sécurité qui peuvent exister sur les systèmes que vous possédez ou que vous êtes autorisé à tester. L'utilisation non autorisée de ces informations à des fins malveillantes, d'exploitation ou d'accès illégal est strictement interdite. Semperis n'approuve ni ne tolère aucune activité illégale et décline toute responsabilité découlant d'une mauvaise utilisation du matériel. En outre, la Semperis ne garantit pas l'exactitude ou l'exhaustivité du contenu et n'assume aucune responsabilité pour les dommages résultant de son utilisation.