Data/Locales/checks/fr/ADLogonScriptChecks.json
|
{ "_family": "ADLogonScriptChecks.json", "ADSCRIPT-001": { "name": { "value": "Autorisations du partage NETLOGON", "status": "machine-draft" }, "description": { "value": "Le partage NETLOGON héberge les scripts d'ouverture de session qui s'exécutent sur chaque système joint au domaine lors de la connexion des utilisateurs. Des autorisations NTFS ou de partage trop permissives sur NETLOGON permettent à tout utilisateur authentifié de modifier des scripts, ce qui rend possible une exécution de code à grande échelle. Seuls les Domain Admins et les administrateurs autorisés devraient disposer d'un accès en écriture", "status": "machine-draft" }, "recommendedValue": { "value": "Partage NETLOGON : Utilisateurs authentifiés en lecture seule ; accès en écriture limité aux Domain Admins et aux administrateurs de GPO autorisés", "status": "machine-draft" }, "remediationSteps": { "value": "Examinez les autorisations NTFS sur le dossier NETLOGON (généralement %SystemRoot%\\SYSVOL\\sysvol\\<domaine>\\Scripts) sur chaque contrôleur de domaine. Supprimez les autorisations d'écriture, de modification ou de contrôle total pour les groupes non administratifs. Vérifiez que les autorisations de partage correspondent aux autorisations NTFS. Assurez-vous que les autorisations sont cohérentes sur tous les contrôleurs de domaine via la réplication DFSR.", "status": "machine-draft" } }, "ADSCRIPT-002": { "name": { "value": "Autorisations du partage SYSVOL", "status": "machine-draft" }, "description": { "value": "Le partage SYSVOL contient les modèles de stratégie de groupe, les scripts et les fichiers de configuration appliqués à tous les systèmes joints au domaine. Des autorisations SYSVOL incorrectes peuvent permettre à des utilisateurs non autorisés de modifier les paramètres de stratégie de groupe, de déployer des scripts malveillants ou d'altérer les configurations de sécurité affectant l'ensemble du domaine", "status": "machine-draft" }, "recommendedValue": { "value": "Partage SYSVOL : Utilisateurs authentifiés en lecture seule ; accès en écriture limité aux Domain Admins et à SYSTEM", "status": "machine-draft" }, "remediationSteps": { "value": "Auditez les autorisations NTFS sur l'arborescence du dossier SYSVOL de chaque contrôleur de domaine. Le dossier racine SYSVOL doit accorder aux Utilisateurs authentifiés les droits de lecture et d'exécution. Les sous-dossiers de GPO doivent correspondre aux autorisations définies sur l'objet GPC correspondant dans AD. Exécutez dcdiag /test:sysvolcheck pour identifier les problèmes d'autorisations. Réinitialisez les autorisations à l'aide de icacls si nécessaire.", "status": "machine-draft" } }, "ADSCRIPT-003": { "name": { "value": "Inventaire des scripts d'ouverture de session", "status": "machine-draft" }, "description": { "value": "Un inventaire de tous les scripts d'ouverture de session référencés par les comptes utilisateur (attribut scriptPath), des scripts de connexion/déconnexion de stratégie de groupe et des scripts de démarrage/arrêt offre une visibilité sur tout le code qui s'exécute automatiquement dans l'environnement. Les scripts présents dans NETLOGON mais non référencés peuvent être orphelins ou constituer des indicateurs d'une compromission passée", "status": "machine-draft" }, "recommendedValue": { "value": "Inventaire complet de tous les scripts d'ouverture de session, avec finalité documentée, propriétaire et date de dernière modification", "status": "machine-draft" }, "remediationSteps": { "value": "Énumérez tous les attributs scriptPath des utilisateurs à l'aide de Get-ADUser -Filter {scriptPath -like '*'} -Properties scriptPath. Listez tous les scripts configurés par GPO à partir des rapports de GPO. Inventoriez tous les fichiers du partage NETLOGON. Recoupez les données pour identifier les scripts orphelins, les scripts inutilisés et les scripts référencés par des comptes utilisateur mais absents de NETLOGON. Documentez la finalité et le propriétaire de chaque script.", "status": "machine-draft" } }, "ADSCRIPT-004": { "name": { "value": "Informations d'identification codées en dur dans les scripts", "status": "machine-draft" }, "description": { "value": "Les scripts d'ouverture de session contiennent fréquemment des informations d'identification codées en dur, notamment des mots de passe pour les mappages de lecteurs réseau, les comptes de service, les connexions de base de données et les clés d'API. Ces informations d'identification sont lisibles par tous les utilisateurs authentifiés via le partage NETLOGON et représentent une occasion triviale de collecte d'informations d'identification pour les attaquants", "status": "machine-draft" }, "recommendedValue": { "value": "Aucune information d'identification, aucun mot de passe ni aucune clé d'API codés en dur dans les scripts NETLOGON ou SYSVOL", "status": "machine-draft" }, "remediationSteps": { "value": "Analysez tous les scripts de NETLOGON et SYSVOL à la recherche de motifs indiquant des informations d'identification : password, passwd, pwd, credential, secret, apikey, token, connectionstring et mots-clés similaires. Remplacez les informations d'identification codées en dur par des alternatives sécurisées telles que le Gestionnaire d'informations d'identification Windows, des comptes gMSA ou des fichiers de configuration chiffrés à accès restreint. Renouvelez immédiatement toute information d'identification trouvée dans les scripts.", "status": "machine-draft" } }, "ADSCRIPT-005": { "name": { "value": "Utilisation de LOLBins dans les scripts", "status": "machine-draft" }, "description": { "value": "Les LOLBins (Living Off The Land Binaries) sont des exécutables Windows légitimes qui peuvent être détournés à des fins malveillantes. Leur présence dans les scripts d'ouverture de session peut indiquer qu'un attaquant a injecté des commandes malveillantes qui se fondent dans les opérations normales. Les LOLBins courants incluent certutil, bitsadmin, mshta, regsvr32, rundll32 et wscript, utilisés pour télécharger ou exécuter des charges utiles", "status": "machine-draft" }, "recommendedValue": { "value": "Aucune utilisation de LOLBins dans les scripts d'ouverture de session, sauf si elle est documentée et justifiée sur le plan opérationnel", "status": "machine-draft" }, "remediationSteps": { "value": "Analysez tous les scripts à la recherche de références à des LOLBins connus, notamment certutil, bitsadmin, mshta, regsvr32, rundll32, wscript, cscript, msiexec, installutil, regasm, regsvcs, msconfig et control. Examinez chaque occurrence pour déterminer si l'utilisation est légitime. Remplacez les LOLBins par des alternatives plus sûres lorsque c'est possible. Documentez toute utilisation de LOLBins requise sur le plan opérationnel.", "status": "machine-draft" } }, "ADSCRIPT-006": { "name": { "value": "Mots de passe en clair dans les scripts", "status": "machine-draft" }, "description": { "value": "Les scripts contenant des mots de passe en clair dans des commandes net use, des chaînes de connexion de base de données ou des affectations de variables exposent les informations d'identification à tout utilisateur de domaine authentifié capable de lire le partage NETLOGON. Cela inclut les mots de passe des comptes de service, des comptes de base de données et des ressources réseau, susceptibles d'offrir des chemins de déplacement latéral", "status": "machine-draft" }, "recommendedValue": { "value": "Aucun mot de passe en clair dans les fichiers de script ; toute authentification utilise la sécurité intégrée ou un stockage sécurisé des informations d'identification", "status": "machine-draft" }, "remediationSteps": { "value": "Recherchez dans tous les fichiers de script des motifs tels que « net use * /user: », des affectations de mot de passe en PowerShell ou en batch, des chaînes de connexion avec Password= ou Pwd=, et des appels WScript.Network.MapNetworkDrive comportant des informations d'identification. Remplacez toute utilisation d'informations d'identification en clair par l'authentification intégrée Windows, le Gestionnaire d'informations d'identification ou des comptes gMSA. Renouvelez immédiatement tous les mots de passe exposés.", "status": "machine-draft" } }, "ADSCRIPT-007": { "name": { "value": "Autorisations de script accessibles en écriture à tous", "status": "machine-draft" }, "description": { "value": "Les fichiers de script individuels dans NETLOGON ou SYSVOL qui accordent des autorisations d'écriture ou de modification à des utilisateurs non administratifs peuvent être modifiés par tout attaquant disposant d'informations d'identification de domaine. Même si les autorisations au niveau du partage sont correctes, des autorisations NTFS trop permissives au niveau des fichiers individuels créent une occasion d'exécution de code", "status": "machine-draft" }, "recommendedValue": { "value": "Tous les fichiers de script de NETLOGON et SYSVOL ne sont accessibles en écriture que par les Domain Admins et SYSTEM ; aucun accès en écriture pour les Domain Users ou les Utilisateurs authentifiés", "status": "machine-draft" }, "remediationSteps": { "value": "Énumérez les autorisations NTFS sur chaque fichier du partage NETLOGON et des dossiers de scripts SYSVOL. Identifiez les fichiers où les Domain Users, les Utilisateurs authentifiés, Tout le monde ou d'autres groupes larges disposent d'autorisations d'écriture, de modification ou de contrôle total. Réinitialisez les autorisations à l'aide de icacls pour accorder la lecture et l'exécution aux Utilisateurs authentifiés et le contrôle total uniquement aux Domain Admins et à SYSTEM.", "status": "machine-draft" } }, "ADSCRIPT-008": { "name": { "value": "Références à des ressources externes", "status": "machine-draft" }, "description": { "value": "Les scripts d'ouverture de session qui référencent des ressources externes telles que des URL Internet, des chemins UNC hors domaine ou des emplacements de stockage cloud introduisent un risque lié à la chaîne d'approvisionnement. Si la ressource externe est compromise, tous les systèmes exécutant le script téléchargeront et exécuteront du contenu malveillant. Les références externes créent également des occasions d'exfiltration de données", "status": "machine-draft" }, "recommendedValue": { "value": "Aucune référence à des URL externes, à des ressources Internet ou à des chemins UNC hors domaine dans les scripts d'ouverture de session", "status": "machine-draft" }, "remediationSteps": { "value": "Analysez tous les scripts à la recherche d'URL HTTP/HTTPS, de références FTP, de chemins UNC hors domaine et d'URL de stockage cloud (OneDrive, SharePoint Online, Azure Blob, AWS S3). Remplacez les références externes par des copies hébergées localement sur des partages de fichiers internes. Si des ressources externes sont requises, mettez en place une vérification d'intégrité (contrôles de hachage) avant l'exécution. Documentez toutes les dépendances de ressources externes approuvées.", "status": "machine-draft" } }, "ADSCRIPT-009": { "name": { "value": "Scripts mal formés", "status": "machine-draft" }, "description": { "value": "Les scripts comportant des erreurs de syntaxe, des problèmes d'encodage ou un contenu corrompu peuvent échouer silencieusement lors de l'exécution, entraînant une configuration de sécurité incomplète ou des mappages de lecteurs manquants. Les scripts mal formés peuvent également indiquer une altération, un attaquant ayant modifié un script mais introduit des erreurs, ou des problèmes d'encodage masquant du contenu malveillant injecté", "status": "machine-draft" }, "recommendedValue": { "value": "Tous les scripts passent la validation de syntaxe sans anomalies d'encodage ni erreurs structurelles", "status": "machine-draft" }, "remediationSteps": { "value": "Validez la syntaxe des scripts à l'aide des outils appropriés : scripts PowerShell avec Test-ScriptFileInfo ou PSScriptAnalyzer, fichiers batch par examen manuel des blocs non fermés et des commandes invalides, VBScript avec la vérification de syntaxe WSH. Vérifiez l'encodage des fichiers pour détecter des séquences d'octets inattendues ou un encodage mixte. Examinez les scripts à l'encodage inhabituel (UTF-16 avec BOM dans les fichiers batch, octets nuls) pour détecter une éventuelle injection.", "status": "machine-draft" } }, "ADSCRIPT-010": { "name": { "value": "Chemins UNC vers des emplacements non-DC", "status": "machine-draft" }, "description": { "value": "Les scripts d'ouverture de session qui référencent des chemins UNC pointant vers des partages de fichiers autres que des contrôleurs de domaine créent une dépendance envers des systèmes supplémentaires et étendent la surface d'attaque. Si le serveur de fichiers référencé est compromis, un attaquant peut modifier les ressources partagées pour diffuser des charges utiles malveillantes via le mécanisme de confiance des scripts d'ouverture de session. Les chemins UNC peuvent également être exploités pour des attaques de relais NTLM", "status": "machine-draft" }, "recommendedValue": { "value": "Tous les chemins UNC des scripts référencent SYSVOL ou NETLOGON sur les contrôleurs de domaine ; aucune référence à des partages de fichiers non-DC pour le contenu des scripts", "status": "machine-draft" }, "remediationSteps": { "value": "Analysez tous les scripts à la recherche de chemins UNC (motifs \\\\serveur\\partage). Identifiez les chemins qui ne pointent pas vers les partages SYSVOL ou NETLOGON du domaine. Migrez les ressources référencées vers le partage NETLOGON le cas échéant. Pour les références légitimes à des partages de fichiers, assurez-vous que les serveurs cibles sont des actifs Tier 0 ou Tier 1 dûment durcis. Documentez toutes les dépendances de chemins UNC non-DC approuvées.", "status": "machine-draft" } }, "ADSCRIPT-011": { "name": { "value": "Analyse du contenu des scripts", "status": "machine-draft" }, "description": { "value": "Une analyse complète du contenu de tous les scripts d'ouverture de session peut révéler des motifs suspects au-delà des vérifications spécifiques, tels que du code obfusqué, des commandes encodées en base64, des chargeurs de téléchargement PowerShell, des exécutables encodés et des techniques anti-analyse. Ces motifs sont des indicateurs forts d'une injection de script malveillant ou de portes dérobées implantées par des attaquants", "status": "machine-draft" }, "recommendedValue": { "value": "Aucun code obfusqué, charge utile encodée, chargeur de téléchargement ni technique anti-analyse présent dans les scripts d'ouverture de session", "status": "machine-draft" }, "remediationSteps": { "value": "Analysez tous les scripts à la recherche de motifs suspects, notamment l'encodage base64 (Convert-FromBase64, certutil -decode), les chargeurs de téléchargement (Invoke-WebRequest, Net.WebClient, BitsTransfer), les techniques d'obfuscation (concaténation de chaînes, codes de caractères, substitution de variables pour masquer des commandes) et les techniques anti-analyse (minuteurs de veille, vérifications d'environnement). Investiguez et remplacez tout script contenant des motifs suspects.", "status": "machine-draft" } } } |