Comment auditer l’Active Directory avec PingCastle ?

I. Présentation

Dans ce tutoriel, nous allons apprendre à utiliser le logiciel PingCastle pour auditer un annuaire Active Directory ! Grâce à l'analyse effectuée par ce logiciel, vous allez obtenir un score qui va refléter le niveau de risque de votre Active Directory. En vous référant au rapport généré par le logiciel, vous allez pouvoir prendre connaissance des points sur lesquels travailler pour renforcer la sécurité de votre Active Directory.

PingCastle est un logiciel français bien connu par les entreprises du secteur de la cybersécurité. La bonne nouvelle, c'est que vous pouvez l'utiliser gratuitement pour auditer votre propre annuaire Active Directory. Par contre, si vous utilisez PingCastle pour auditer l'annuaire d'un client dans le cadre d'une prestation, vous devez acquérir une licence. Le site de PingCastle est très clair à ce sujet : "Avec la licence par défaut, le programme peut être exécuté gratuitement, tant que vous n'en tirez aucun revenu. Par exemple, toute organisation à but lucratif peut l'utiliser pour auditer ses propres systèmes. Pour inclure PingCastle dans un package ou un service commercial, il faut acheter une licence spécifique."

Note : le code source de PingCastle est disponible sur GitHub (sous licence propriétaire) et le logiciel est associé à une licence Non-Profit Open Software License ("Non-Profit OSL") 3.0.

L'objectif du jour va être d'auditer un annuaire Active Directory à l'aide de PingCastle, en l'occurrence en ce qui me concerne l'annuaire de mon lab. Pour l'exécuter, vous avez besoin d'un compte sur le domaine cible (ou d'un domaine approuvé) et il n'est pas nécessaire que ce soit un compte Administrateur du domaine.

PingCastle fonctionne sur les différentes versions de Windows, notamment de Windows 7 à Windows 11, et de Windows Server 2008 à Windows Server 2022.

Tutoriel PingCastle

Il est à noter que PingCastleCloud est en cours de développement et que cette version sert à auditer Azure Active Directory, ce qui s'annonce très intéressant !

II. Télécharger et installer PingCastle

Pour télécharger PingCastle, accédez au site officiel et cliquez sur "Download" dans le menu. Dans la page qui s'ouvre, cliquez sur le bouton "Download" afin d'obtenir l'archive ZIP qui contient les sources. Il suffit d'extraire le contenu du ZIP dans un répertoire. Pour ma part, je le positionne sur mon contrôleur de domaine directement, ce qui permet d'avoir un audit plus rapide. Vous allez obtenir ceci :

Pour lancer un audit avec PingCastle, il faudra lancer "PingCastle.exe". Le fichier de configuration associé est "PingCastle.exe.config". En complément, il y a deux documents PDF qui sont livrés avec l'outil et qui permettent d'en apprendre plus sur le fonctionnement de l'outil et la méthodologie employée.

III. Réaliser un audit AD avec PingCastle

Dès qu’on lance "PingCastle.exe", une console s'ouvre. Pour lancer un audit, il faut se positionner sur "1-healthscore-Score the risk of a domain" et appuyer sur Entrée.

Ensuite, l'outil nous demande quel est le domaine Active Directory à auditer. Par défaut, il va remonter le domaine Active Directory correspondant au compte que vous utilisez, comme "it-connect.local" dans mon cas. Si c'est le domaine à auditer, il suffit de valider avec Entrée pour lancer l'audit ! Sinon, indiquez le nom de domaine Active Directory qui va bien.

Sur mon annuaire Active Directory où il y a très peu de comptes, l'analyse est très rapide : 4 secondes suffisent à PingCastle pour réaliser l'audit. Quand c'est terminé, appuyez sur Entrée pour fermer le logiciel.

Audit PingCastle

Dans le répertoire d'installation de PingCastle, l'outil a généré deux rapports, l'un au format HTML et l'autre au format XML. Nous allons étudier le rapport HTML : ad_hc_it-connect.local.html.

IV. Lecture du rapport de PingCastle

