15/11/2024

Active DirectoryCybersécurité

Comment auditer l’Active Directory avec Purple Knight ?

I. Présentation

La sécurité de l'Active Directory est un véritable enjeu pour les entreprises et il n'est pas forcément simple de garder un œil sur l'état général de son annuaire Active Directory sans utiliser des outils adaptés. Fort heureusement, ces outils existent, que ce soit pour surveiller l'activité de l'Active Directory ou pour l'auditer comme nous l'avons vu récemment avec PingCastle.

Aujourd'hui, je vais vous présenter un autre outil gratuit pour auditer l'Active Directory : Purple Knight, édité par l'entreprise Semperis. Ce logiciel s'utilise gratuitement et il n'y a pas de commercialisation de licences, car Semperis commercialise un autre produit : Semperis Directory Services Protector (DSP). Dans cet article, je m'intéresse à l'audit de l'Active Directory, mais ce logiciel est capable d'auditer Azure Active Directory également.

Environ 100 points liés à la sécurité de l'Active Directory sont vérifiés par Purple Knight, aussi bien sur la sécurité des comptes, la délégation Active Directory, les stratégies de groupe, l'infrastructure Active Directory en elle-même, que les options liées à Kerberos.

II. Télécharger et installer Purple Knight

Pour télécharger Purple Knight, il est nécessaire de compléter un formulaire sur le site officiel afin de recevoir un e-mail avec un lien de téléchargement. Contrairement à PingCastle, il faut fournir quelques informations pour télécharger Purple Knight. Rendez-vous sur cette page :

Personnellement, j'ai reçu l'e-mail avec le lien de téléchargement dans la foulée après avoir complété le formulaire. On obtient une archive ZIP d'environ 100 Mo. Le contenu de cette archive ZIP doit être extrait sur votre machine. On obtient ceci :

Les deux PDF font office de documentation sur l'utilisation du logiciel et le répertoire "Scripts" contient un ensemble de scripts PowerShell signés que l'outil va exécuter pour réaliser son audit :

III. Lancer un audit avec Purple Knight

Pour lancer un audit avec Purple Knight, c'est tout simple : il faut exécuter le fichier "PurpleKnight.exe". Un assistant s'ouvre. Commençons par accepter les conditions d'utilisation avant de poursuivre.

La seconde étape consiste à sélectionner l'environnement cible, à auditer donc. Ici, c'est l'Active Directory du domaine "it-connect.local" qui va nous intéresser, donc il faut cocher la case à côté de "Active Directory" puis cliquer sur le bouton "Select" pour sélectionner le domaine. On peut sélectionner plusieurs domaines. Quand c'est fait, on peut cliquer sur "Next".

La troisième étape consiste à sélectionner les éléments à analyser, au cas par cas ou par catégorie. Pour que l'audit soit complet, il vaut mieux tout sélectionner afin d'avoir un résultat pertinent qui reflète réellement l'état actuel de votre annuaire Active Directory.

Nous pouvons voir que, sous chaque catégorie, il y a la liste des éléments qui seront évalués. Il faut cliquer sur "Run tests" pour démarrer l'audit.

L'audit en lui-même est rapide et ne nécessite que 1 ou 2 minutes pour vérifier environ 100 points différents.

Quand l'audit est terminé, l'idéal est de cliquer sur "View report" pour afficher le rapport HTML dans un navigateur. Ce même rapport peut être exporté au format PDF ou au format CSV, comme le montre le bouton "Save as" en bas de l'interface.

Passons à la prochaine étape où nous allons nous intéresser au rapport en lui-même.

IV. Interpréter le rapport d'audit

C'est l'heure du verdict : nous allons parcourir le rapport d'audit pour voir quelles sont les faiblesses de notre Active Directory relevée par Purple Knight.

En ce qui me concerne, l'Active Directory de mon lab a obtenu la lettre B et le score de 88%. Ici, plus le score est élevé, mieux c'est ! 

