Daniel Petri

Dans les environnements Active Directory (AD), les objets de stratégie de groupe (GPO) peuvent être utilisés pour configurer des scripts de connexion. Ces scripts peuvent être des outils puissants pour gérer et automatiser le processus de connexion des utilisateurs et des ordinateurs dans l'environnement AD. Vous pouvez assigner et placer ces scripts dans n'importe quel GPO au sein de l'organisation. Une grande organisation peut avoir des dizaines, voire des centaines de GPO, chacun contenant un ou plusieurs scripts de connexion, de déconnexion, de démarrage et d'arrêt, et l'ensemble de ces scripts peut être utilisé pour contrôler de nombreux aspects des profils des utilisateurs, des applications de bureau et des paramètres, et bien plus encore.

Mais comme pour la plupart des avantages d'Active Directory, il y a un hic.

Au fur et à mesure que votre environnement AD évolue et change, la complexité des GPO attribués aux domaines, aux sites ou aux unités d'organisation (OU) augmente. Avec le temps, l'ajout d'objets et la multiplication des interventions dans l'environnement AD, ce qui était auparavant une structure de GPO bien documentée et bien surveillée peut devenir difficile à gérer, à évaluer et à contrôler. Les cyberattaquants le savent et profitent des scripts de connexion mal entretenus.

Que sont les scripts de connexion GPO ?

Les scripts de connexion GPO sont une série de commandes ou d'instructions qui sont exécutées automatiquement lorsqu'un utilisateur se connecte à un ordinateur. Vous pouvez utiliser ces scripts pour mapper des lecteurs réseau, attribuer des imprimantes, exécuter des applications spécifiques et effectuer d'autres tâches nécessaires au cours du processus de connexion.

Pour configurer un script de connexion GPO, vous devez d'abord créer un nouveau GPO ou modifier un GPO existant qui s'applique aux utilisateurs ou aux ordinateurs que vous souhaitez configurer. Après avoir lié la GPO au niveau du domaine, du site ou de l'OU concerné, vous pouvez utiliser l'application Éditeur de stratégie de groupe locale pour spécifier le script que vous souhaitez exécuter. Une fois que vous avez configuré un GPO avec le bon script de connexion, celui-ci est appliqué à tous les utilisateurs ou ordinateurs ciblés par le GPO.

Les scripts ne sont pas limités au processus de connexion. Vous pouvez également attribuer des scripts de déconnexion qui s'exécutent lorsqu'un utilisateur se déconnecte de son ordinateur. De même, vous pouvez assigner des scripts de démarrage ou d'arrêt qui s'exécutent lorsque l'ordinateur est redémarré ou arrêté, respectivement. Cet article traite spécifiquement des scripts de connexion, mais le même concept s'applique à tous les types de scripts attribués par GPO.

Comment fonctionnent les scripts de connexion ?

Chaque GPO est associé à un fichier scripts.ini. Ce fichier est essentiellement un fichier de configuration créé automatiquement lorsqu'un GPO est créé dans AD. Le fichier est utilisé pour stocker des informations sur les scripts attribués au GPO, y compris le chemin d'accès à l'emplacement du script sur le disque et le fait qu'il doive être exécuté lors de la connexion, de la déconnexion, du démarrage ou de l'arrêt de l'ordinateur.

Le fichier scripts.ini est stocké dans le dossier SYSVOL de chaque contrôleur de domaine (DC) et est répliqué sur tous les DC du domaine. Lorsqu'un utilisateur se connecte à un ordinateur relié à un domaine, le fichier scripts.ini de chaque GPO concerné est lu pour déterminer les scripts à exécuter.

Le fichier scripts.ini constitue un emplacement central pour le stockage des informations relatives aux scripts attribués à un GPO. Cela facilite la gestion et la mise à jour des scripts dans plusieurs GPO et permet de s'assurer que les bons scripts sont exécutés au cours de la procédure de connexion.

Pour configurer un script de connexion GPO :

  1. Ouvrez l'éditeur de stratégie de groupe locale.
  2. Accédez à la section Configuration de l'utilisateur ou Configuration de l'ordinateur, selon que vous souhaitez appliquer le script de connexion aux utilisateurs ou aux ordinateurs.
  3. Allez dans la section Paramètres Windows.
  4. Sélectionnez Scripts (Logon/Logoff).
  5. Indiquez le chemin d'accès au script que vous souhaitez exécuter au cours de la procédure de connexion.

