22/12/2024

Active DirectoryCybersécurité

Sécurité Active Directory : détectez les vulnérabilités dans les GPO et les scripts avec HardenSysvol !

I. Présentation

Inutile de rappeler l'importance capitale de la sécurité d'Active Directory (AD) dans un environnement d’entreprise. L’AD joue un rôle clé dans la gestion des accès, contenant des informations sensibles dont la compromission permettrait de prendre le contrôle de toute l’infrastructure. Pour cette raison, vous devez veiller à ce qu’il reste infaillible.

Plusieurs outils bien établis, comme Purple Knight, PingCastle et ORADAD de l’ANSSI, permettent aux entreprises et aux responsables de la sécurité d’auditer les configurations AD. Ces solutions analysent de manière approfondie les attributs de l'annuaire, les autorisations et les bonnes pratiques, souvent en affichant un score pour mesurer le niveau de sécurité (ou le niveau de risque). Toutefois, nombre d’entreprises et de RSI commettent l’erreur de s’en tenir à ce score, en supposant à tort que l’AD est entièrement sécurisé.

Le problème est que ces outils, tout en offrant une vue essentielle des configurations et des permissions, laissent de côté le contenu des partages Sysvol et Netlogon. Ces dossiers, en lecture seule par défaut pour l’ensemble du parc, contiennent potentiellement des scripts, des identifiants et des informations sensibles. Cette exposition constitue une menace majeure et peut rapidement compromettre l’intégrité du domaine Active Directory.

C’est pour combler cette lacune que HardenSysvol a été développé par des experts Active Directory et en cybersécurité. Cet outil se concentre spécifiquement sur la sécurisation des partages Sysvol et Netlogon, en détectant les fichiers sensibles, les configurations faibles et les vulnérabilités présentes dans ces dossiers. Il complète ainsi les audits AD classiques en ajoutant une couche de sécurité dédiée, permettant de protéger un point critique souvent négligé.

II. HardenSysvol de plus près

HardenSysvol est une solution open source et gratuite faisant partie du projet HardenAD, développée essentiellement en PowerShell, signée et disponible sur GitHub ainsi que PowerShell Gallery. Son installation et son utilisation se font par une simple commande, sans nécessiter de droits élevés ni d’exigences particulières.

HardenSysvol offre un audit approfondi des dossiers Sysvol et Netlogon du domaine Active Directory, en détectant et en alertant sur les fichiers potentiellement sensibles, tels que des scripts contenant des identifiants ou des configurations non sécurisées. Les résultats sont présentés dans un rapport HTML convivial et facile à interpréter.

En ce sens, HardenSysvol se positionne comme une solution complémentaire à l’audit AD et non en tant que concurrent des outils existants.

Voici les avantages de ce nouvel outil :

Comble une lacune dans les audits AD


En ajoutant une couche de sécurité à Sysvol, HardenSysvol détecte des risques qui ne sont pas dans le périmètre des autres outils.

Détection de contenu sensible et de mots-clés


HardenSysvol inclut une recherche de mots-clés spécifiques pour identifier rapidement les fichiers contenant des informations sensibles, telles que des identifiants ou des configurations critiques, souvent présents dans les scripts ou fichiers de configuration.

Analyse approfondie des fichiers


En vérifiant les signatures de fichiers (Magic Numbers) + 180 extensions et en identifiant les fichiers mal renommés, il détecte les fichiers cachés et non conformes, souvent négligés dans les partages AD.

Vérification des certificats et des configurations


HardenSysvol audite les certificats présents dans Sysvol, détecte les clés non protégées ou exportables. Il vérifie aussi l’intégrité des configurations pour empêcher toute fuite de données critiques.

Vérification des fichiers suspects (selon le principe de la stéganographie)


HardenSysvol détecte les fichiers dissimulés dans d'autres formats, comme des fichiers exécutables ou compressés dissimulés dans des images, assurant une détection plus complète des menaces.

III. Pourquoi auditer votre AD avec HardenSysvol ?

