Sécurité Active Directory : détectez les vulnérabilités dans les GPO et les scripts avec HardenSysvol !
Sommaire
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 |
|
Détection de contenu sensible et de mots-clés |
|
Analyse approfondie des fichiers |
|
Vérification des certificats et des configurations |
|
Vérification des fichiers suspects (selon le principe de la stéganographie) |
|
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 |
| -Addpattern admins,@mydomaine,hack |
Removepattern |
| -Removepattern Ipv4,sha1,password |
Addextension |
| -Addextension adml,admx,adm |
Ignoreextension |
| -Ignoreextension pdf,bat,ps1 |
Allextensions |
| -Allextensions |
DnsDomain |
|
-Dnsdomain dc-2
|
Custompatterns |
| -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 :
- PowerHuntShares : Analysez facilement les partages réseau de votre domaine Active Directory
- GPOZaurr, l’outil ultime pour analyser vos stratégies de groupe
- Analysez vos partages de fichiers Active Directory avec Snaffler pour protéger vos données
- Comment auditer l’Active Directory avec PingCastle ?
- Comment auditer l’Active Directory avec Purple Knight ?
- Sécurité Active Directory : comment atteindre un score de 0/100 dans PingCastle ?
Qu'en pensez-vous ?