Un domaine Windows, des droits trop larges, et un attaquant patient
Dans la majorité des incidents traités en Suisse romande, le vecteur de persistance n'est pas un exploit 0-day : c'est un compte de service avec un mot de passe de 2019, membre de Domain Admins, utilisé pour faire tourner un script de sauvegarde. Active Directory concentre l'ensemble des identités, des politiques et des accès d'une organisation Windows. Mal configuré, il transforme chaque poste compromis en rampe de lancement vers l'ensemble du parc.
Le Centre national pour la cybersécurité (NCSC) recense régulièrement des incidents impliquant des PME suisses de moins de 100 employés où l'attaquant a mis moins de 48 heures entre le premier accès et le chiffrement des sauvegardes. La raison : des chemins d'escalade AD non maîtrisés.
Surface d'attaque AD : les vecteurs courants dans les PME
Kerberoasting et AS-REP Roasting
Tout compte de service avec un Service Principal Name (SPN) défini peut être ciblé par une attaque Kerberoasting : un utilisateur authentifié demande un ticket Kerberos pour ce service, récupère un hash chiffré avec le mot de passe du compte, et le soumet à une attaque hors-ligne. Sur un parc de 50 endpoints avec 5 à 10 comptes de service anciens, la probabilité de trouver un mot de passe faible est élevée. L'AS-REP Roasting cible quant à lui les comptes où la pré-authentification Kerberos est désactivée — une option parfois activée par erreur sur des comptes legacy.
ACL abusives et délégations mal configurées
Les Access Control Lists d'AD accumulent des permissions au fil des années. Un compte helpdesk qui a reçu GenericWrite sur une OU il y a 4 ans peut aujourd'hui réinitialiser le mot de passe d'un Domain Admin sans alerte. Les délégations Kerberos non contraintes (unconstrained delegation) permettent à un serveur de s'authentifier auprès de n'importe quel service au nom d'un utilisateur : si ce serveur est compromis, l'attaquant obtient des tickets pour tous les services accessibles aux utilisateurs qui s'y connectent.
Comptes orphelins et groupes fantômes
Selon les observations terrain, une PME de 80 personnes avec 5 ans d'historique RH présente en moyenne 15 à 25 % de comptes utilisateurs actifs correspondant à des collaborateurs partis. Ces comptes conservent souvent leurs droits d'origine. Les groupes imbriqués (groupes membres d'autres groupes sur 3 à 4 niveaux) rendent l'audit manuel quasi impossible sans outil dédié.
NTLM résiduel et Pass-the-Hash
NTLM est encore activé par défaut dans la majorité des domaines Windows Server 2016/2019/2022. Un attaquant ayant accès à un hash NTLM — via une capture réseau sur le port UDP 137/138 ou TCP 139/445, ou via responder sur un segment non segmenté — peut s'authentifier sans connaître le mot de passe en clair (Pass-the-Hash).
Cadre réglementaire suisse : ce que nLPD impose concrètement
La nouvelle loi fédérale sur la protection des données (nLPD), en vigueur depuis le 01.09.2023, impose aux responsables du traitement de prendre des mesures techniques et organisationnelles appropriées pour protéger les données personnelles. L'Active Directory d'une PME contient systématiquement des données personnelles : noms, adresses e-mail, numéros de téléphone, éventuellement informations salariales si l'AD est couplé à un ERP.
Un compromis AD impliquant une exfiltration de ces données déclenche l'obligation de notification au Préposé fédéral à la protection des données et à la transparence (PFPDT) dans les meilleurs délais si la violation est susceptible d'entraîner un risque élevé pour les personnes concernées. La nLPD prévoit des sanctions pénales pouvant atteindre CHF 250 000 pour les personnes physiques responsables en cas de manquement délibéré aux obligations de sécurité.
Concrètement, un AD exposant des mots de passe faibles sur des comptes de service traitant des données RH constitue une absence de mesure appropriée au sens de l'art. 8 nLPD. La documentation des mesures de sécurité AD doit être incluse dans le registre des activités de traitement (art. 12 nLPD pour les entreprises dépassant les seuils ou traitant des données sensibles à grande échelle).
Mesures de durcissement : priorité et effort
1. Inventaire et nettoyage des comptes (effort : 1-2 jours)
Exporter l'ensemble des comptes via PowerShell (Get-ADUser -Filter * -Properties LastLogonDate, PasswordLastSet, MemberOf) et identifier :
- Comptes inactifs depuis plus de 90 jours → désactiver immédiatement, supprimer après 30 jours de validation.
- Comptes membres de Domain Admins, Enterprise Admins, Schema Admins : vérifier que chaque entrée est justifiée, documentée, et correspond à un compte dédié à l'administration (jamais le compte du quotidien).
- Comptes de service : recenser tous les SPN, documenter leur usage, forcer un mot de passe de 25 caractères minimum aléatoire, activer les Managed Service Accounts (gMSA) lorsque le service le supporte.
2. Stratégies de mots de passe et MFA (effort : 0,5 jour)
Configurer une Fine-Grained Password Policy (PSO) appliquant 16 caractères minimum sur les comptes privilégiés, conformément aux recommandations du CIS Benchmark Windows Server. Désactiver l'expiration périodique des mots de passe pour les comptes standard (NIST SP 800-63B recommande de ne pas forcer la rotation sans raison de compromission) et activer à la place la vérification par liste noire (Have I Been Pwned via PowerShell ou solution on-prem). Activer le MFA sur tous les comptes avec accès RDP ou VPN, y compris les comptes de service interactifs.
3. Segmentation des privilèges et modèle de tiers (effort : 2-5 jours)
Implémenter un modèle de tiers minimal (Tier 0 / Tier 1 / Tier 2) :
- Tier 0 : contrôleurs de domaine, AD Connect, PKI. Accès uniquement via des postes d'administration dédiés, jamais exposés à Internet.
- Tier 1 : serveurs applicatifs, serveurs de fichiers. Comptes d'administration Tier 1 distincts des comptes utilisateurs.
- Tier 2 : postes de travail. Les admins locaux utilisent LAPS (Local Administrator Password Solution) pour garantir un mot de passe unique par machine.
LAPS est disponible nativement depuis Windows Server 2022/Windows 11 22H2 sous le nom Windows LAPS, intégré à l'AD sans agent additionnel.
4. Audit et journalisation (effort : 1 jour)
Activer via GPO les catégories d'audit suivantes (paramètres dans Computer Configuration → Windows Settings → Security Settings → Advanced Audit Policy) :
- Account Logon : succès et échecs (Event ID 4768, 4769, 4771).
- Account Management : modifications de groupes privilégiés (Event ID 4728, 4732, 4756).
- DS Access : modifications d'objets AD (Event ID 5136).
- Logon/Logoff : sessions interactives et réseau (Event ID 4624, 4625, 4648).
Centraliser ces logs vers un SIEM ou au minimum un serveur syslog avec rétention de 90 jours minimum (exigence raisonnable pour une investigation post-incident conforme nLPD).
5. Restriction NTLM et protocoles legacy
Configurer la GPO Network Security: Restrict NTLM: NTLM authentication in this domain en mode Audit pendant 2 semaines, analyser les événements 8004 dans le journal Microsoft-Windows-NTLM/Operational, puis passer en Deny All après élimination des exceptions. Désactiver SMBv1 sur tous les systèmes (confirmation via Get-SmbServerConfiguration | Select EnableSMB1Protocol). Désactiver LLMNR et NetBIOS-over-TCP/IP via GPO pour éliminer les vecteurs de capture Responder.
Cas pratique : fiduciaire vaudoise de 45 postes
Une fiduciaire basée à Lausanne, 45 postes Windows 11 23H2, un contrôleur de domaine Windows Server 2019, sans RSSI interne, sous-traite son IT à un MSP. Suite à une tentative d'intrusion détectée par leur EDR en mars 2024 — un hash NTLM capturé sur le segment de bureau et utilisé pour tenter une connexion sur le contrôleur de domaine — le MSP mandate un audit AD.
Constat initial :
- 12 comptes utilisateurs inactifs depuis plus de 6 mois, dont 2 membres de Domain Admins (anciens collaborateurs).
- 3 comptes de service avec des mots de passe définis à la création en 2018, mot de passe à 10 caractères, aucune expiration.
- NTLM non restreint, SMBv1 activé sur 2 machines legacy (Windows 10 21H2 non migrées).
- Aucune journalisation centralisée, logs locaux écrasés toutes les 48h.
- LAPS non déployé, mot de passe administrateur local identique sur tous les postes.
Plan de remédiation sur 10 jours ouvrés :
- J1 — DSI + MSP : Désactivation immédiate des 12 comptes inactifs. Suppression des 2 ex-collaborateurs de Domain Admins. Blocage de l'authentification NTLM en mode Audit.
- J2-3 — MSP : Rotation des mots de passe des 3 comptes de service (génération aléatoire 32 caractères, stockage dans un gestionnaire de mots de passe chiffré). Migration 2 comptes vers gMSA (services compatibles). Déploiement LAPS via GPO sur les 45 postes.
- J4 — MSP : Désactivation SMBv1. Désactivation LLMNR et NetBIOS via GPO. Migration des 2 machines Windows 10 planifiée pour J+30 (contrainte applicative métier à résoudre).
- J5 — MSP + DSI : Activation des catégories d'audit AD. Déploiement d'un collecteur de logs (Windows Event Forwarding vers serveur Windows Server dédié). Rétention configurée à 90 jours.
- J6-7 — MSP : Analyse des logs NTLM capturés en mode Audit. Identification de 4 exceptions légitimes (imprimante réseau, NAS, application métier). Configuration des exceptions dans la GPO NTLM.
- J8 — MSP + DSI : Passage NTLM en mode Deny All avec exceptions documentées. Test de fonctionnement des services critiques.
- J9 — DSI + juriste externe : Documentation des mesures dans le registre des traitements nLPD. L'incident de mars n'ayant pas conduit à une exfiltration confirmée, pas de notification PFPDT requise — mais la procédure est documentée pour preuve de diligence.
- J10 — DSI : Revue post-remédiation, définition d'une revue trimestrielle des comptes AD et d'un test annuel de restauration.
Coût estimé : 3 500 à 5 000 CHF de prestation MSP pour l'audit et la remédiation (hors migration applicative). Coût de non-remédiation estimé en cas de ransomware sur 45 postes : entre 80 000 et 150 000 CHF (arrêt d'activité, restauration, notification clients, honoraires juridiques).
Récapitulatif opérationnel
- Inventaire comptes : Désactiver tout compte inactif > 90 jours. Vérifier mensuellement les membres de Domain Admins et Enterprise Admins.
- Comptes de service : Migrer vers gMSA quand possible. Forcer 25 caractères minimum. Éliminer les SPN inutilisés.
- LAPS : Déployer Windows LAPS sur 100 % des postes pour garantir l'unicité du mot de passe administrateur local.
- NTLM : Passer en mode Audit pendant 2 semaines, documenter les exceptions, basculer en Deny All.
- SMBv1 / LLMNR / NetBIOS : Désactiver sans exception sur tous les systèmes supportés. Planifier la migration des systèmes legacy.
- Journalisation : Activer les 4 catégories d'audit AD. Centraliser avec rétention 90 jours minimum.
- Modèle de tiers : Séparer comptes d'administration (Tier 0/1/2) des comptes du quotidien. Jamais de navigation web depuis un compte Domain Admin.
- MFA : Activer sur tous les accès distants (RDP, VPN, portails web). Inclure les comptes de service interactifs.
- Revue trimestrielle : Planifier un audit des ACL et des délégations tous les 90 jours — les dérives s'accumulent silencieusement.
- Documentation nLPD : Intégrer l'état de sécurité AD dans le registre des traitements. Documenter chaque incident même non notifiable, pour preuve de diligence.
SynGuard accompagne les PME suisses dans l'audit et le durcissement de leurs environnements AD et endpoints, sans dépendance à un éditeur unique.
Sources
- NCSC — Ransomware : menaces et recommandations — Conseils officiels du Centre national pour la cybersécurité sur la menace ransomware pour les organisations suisses.
- Fedlex — Loi fédérale sur la protection des données (nLPD) — Texte consolidé de la nLPD en vigueur depuis le 01.09.2023.
- PFPDT — Obligations de notification — Procédure de notification au Préposé fédéral en cas de violation de données personnelles.
- CIS Benchmarks — Microsoft Windows Server — Référentiels de configuration sécurisée pour Windows Server, incluant les paramètres AD.
- NCSC — Informations pour les entreprises — Recommandations NCSC spécifiques aux PME et entreprises suisses.