Pour mieux comprendre l’importance d’un audit du dossier Sysvol et des vulnérabilités qu'il peut contenir, effectuons un test simple que chacun peut réaliser. L’idée est d’observer comment des informations sensibles peuvent passer inaperçues sans un outil comme HardenSysvol.

Commencez par créer un fichier texte contenant un mot de passe, que vous placez dans le dossier Sysvol, soit sous forme de GPO, soit comme script de connexion (par exemple, pour mapper un lecteur réseau ou créer un utilisateur). Ce type de fichier pourrait être exposé à tout le parc en lecture, il peut être à l’origine d’une fuite d’information sensible.

Ensuite, testons la dissimulation de fichiers en renommant un fichier MSI en format DOC ou autre... Et en le plaçant dans Sysvol. De même, ajoutez des images contenant des fichiers cachés, comme un EXE ou un ZIP, qui pourraient être exploités sans être détectés par des outils d’audit classique.

Pour ajouter un fichier ZIP dans une image, utilisez la commande suivante :


  copy /B photo.jpg + Fichier.zip destination.jpg

Ces manipulations simples révèlent à quel point des informations sensibles peuvent rester non sécurisées.

Dans mon cas, j'ai créé un fichier BAT, un fichier TXT et j'ai renommé un EXE en DOC.

Ci-dessous le contenu du fichier BAT :

Le fichier TXT contient une variable « password » qui est vide ; il s'agit d'un faux positif. HardenSysvol détecte ces faux positifs tout en repérant une adresse IP et un hash SHA1.

Si vous lancez vos outils d’audit AD habituels, il est fort possible que ces informations ne soient pas détectées. Cela est normal, car elles ne rentrent pas dans le cadre de l’audit classique d’AD. Cette vulnérabilité peut donc être présente même si vous avez un score de sécurité AD très élevé ou favorable.

IV. Installation et utilisation de HardenSysvol

A. Installation de HardenSysvol

Comme évoqué précédemment, HardenSysvol ne nécessite aucun privilège avancé et aucun système particulier n'est requis. Il n’est pas non plus nécessaire de désactiver l’antivirus ou votre solution de sécurité (type EDR). Attention, si les permissions des GPO sont personnalisées, vous pourriez passer à côté de certaines GPO (dans ce cas, l'outil mentionnera un problème d'accès, et vous devez relancer l'analyse avec un utilisateur disposant d'un niveau de privilèges supérieur).

Prérequis :

  • Un compte standard du domaine
  • Une machine cliente dans le domaine (Windows 10/11 ou serveur)

À partir d’une fenêtre PowerShell, entrez la commande suivante :


  Install-Module Hardensysvol –scope currentuser -force 

L'installation se lancera automatiquement, HardenSysvol intègre d’autres modules qui lui sont nécessaires pour la génération des rapports (PSWriteHTML et PSWriteOffice).

À la fin de l'installation, nous retrouvons les modules dans le dossier documents.

C'est fini, l'installation est faite sans souci, il ne reste plus qu'à lancer le scan.

B. Utilisation de l'outil

Comme pour l'installation, une seule commande est suffisante pour lancer le scan, à partir d'une invite PowerShell, exécutez la commande suivante :

Invoke-hardenSysvol

Le scan est alors lancé : dans un premier temps, l'outil liste les fichiers disponibles, puis les traite dans des threads séparés afin d'accélérer le traitement.

Rappel : le dossier Sysvol est en lecture seule, tout comme HardenSysvol qui ne fait que lire les informations, ce qui garantit l’absence de risque de modification ou d’impact sur l’environnement. L’outil n’interfère pas avec l’AD et peut être exécuté à tout moment de la journée. Comme le dossier est en lecture seule, aucune alerte EDR n’est générée.

À la fin de l’analyse, un rapport est généré et la page s'ouvre directement sur le navigateur.

Notez qu'il est possible d'arrêter l’analyse à tout moment à l'aide de la combinaison « CTRL + C ».

Gérer les erreurs d'utilisation :

Par défaut, la stratégie d'exécution PowerShell peut bloquer l’exécution des commandes.