Regardons de plus près le rapport généré par PingCastle. La première zone nommée "Active Directory Indicators" permet d'avoir le niveau de risque de votre domaine, avec une note sur 100. Plus cette note est élevée, moins votre Active Directory est sécurisé ! Autrement dit, ici j'obtiens le score de 85/100, ce qui est une très mauvaise note !

Sur un annuaire Active Directory dans une configuration proche de celle par défaut, c'est un score fréquent et qui montre qu'il est nécessaire d'agir ! Dans cette zone, le bouton "Compare with statistics" permet de se situer par rapport aux autres personnes qui ont audité leur annuaire.

Si on descend un peu plus bas dans la page, nous avons quatre scores où chaque score correspond à une catégorie, et on comprend que la note de "85/100" affichée en haut du rapport correspond à la note la plus élevée de ces quatre catégories. En aucun cas il s'agit d'un cumul ou d'une moyenne.

  • Stale Object : points de sécurité liés aux utilisateurs ou aux ordinateurs
  • Privileged Accounts : points de sécurité liés aux comptes avec des privilèges élevés (Administrateurs) du domaine Active Directory
  • Trusts : points de sécurité liés aux relations d'approbations entre les domaines Active Directory
  • Anomalies : points de sécurité liés à d'autres aspects de la configuration qui peuvent impacter la sécurité de votre annuaire

A chaque fois, il y a le nombre de règles qui ont matchées qui s'affiche, et chaque règle qui matche fait augmenter le score.

Le tableau "Risk Model" qui vient juste après permet d'en savoir un peu plus sur les risques que vous encourez avec la configuration actuelle de votre annuaire Active Directory. Quand la case est blanche, c'est tout bon. Quand elle est bleue également, sauf que vous pouvez tout de même améliorer votre configuration. Par contre, quand c'est jaune, c'est qu'il y a un peu de travail et les cases en orange et rouge doivent attirer votre attention tout particulièrement, car cela concerne les risques élevés et majeurs.

À partir du moment où on a passé la partie synthèse du rapport, on peut obtenir la liste des points de sécurité à améliorer. Pour chaque règle, il y a un nom, le nombre de points, ainsi qu'une description, une explication technique, des conseils pour solutionner ce problème et des liens vers des documentations pour vous aider. C'est très complet et très bien fait !

Voici un exemple avec la règle "Non-admin users can add up to 10 computer(s) to a domain" qui signifie que tous les utilisateurs de mon domaine Active Directory, y compris les non-administrateurs peuvent intégrer au domaine jusqu'à 10 ordinateurs. C'est la configuration par défaut de l'Active Directory !

Au-delà des points à améliorer en termes de sécurité, ce rapport est très intéressant, car il donne des informations générales sur les contrôleurs de domaine, les versions de système d'exploitation, les stratégies de groupe, etc...

Je ne vais pas passer en revue l'ensemble des règles, car les points à corriger ne seront pas les mêmes d'une infrastructure à une autre, même s'il y a des règles qui matchent la plupart du temps. 😉

V. Comment améliorer la sécurité de son Active Directory ?