Chaque fois qu'un utilisateur se connecte à un ordinateur concerné par le GPO, le script correspondant est exécuté automatiquement, en fonction du type et de l'affectation du script. Un script de connexion s'exécute sur tout ordinateur auquel l'utilisateur se connecte ; un script de démarrage s'exécute quel que soit l'utilisateur qui se connecte à l'ordinateur (en fonction de la manière dont vous avez attribué le GPO).

Scripts de connexion et sécurité AD

Les vulnérabilités en matière de sécurité des stratégies de groupe constituent un risque courant pour les organisations qui utilisent AD. Les personnes interrogées dans notre dernier rapport Purple Knight ont fait état d'un score global de 63 pour la sécurité des stratégies de groupe, soit une note à peine acceptable. Compte tenu de l'influence potentielle des scripts de connexion sur les ordinateurs, les utilisateurs, les actifs, les services, les applications et les données de l'entreprise, il est essentiel de garantir leur sécurité et leur intégrité.

Le contrôle de la sécurité de vos scripts de connexion nécessite l'énumération de tous les GPO, l'analyse de ces GPO et la recherche des chemins d'accès aux scripts de connexion. Pour minimiser le risque d'accès non autorisé et les failles de sécurité potentielles, vous devez vérifier que les scripts de connexion sont bien formés, contrôlés et placés dans des chemins d'accès sécurisés.

Les attaquants qui obtiennent l'autorisation de modifier un script de connexion peuvent manipuler le script pour créer de nouveaux fichiers dans les chemins d'accès du script. Ils peuvent ainsi placer des logiciels malveillants dans le chemin d'accès, ce qui entraîne non seulement la destruction des données ou leur chiffrement à des fins de rançon, mais aussi une présence persistante sur les machines cibles. Cette persistance permet aux attaquants d'accéder à vos systèmes même après un redémarrage.

Que faut-il rechercher lors de l'évaluation des scripts de connexion ? Pour commencer, déterminez :

  • Si un utilisateur SID non connu (tel que les utilisateurs qui ne sont pas membres du groupe admins du domaine) dispose d'autorisations pour le chemin d'accès au script.
  • Quelles OU sont concernées par le GPO
  • Quels sont les paramètres d'héritage ou d'application qui s'appliquent au GPO ?

En outre, vérifiez le fichier scripts.ini dans chaque GPO et l'ensemble des autorisations sur le chemin d'accès.

Un contrôle régulier et continu de tous les scripts de connexion est essentiel pour la sécurité d'AD. Pour faciliter cette tâche, vous pouvez utiliser des outils tels que Purple Knight ou Semperis Directory Services Protector (DSP). Ces outils peuvent énumérer toutes les GPO, les analyser, trouver tous les scripts que les GPO configurent et examiner les chemins d'accès aux scripts, puis présenter ces informations dans un rapport généré.

Atténuer les risques liés aux scripts de connexion

Pour atténuer les risques liés aux scripts de connexion :

  1. Examinez le rapport de l'OGP et en présenter les conclusions.
  2. Supprimez tous les scripts inutiles des GPO de votre environnement.
  3. Apportez toutes les modifications nécessaires aux autorisations attribuées aux chemins d'accès et aux noms de fichiers signalés.
  4. Rescannez l'environnement AD pour déterminer si des changements supplémentaires sont nécessaires.

Atténuer les risques liés aux scripts de connexion à l'aide de Purple Knight

La figure 1 montre les résultats d'une analyse Purple Knight qui a révélé plusieurs problèmes dans les scripts de connexion aux GPO et leurs chemins d'accès.

Purple Knight scan, montrant les problèmes liés au script de connexion GPO
Figure 1. Analyse de Purple Knight , montrant les problèmes liés au script d'ouverture de session des GPO

Le rapport indique les GPO qui ont attribué les scripts, si le fichier existe et si des SID inconnus se voient attribuer des autorisations qui devraient être examinées.

Atténuer les risques liés aux scripts de connexion à l'aide de DSP

La figure 2 présente un rapport d'analyse de DSP.

DSP scan, montrant les problèmes liés au script de connexion GPO
Figure 2. DSP scan, montrant les problèmes liés au script de connexion des GPO

Ce rapport explique le concept qui sous-tend les indicateurs, les résultats de l'analyse et les mesures correctives suggérées.

La sécurité AD : une tâche permanente

Quelle que soit la méthode choisie pour surveiller les scripts de connexion aux GPO, vous devez régulièrement analyser AD pour vous assurer qu'aucune modification non autorisée n'a été apportée aux autorisations et qu'aucun script non contrôlé n'a été ajouté aux GPO. L'ajout de cette tâche à votre liste de choses à faire peut épargner à votre organisation la douleur d'une cyberattaque réussie.

En savoir plus sur la sécurité AD