Pour exécuter une analyse HardenSysvol sans modifier la configuration de votre machine de façon persistante, vous pouvez ajuster la politique d'exécution (au niveau du processus) avec la commande suivante :

powershell.exe -ExecutionPolicy bypass Invoke-HardenSysvol 

C. Analyse du résultat

Avant d'explorer les résultats, il est important de noter que, par défaut, HardenSysvol prend en charge certains types d'extensions couramment présentes dans Sysvol, ainsi que des mots-clés spécifiques. Vous pouvez étendre cette analyse en ajoutant d'autres types de fichiers selon vos besoins.

Voici la liste des extensions supportées par défaut :

  • bat, bmp, cab, class, csproj, config, csv, cer, der, doc, docx, dll, exe, gif, gz, html, ico, ini, jar, jpg, jpeg, jp2, msi, msu, mp3, odp, ods, odt, otf, ott, p7b, p7c, pdf, pfx, png, pol, pptx, ppt, py, ps1, psm1, rar, rdp, reg, rtf, tar, tif, txt, vbs, xls, xlsx, xml, vbsx, webp, zip, 7z

À noter que les extensions associées aux modèles d’administration des GPO, telles que ADML, ADM et ADMX, ne sont pas intégrées par défaut, car ces fichiers génèrent souvent de nombreux faux positifs.

D. Analyse du rapport

L’analyse du rapport est assez simple. Sur la page principale, vous trouverez un tableau de bord avec un score indicatif du risque potentiel. D’autres statistiques sont également disponibles, reprenant le nombre de fichiers scannés et détectés, les mots-clés les plus exposés, ainsi que les fichiers présentant le plus de risques. Enfin, des recommandations de bonnes pratiques sont affichées pour renforcer la sécurité.

Le second onglet présente un tableau récapitulant les résultats des fichiers suspects. Des faux positifs peuvent apparaître – ce qui peut être un avantage dans un contexte de détection élargie.

Par exemple, des variables comme « password », détectées dans un script PowerShell, ne correspondent pas toujours à des informations sensibles. Sans l’intégration d’une IA, il est difficile de différencier entre une utilisation réelle et un simple exemple de code…

Pour une analyse approfondie, notamment dans le cas de grands comptes, faire appel à un expert peut s’avérer particulièrement utile pour bénéficier de conseils supplémentaires. Ce tableau présente également, pour différentes extensions, les résultats associés avec leur ligne ou valeur correspondante, lorsque cela est possible (notamment pour les fichiers non Office).

Il est possible de consulter une version en ligne, d'un rapport HardenSysvol dans le lien suivant :

Dans l'exemple ci-dessous, nous trouvons des extensions non signées (exe, msi, dll), des certificats protégés par mot de passe, des fichiers image contenant une extension cachée, comme un Zip avec la liste du contenu. Il y a aussi une extension modifiée signalée par « Binary not match », dans notre cas un EXE renommé en JPG.

Grâce aux modules HTML, il est possible d'ajouter des filtres pour masquer une extension ou un chemin… Voici un exemple d’un filtre où l’on va exclure le module HardenAD.

E. Les différentes options

Comme pour toute solution, HardenSysvol propose des paramètres et options supplémentaires offrant une flexibilité dans l’utilisation et permettant d’élargir la recherche. Voici un tableau des différentes options disponibles. Pour plus d'exemples et de détails, consultez la page GitHub du projet.

Paramètre

Explication

Exemple

Addpattern


Ajoute des mots-clés personnalisés à rechercher qui ne sont pas présents par défaut.

-Addpattern admins,@mydomaine,hack

Removepattern


Supprime un mot-clé de la liste de recherche par défaut.

-Removepattern Ipv4,sha1,password

Addextension


Ajoute une extension supplémentaire à inclure dans la recherche.

-Addextension adml,admx,adm

Ignoreextension


Exclut une extension par défaut de la recherche.

-Ignoreextension pdf,bat,ps1

Allextensions


Analyse tous les types d’extensions sans exception.

-Allextensions