Les réponses se situent dans le rapport de PingCastle ! En effet, comme je le disais, à partir du rapport de PingCastle, vous pouvez prendre connaissance des différents points et vous référer aux documentations mentionnées sous chaque règle. Pour certains points, il y a des tutoriels sur IT-Connect qui pourront vous aider (voir en fin d'articles). Vous ne pourrez peut-être pas corriger l'ensemble des points, mais généralement, il y a des actions assez simples que l'on peut effectuer pour améliorer le niveau de sécurité de son Active Directory.

Après avoir corrigé un ou plusieurs points, vous pouvez relancer un audit avec PingCastle pour vérifier que le changement est bien pris en compte. Ainsi, vous pouvez suivre l'évolution de votre score dans le temps. Quand vous relancez un audit PingCastle, il va écraser le rapport précédemment généré alors pensez à le garder de côté si vous souhaitez avoir un historique.

Prenons un exemple avec la règle "The spooler service is remotely accessible from 1 DC" qui signifie que le service Spouleur d'impression est activé et démarré sur le contrôleur de domaine. Sur un serveur qui n'est pas serveur d'impression et depuis lequel nous n'avons pas besoin d'imprimer, il n'y a pas besoin de maintenir ce service dans cet état, d'autant plus qu'il peut être exploité dans le cadre d'attaques. Il est très fréquent d'avoir cette règle qui matche.

Pour corriger le tir, vous devez arrêter et désactiver le service "Spouleur d'impression" sur l'ensemble de vos contrôleurs de domaine (sauf besoins spécifiques). Soit par GPO, soit manuellement avec l'interface graphique ou PowerShell. À partir de la console de gestion des services, cela donne :

Dès que c'est fait, si je relance une analyse avec PingCastle, je constate que le score de la section "Anomalies" est passé de 40 à 30 : une bonne nouvelle ! Désormais, il va falloir poursuivre nos efforts...

V. Planifier un audit régulier de l'AD avec PingCastle

L'exécutable de PingCastle accepte de nombreux arguments, ce qui permet de l'appeler facilement dans une tâche planifiée. Vous pouvez prendre connaissance des différentes options en exécutant cette commande :

.\pingcastle.exe --help

Par exemple, voici une commande qui permet d'exécuter un audit avec PingCastle en ciblant le serveur srv-adds-01.it-connect.local. Le rapport HTML généré sera envoyé par e-mail à l'adresse "[email protected]".

.\PingCastle.exe --server srv-adds-01.it-connect.local --healthcheck --sendHtmlTo [email protected]

En ce qui concerne le serveur SMTP à utiliser pour envoyer les e-mails, il doit être défini dans le fichier de configuration "PingCastle.exe.config".

PingCastle SMTP

VI. Conclusion

Pour auditer facilement un annuaire Active Directory, PingCastle est une très bonne solution ! Son utilisation repose sur un simple fichier "setup.exe" qui n'a pas besoin d'être réellement installé sur la machine, ce qui est avantageux. Nous venons de voir l'utilisation de la fonctionnalité principale de PingCastle, mais il est possible d'aller plus loin.

En effet, PingCastle intègre d'autres fonctionnalités que vous pouvez explorer à partir du menu de l'application (en naviguant avec le clavier) ou en regardant la documentation. Par exemple, vous pouvez réaliser un export des objets ordinateurs ou utilisateurs de votre Active Directory, mais aussi utiliser la fonction "Scanner" pour vérifier certains éléments de configuration sur les objets ordinateurs de votre Active Directory (exemple : rechercher la présence d'un partage ouvert).

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

Vous n'avez plus qu'à renforcer la sécurité de votre audit Active Directory et à réaliser des audits réguliers avec PingCastle pour maintenir un niveau de sécurité satisfaisant dans le temps.

Partagez cet article Partager sur Twitter Partager sur Facebook Partager sur Linkedin Partager sur Google+ Envoyer par mail

Florian Burnel

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.

florian has 3946 posts and counting.See all posts by florian

4 thoughts on “Comment auditer l’Active Directory avec PingCastle ?

  • très bon article, le prochain sur Purple Knight ?

    Répondre
  • Bonjour,

    Effectivement, un très bon article pour un super outil que vous m’avez donné envie de tester (ça montre pas mal de choses effectivement sur les forces et faiblesses de son AD !).

    Une petite déception quand même, mais hors sujet : PingCastle a été créé par une société française, et il dispose d’un site internet (https://www.pingcastle.com/)
    Or, malgré le fier « Made in France » estampillé sur le site, tout est en anglais…
    Comme beaucoup de personnes de la tech, je maitrise l’anglais; Cependant, je trouve vraiment dommage de consulter un site créé par des français, mais uniquement rédigé en anglais.
    Certes cela permet d’étendre son périmètre de visibilité à l’international, mais j’aime ma langue, et ça me peine un peu…
    A l’inverse, pas mal de sites édités par des sociétés anglophones proposent une version localisée (française) de leur site; C’est le monde à l’envers !

    Sur ce, merci de votre article, ainsi que tous les autres, que je lis régulièrement.
    Olivier

    Répondre
    • Bonjour Olivier,
      Oui c’est vrai que c’est un peu dommage qu’un logiciel français ne propose pas, à minima, un site en français. Je suis de votre avis!

      Répondre

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.

 

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