Ce qui m'intéresse dans un premier temps, c'est le résultat pour la ligne "IOEs found", 15 dans mon cas. En fait, IOE signifie Indicators of Exposure (Indicateurs d'exposition) et cela correspond au nombre de règles pour lesquelles mon Active Directory n'est pas conforme aux recommandations.

En descendant dans la page, nous pouvons ceux qui sont critiques et qu'il faut traiter en priorité. En cliquant sur le lien "Read More" on est envoyé directement à la section du rapport qui donne des détails techniques sur la règle, mais aussi les éléments de l'Active Directory concernés.

Toujours un peu plus bas dans le rapport, il y a un score par catégorie cette fois-ci. Sur son site, Semperis précise : "Le score global moyen de Purple Knight est de 61 %, la sécurité de Kerberos étant en moyenne de 43 % et celle de Group Policy de 58 %.", ce qui vous permettra de vous situer. En naviguant dans le menu à gauche du rapport, on peut parcourir chaque section et voir l'ensemble des points vérifiés avec le résultat associé.

Selon les résultats et le contenu du rapport, il conviendra d'analyser chaque point afin de mettre un plan d'action pour y remédier. Selon votre score initial, fixez-vous l'objectif d'atteindre un score minimum de 90% même si l'idéal c'est bien sûr 100%.

A chaque fois, différentes informations sont fournies comme le niveau de sévérité, une description, la probabilité de compromission en exploitant cette faiblesse, des détails sur les éléments de votre Active Directory concernés par la règle, ainsi que des informations sur les étapes à réaliser pour résoudre ce défaut de sécurité.

La règle ci-dessous m'indique que j'ai un compte administrateur sur mon Active Directory qui est actif (utilisable, disons), mais qui n'a pas été utilisé depuis longtemps.

Le compte en question, nommé "wapt.wads", est listé par l'outil pour m'aider à résoudre le problème. Son emplacement dans l'annuaire est indiqué, tout comme la date de dernière connexion.

Après avoir résolu le problème, l'élément passe en vert (bien sûr, il faut relancer une analyse) :

Tuto Purple Knight

Ce qui est plaisant avec Purple Knight, c'est qu'il fait le lien entre les points vérifiés et les recommandations du MITRE et de l'ANSSI. Du coup, si l'on prend l'exemple de l'ANSSI, chaque élément vérifié à un "ANSSI ID", par exemple "vuln1_user_accounts_dormant", que l'on peut retrouver dans le guide "Point de contrôle de l'Active Directory" de l'ANSSI disponible iciC'est très pratique, car Purple Knight permet de voir rapidement si notre Active Directory respecte les recommandations de l'ANSSI.

Enfin, sachez que vous pouvez retrouver l'ensemble de vos rapports d'audit dans le répertoire "Output" de Purple Knight :

V. Conclusion

Pour auditer l'Active Directory, Purple Knight est une très bonne solution complémentaire à Ping Castle. Même s'il y a des règles communes, les éléments sont présentés différemment donc cela peut vous aider à mieux comprendre certains points à corriger. Les deux outils étant gratuits, il me semble pertinent d'auditer son annuaire Active Directory avec les deux outils d'autant plus que les scans s'effectuent rapidement.

Pour terminer, voici une liste de tutoriels qui pourront vous aider à corriger certains points :

author avatar
Florian BURNEL Co-founder of IT-Connect
Ingénieur système et réseau, cofondateur d'IT-Connect et Microsoft MVP "Cloud and Datacenter Management". Je souhaite partager mon expérience et mes découvertes au travers de mes articles. Généraliste avec une attirance particulière pour les solutions Microsoft et le scripting. Bonne lecture.
Partagez cet article Partager sur Twitter Partager sur Facebook Partager sur Linkedin Envoyer par mail

6 commentaires sur “Comment auditer l’Active Directory avec Purple Knight ?

  • Merci pour l’article, c’est un super outil. Je trouve le rapport bien plus complet que Ping Castle, c’est vraiment à mettre dans sa trousse à outil.

    Je l’ai testé sur plusieurs AD mais à chaque fois, impossible de récupérer les défauts trouvés et les étapes de remédiation, le rapport reste vide sur ces deux lignes, c’est dommage.

    Répondre
    • Ah ouais ? Sur des environnements similaires ? Si tu exportes le rapport en PDF c’est vide aussi ?

      Répondre
  • Bonjour
    Merci pour cet outil j’ai juste un test critical qui passe en Failed to run, c’est le « AD Certificate Authority with Web Enrollment – PetitPotam and ESC8 » avec comme résultat (NTLM status) Unreachable pourtant Active Directory Certificate Services est bien démarré sur mon serveur ADCS. Avez-vous une idée pourquoi ?

    Répondre
  • Bonjour,

    J’ai lancer PurpleKnight sur notre AD mais cela me rend que des « failed to run » cela veut dire que j’ai un niveaux de sécurité critique ou alors simplement que les scripts n’ont pas pu s’executer sur mon test ?

    Cordialement

    Répondre

Laisser un commentaire

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

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.