DnsDomain


Cible un domaine enfant ou un contrôleur de domaine (DC) en particulier.

-Dnsdomain dc-2
-Dnsdomain it-connect.local

Custompatterns


Permet d'utiliser un fichier de motifs personnalisé, à condition qu'il respecte le format .xml d'origine.

-Custompatterns C:\temp\custom.xml

F. Utilisation avancée

Pour intégrer le plus de résultats possible, vous pouvez utiliser la commande suivante :

Invoke-HardenSysvol -Addpatterns admins -Addextension inf,adml,admx,adml

Pour s'assurer qu'aucun élément ne vous échappe, utilisez :

Invoke-HardenSysvol -Allextensions -Addpattern admins

Ces deux commandes permettent d’obtenir un ensemble de résultats plus large, incluant probablement quelques faux positifs, mais cela reste utile pour affiner l'analyse et réaliser une inspection minutieuse.

G. Informations complémentaires

Ci-dessous une liste des mots clés recherchés par défaut :

accesskey, auth, credentials, cred, identifiant, mdp, mdpass, motdepasse, private-key, pwd, secret, ssh-key, token, login, apikey, password, securestring, SHA-1, SHA-256, SHA-512, net user

La liste des binaires supportés par défaut pour identifier le type d'extensions + 180 extensions, trouvez la liste entière non exhaustive sur la page du projet GitHub.


  doc, xls, msi, ppt, vsd, docx, xlsx, pptx, odp, ods, jar, odt, zip, ott, vsdx, exe, dll, rar, zip, 7z, png, pdf, jpg, jpeg, gif, tif, ico, class, msu, cab, bmp, p7b, p7c, cer, pfx, der, pem, p7b, otf, webp, mp3, gz, tar, jp2, rtf ….

Le lien vers la page du projet GitHub et le projet HardenAD

V. Conclusion

HardenSysvol est le fruit de plusieurs mois de travail, conçu pour soutenir et renforcer la sécurité AD en complément des outils existants sur le marché. La vision de ce projet est de faciliter la tâche des administrateurs tout en sensibilisant davantage à l'importance de la sécurité AD.

Je tiens à remercier chaleureusement toutes les personnes qui ont contribué à ce projet, de près ou de loin, en commençant par IT-Connect et ses membres, ainsi que les leaders et passionnés de la cybersécurité qui ont apporté leur expertise.

Le projet HardenSysvol ne s’arrête pas ici, d’autres outils autour de la sécurité AD sont en cours de développement et seront bientôt présentés. Pensez à soutenir le projet si vous trouvez ces initiatives utiles.

Pour approfondir le sujet de la sécurité Active Directory et de l’analyse des partages de fichiers, voici des lectures complémentaires :

Qu'en pensez-vous ?

author avatar
Mehdi DAKHAMA Consultant et formateur
Consultant et formateur expert Windows Server et Cloud Azure. Chercheur en Cybersécurité.
Partagez cet article Partager sur Twitter Partager sur Facebook Partager sur Linkedin Envoyer par mail

3 commentaires sur “Sécurité Active Directory : détectez les vulnérabilités dans les GPO et les scripts avec HardenSysvol !

  • Merci pour le travail accompli ! Pensez vous qu’il y aurait une possibilité d’envoyer ce rapport par mail ? cela permettrait de le coupler a une tache planifiée pour un examen regulier

    Répondre
    • Bonjour et Merci pour le retour,
      l’idée d’envoie par mail est très pertinente mais pour des raisons de sécurité il sera impossible d’intégrer cela dans n’importe quel projet, c’est un grand risque pour les devs qui partagent des solutions, par contre il existe un parametre -savepath ou tu peux saisir un chemin le script ecrasera à chaque fois le fichier existant.
      et c’est une trés bonne idée de le coupler à une tache réguliere, n’hesites pas à faire un update du module et suivre le projet des améliorations seront ajoutées pour répondre aux différentes failles.

      Répondre
  • Top outil, un grand merci à la communauté harden que des belles choses et à it-connect

    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.