Se connecter

PingCastle : le durcissement de l'Active Directory

Sommaire

  1. Introduction
  2. Présentation du logiciel
  3. Les modules existants
  4. Utilisation
  5. Les requêtes en détail
  6. Démonstration
  7. Conclusion

  1. Introduction
  2. L’Active Directory permet de centraliser des informations relatives aux utilisateurs et aux ressources d’une entreprise en fournissant des mécanismes d’identification et d’authentification tout en sécurisant l’accès aux données. Contenant des informations secrètes des utilisateurs, il constitue une cible privilégiée des hackers ! En effet, s’il dispose des droits administrateurs sur un domaine, un attaquant est libre de mener toutes les opérations souhaitées telles que l’exfiltration de données ou le sabotage. La compromission d’un domaine peut donc mener à des dégâts irréversibles. Par conséquent, il est primordial de maîtriser et de bien sécuriser son annuaire AD. De plus, les vulnérabilités liées à l’Active Directory sont exponentielles. De plus en plus d’outils deviennent populaires comme Mimikatz ou encore des sites spécialisés ouvrent leurs portes, comme adsecurity.org.

  1. Présentation du logiciel

PingCastle (Projet en C#) créé par Vincent Le Toux (responsable de l’équipe CERT du groupe ENGIE et PDG de My Smart Logon) est un outil conçu pour évaluer rapidement le niveau de sécurité de l’Active Directory avec une méthodologie basée sur l’évaluation des risques. Il ne vise pas une évaluation parfaite, mais plutôt un compromis d’efficacité.

PingCastle permet de pallier le manque de processus sous-jacents, comme par exemple, l’absence de processus pour la désactivation des comptes inactifs qui peuvent entraîner de nombreuses vulnérabilités.

Exemple du processus “cycle de vie d’un utilisateur” :

 

Processus ad

Recommandations de l’ANSSI concernant les comptes utilisateurs inactifs :

Source : ANSSI – Recommandations de sécurité relatives à l’Active Directory – R45 (paragraphe : 3.6.6.2)

➤ PingCastle se conforme aux exigences de l’ANSSI pour la résolution de cet incident.

L’outil tente de fournir une notation cohérente pour l’ensemble de ses processus* au sein d’un périmètre donné (domaine ciblé). En mode Standalone (sans installation), il effectue des analyses grâce à des requêtes passives (requêtes LDAP & ADWS) et collecte des informations ; aucune installation d’agent sur le(s) contrôleur(s) de domaine n’est nécessaire, ce qui est rassurant pour les RSSI méfiants vis-à-vis de logiciels “inconnus”.

Il existe plusieurs versions du logiciel. Une “version gratuite” (personnelle) qui permet d’effectuer une analyse similaire à la “version auditor” (entreprise) d’une valeur de 2.000€. Cette dernière ajoute quelques modules complémentaires, tels que le support pour la résolution de problèmes rencontrés et un rapport PowerShell. PingCastle permet de sécuriser jusqu’à 80 % de l’Active Directory, ce qui permet de remédier rapidement à la majorité des vulnérabilités.

Vincent Le Toux se base sur les recommandations de Microsoft, de l’ANSSI, etc., pour établir la notation et l’évaluation de la dangerosité des faiblesses de l’AD. Par exemple, l’ANSSI recommande de modifier le mot de passe krbtgt (Kerberos) tous les 40 jours (CERT-FR relatif au golden ticket).

Liens de téléchargement :

https://www.pingcastle.com/download/

https://github.com/vletoux/pingcastle

  • Ses processus :
  • Stale object : gestion de l’Active Directory (ajout/suppression d’objets…)
  • Comptes privilégiés : droits/privileges des utilisateurs
  • Trusts : interconnexion d’AD
  • Anomalies : contrôle de sécurité

  1. Les modules existants Plusieurs modules sont disponibles :
  2.  
  1. Healthcheck : Cette fonction effectue une “Vérification de santé” et établit un score en fonction des vulnérabilités découvertes. C’est la fonction la plus utilisée.

  2. Permissions : Cette fonction permet de déterminer qui peut prendre le contrôle des comptes administrateurs. Elle peut être considérée comme une version plus rapide et plus simple d’utilisation de “AD_Control_Path”, sans les mêmes droits ni la même complexité de mise en place.

  3. Conso : Ce module génère un rapport condensé qui ne fournit pas d’explications détaillées des vulnérabilités identifiées. Le rapport est segmenté en plusieurs onglets, incluant une cartographie.

  4. Carto : Ce module automatise la création d’une cartographie du ou des domaines de confiance, avec des liens directs pouvant aller jusqu’à 5 niveaux de profondeur.

  5. Scanner : Ce module permet de scanner différents éléments indépendants, tels que la liste des antivirus présents sur le domaine, les services de boîte aux lettres partagée (SBM), les partages de fichiers, etc. Il est particulièrement utile pour répertorier rapidement des objets.

  6.  

    1. Advanced : Ce module offre la possibilité de personnaliser certains paramètres pour obtenir un résultat adapté à vos besoins spécifiques.
 
  1. Utilisation Au fil des versions, des requêtes LDAP et ADWS sont ajoutées pour remédier aux nouvelles vulnérabilités découvertes. L’utilisation du logiciel est très simple : décompressez le dossier, puis exécutez le programme (aucun droit administrateur n’est nécessaire). Vous pouvez l’exécuter sur un poste client du domaine. Une fois lancé, il vous suffit de choisir le module désiré et de laisser le logiciel générer un rapport.

Structure du rapport :

Les indicateurs permettent de visualiser la “criticité” des processus établis par le logiciel :

Détails des “vulnérabilités” trouvées :

 

Vous avez ensuite le détail de chaque vulnérabilité, avec un texte explicatif, etc.

 

 
  1. Les requêtes en détail

Voici quelques exemples de commandes PowerShell permettant de retrouver des informations :

Rechercher les utilisateurs inactifs depuis plus de 180 jours :

powershell
Search-ADaccount -UsersOnly -AccountInactive -Timespan 180

Rechercher les ordinateurs inactifs depuis plus de 180 jours :

powershell
Search-ADaccount -ComputersOnly -AccountInactive -Timespan 180

Pour rechercher des environnements et affiner les options :

powershell
Get-ADComputer -Filter * -Property * | Format-Table Name,OperatingSystem,OperatingSystemServicePack,OperatingSystemVersion -Wrap –Auto

Si vous souhaitez affiner votre recherche (par exemple, pour rechercher les clients Windows XP), remplacez [-Filter *] par [-Filter {OperatingSystem -Like "*XP*"}].

Ci-dessous, vous trouverez le détail de tous les éléments testés par PingCastle, ainsi que les commandes PowerShell associées : Liste des règles PingCastle.


  1. Démonstration Pour voir le logiciel en action et découvrir ses fonctionnalités, voici une démonstration vidéo :
  2.  
  1. Conclusion PingCastle est un excellent logiciel pour sécuriser l’ensemble de l’Active Directory et obtenir une vue d’ensemble du périmètre analysé. Il permet de remédier à certaines vulnérabilités qui pourraient être négligées par les administrateurs système chargés de corriger ces erreurs. De plus, il offre une couche de sécurité supplémentaire dans les entreprises ou établissements disposant de ressources limitées ou de compétences limitées en sécurité informatique. Il se distingue par sa simplicité d’utilisation, son rapport détaillé et ses recommandations claires, ce qui le rend accessible à toute personne souhaitant remédier aux vulnérabilités identifiées. Avec une version gratuite disponible, il permet d’initier des démarches de sécurisation sans nécessiter de budget dédié. Je vous recommande vivement de l’essayer par vous-même !

  1. Sources