Audit et détection AD : stratégie d'audit et ID d'événements
Configurer la stratégie d'audit avancée, les SACL et Windows Event Forwarding pour réellement voir Kerberoasting, DCSync et les élévations de privilèges dans AD.
Le durcissement de la configuration réduit la surface d'attaque, mais il ne rend pas les attaques contre Active Directory impossibles : il les rend plus difficiles et plus bruyantes. Plus bruyantes, cela n'a d'intérêt que si quelqu'un, ou quelque chose, écoute. La plupart des compromissions AD qui aboutissent à la prise de contrôle du domaine réussissent non pas parce que la détection était techniquement impossible, mais parce que la stratégie d'audit, les SACL et la chaîne de collecte nécessaires pour les voir n'ont jamais été activées. Cet article couvre la configuration concrète de la stratégie d'audit avancée, les ID d'événements qui comptent, les SACL sur les objets sensibles et la chaîne de collecte (WEF, Defender for Identity, honeytokens) pour passer de « nous avons des journaux » à « nous le remarquerions ».
Configurer la stratégie d'audit avancée par GPO
La stratégie d'audit héritée (les neuf catégories de base) est trop grossière. Utilisez la configuration de la stratégie d'audit avancée (Advanced Audit Policy Configuration), appliquée via une GPO liée à l'UO Domain Controllers :
Chemin de stratégie de groupe : Computer Configuration > Policies > Windows Settings > Security Settings > Advanced Audit Policy Configuration > Audit Policies
Activez ces sous-catégories (succès et échec, sauf mention contraire) :
| Catégorie | Sous-catégorie | Pourquoi |
|---|---|---|
| Account Logon | Audit Credential Validation | Validation d'identifiants NTLM réussie/échouée sur les DC (4776) |
| Account Logon | Audit Kerberos Authentication Service | Demandes de TGT : 4768, avec le type de chiffrement pour détecter l'AS-REP roasting ; 4771 (échec de pré-authentification Kerberos) |
| Account Logon | Audit Kerberos Service Ticket Operations | Demandes de TGS : 4769, essentiel pour détecter le Kerberoasting |
| DS Access | Audit Directory Service Access | 4662 : nécessite des SACL sur les objets cibles ; détection de DCSync |
| DS Access | Audit Directory Service Changes | 5136, 5137, 5141 : ce qui a réellement changé sur les objets de l'annuaire |
| Account Management | Audit Security Group Management | 4728, 4732, 4756 : modifications d'appartenance aux groupes privilégiés |
| Account Management | Audit User Account Management | 4720, 4722, 4724, 4738 : création, activation, réinitialisation de mot de passe, modification d'attributs |
| Account Management | Audit Computer Account Management | 4741, 4742 : modifications d'objets ordinateur (utile pour l'abus de délégation) |
| Logon/Logoff | Audit Logon | 4624, 4625 : ouvertures de session interactives/réseau, réussies et échouées |
| Logon/Logoff | Audit Special Logon | 4672 : ouverture de session avec des privilèges élevés (équivalents administrateur) |
| Object Access | Audit SAM | 4661 : accès à la SAM locale sur les DC |
| Policy Change | Audit Authentication Policy Change | Modifications de la stratégie Kerberos et de la configuration des approbations |
| Policy Change | Audit Audit Policy Change | 4719 : altération de la stratégie d'audit elle-même |
Appliquez et vérifiez :
# Appliquer la GPO, puis confirmer les paramètres effectifs sur un DC
auditpol /get /category:*
# Vérifier une sous-catégorie précise
auditpol /get /subcategory:"Directory Service Access"
auditpol /get /subcategory:"Kerberos Service Ticket Operations"Si auditpol affiche « No Auditing » après une actualisation de la GPO, vérifiez que les paramètres d'audit des stratégies locales (Local Policies) de l'éditeur de stratégie de groupe locale ne remplacent pas la stratégie d'audit avancée : mélanger stratégie d'audit héritée et avancée sur une même machine provoque exactement ce symptôme. Positionnez Computer Configuration > Windows Settings > Security Settings > Local Policies > Security Options > Audit: Force audit policy subcategory settings (Windows Vista or later) to override audit policy category settings sur Enabled.
Les ID d'événements qui comptent le plus
| ID d'événement | Signification | Intérêt pour la détection d'attaques |
|---|---|---|
| 4768 | Demande de TGT Kerberos | AS-REP roasting (rechercher PreAuthType 0), password spraying |
| 4769 | Demande de ticket de service Kerberos | Kerberoasting : demandes répétées de tickets RC4 (0x17) sur de nombreux SPN depuis un même compte |
| 4771 | Échec de pré-authentification Kerberos | Password spraying / force brute |
| 4662 | Opération effectuée sur un objet AD | DCSync : filtrer sur les GUID DS-Replication-Get-Changes (1131f6aa-9c07-11d1-f79f-00c04fc2dcd2) et DS-Replication-Get-Changes-All (1131f6ad-9c07-11d1-f79f-00c04fc2dcd2) |
| 5136 | Objet du service d'annuaire modifié | Toute modification d'attribut sur un objet audité ; à associer au 4662 pour un contexte complet |
| 4728 / 4732 / 4756 | Membre ajouté à un groupe de sécurité global/local de domaine/universel | Élévation de privilèges par appartenance à un groupe |
| 4624 / 4625 | Ouverture de session réussie / échouée | Mouvement latéral, force brute ; corréler avec LogonType (3 = réseau, 10 = RDP) |
| 4672 | Privilèges spéciaux attribués à une nouvelle ouverture de session | Confirme qu'une ouverture de session équivalente administrateur a eu lieu |
| 4738 | Compte utilisateur modifié | Altération d'attributs : surveiller les changements de userAccountControl ou de SID history |
| 4719 | Stratégie d'audit système modifiée | Un attaquant ou un outil mal configuré désactive l'audit sur lequel vous comptez |
La détection de DCSync mérite qu'on y insiste : elle n'apparaît pas sous la forme d'un événement « DCSync » distinct. Elle se manifeste par un événement 4662 portant les deux GUID de réplication ci-dessus, émis par un principal de sécurité qui n'est pas un compte ordinateur de contrôleur de domaine ni un compte de service de réplication désigné. Tout autre principal invoquant ces droits étendus est un indicateur fort d'identifiants volés utilisés pour se faire passer pour un contrôleur de domaine.
SACL sur les objets sensibles
Les événements 4662 et 5136 ne se déclenchent que là où une liste de contrôle d'accès système (SACL) est configurée sur l'objet. Appliquez des SACL, et pas seulement une stratégie d'audit, sur :
- L'objet domaine lui-même (
DC=domain,DC=com) : indispensable pour détecter DCSync, puisque les droits de réplication sont évalués à la racine du domaine. AdminSDHolder(CN=AdminSDHolder,CN=System,DC=domain,DC=com).- Les groupes privilégiés : Domain Admins, Enterprise Admins, Schema Admins, Administrators, Account Operators, Backup Operators.
- Le compte
krbtgt. - Les GPO liées à l'UO Domain Controllers et à toutes les UO Tier 0.
Configurez-les via Paramètres de sécurité avancés > Audit sur l'objet, ou avec PowerShell :
$path = "AD:\DC=domain,DC=com"
$acl = Get-Acl $path
$sacl = New-Object System.DirectoryServices.ActiveDirectoryAuditRule(
[System.Security.Principal.SecurityIdentifier]"S-1-1-0", # Tout le monde : filtrer ensuite dans le SIEM
"WriteProperty,ExtendedRight",
"Success",
[guid]"1131f6aa-9c07-11d1-f79f-00c04fc2dcd2" # DS-Replication-Get-Changes
)
$acl.AddAuditRule($sacl)
Set-Acl -Path $path -AclObject $aclVérifiez la présence des SACL :
(Get-Acl "AD:\DC=domain,DC=com").Audit | Format-Table IdentityReference, ActiveDirectoryRights, AuditFlagsWindows Event Forwarding vers un collecteur
Les journaux d'événements locaux des contrôleurs de domaine ne constituent pas une preuve durable : un attaquant disposant des droits DA peut les effacer, et les journaux d'un seul DC donnent une image incomplète. Transférez-les vers un collecteur central :
- Sur le collecteur :
wecutil qcpour configurer le service Windows Event Collector. - Créez un abonnement (l'initiation par la source est la plus simple à grande échelle) ciblant les sous-catégories d'audit ci-dessus ; diffusez par GPO la valeur de registre
SubscriptionManagerqui pointe les DC vers le collecteur. - Sur les DC, assurez-vous que le service Windows Remote Management (WS-Management) est démarré et que le compte
Network Service(utilisé par le service de transfert) peut lire le journal Security : ajoutezNT AUTHORITY\NETWORK SERVICEau groupe intégré Event Log Readers (à l'échelle du domaine sur les DC), ou étendez le SDDL d'accès du canal Security par stratégie de groupe. - Vérifiez la réception :
Get-WinEvent -LogName "ForwardedEvents" -MaxEvents 20 -ComputerName <collector>
wecutil gr <SubscriptionName>Conservez les journaux transférés à un endroit d'où les administrateurs du domaine audité ne peuvent pas les supprimer : une couche distincte de gestion des journaux ou de SIEM, idéalement dans une frontière d'approbation/d'administration différente de celle des DC surveillés.
Microsoft Defender for Identity et honeytokens
Microsoft Defender for Identity déploie des capteurs sur les DC et les serveurs AD FS et corrèle la télémétrie réseau et les événements pour détecter la reconnaissance, l'utilisation de golden tickets, DCSync et les schémas de mouvement latéral, sans que vous ayez à construire chaque règle de détection à la main. C'est un complément solide, et non un substitut, à la stratégie d'audit et aux SACL ci-dessus, car Defender for Identity consomme lui-même la télémétrie ETW/d'audit locale du DC.
Comptes honeytoken : créez des comptes leurres sans aucun usage métier légitime, idéalement avec un nom ou un SPN attractif, aucune activité d'ouverture de session et un mot de passe d'apparence plausible (mais inutilisé), et déclenchez une alerte sur toute tentative d'authentification les visant. Defender for Identity permet nativement de marquer des comptes comme honeytokens ; sans lui, créez des alertes directement sur les événements 4768/4769/4624 dont le principal cible est le compte honeytoken. Une seule occurrence est un signal très fiable, puisqu'aucun processus légitime ne devrait jamais y toucher.
Ce que cela casse
Rien de fonctionnel : l'audit est passif. Le coût réel est le volume des journaux : activer largement l'audit Directory Service Access (4662), au lieu de limiter les SACL aux objets réellement sensibles, peut générer un volume d'événements énorme sur des DC chargés et saturer à la fois la rétention locale et votre collecteur WEF. Dimensionnez le stockage du collecteur et la capacité d'ingestion du SIEM à partir d'un pilote sur un sous-ensemble de DC avant de déployer la stratégie d'audit sur toute la forêt, et préférez des SACL ciblées à un « tout auditer ».
Une fois la détection en place, associez-la au durcissement des contrôleurs de domaine pour réduire ce que les attaquants peuvent faire avant que vous ne les voyiez, et à la sécurité des objets et des ACL pour réduire l'ensemble des objets dont la compromission est suffisamment grave pour justifier une SACL.
Questions fréquentes
Quel ID d'événement est le plus important pour détecter DCSync ?
L'événement 4662 (An operation was performed on an object), filtré sur la SACL Directory Service Access, en surveillant l'invocation des GUID de droits étendus DS-Replication-Get-Changes et DS-Replication-Get-Changes-All par un principal qui n'est ni un contrôleur de domaine ni un compte de réplication autorisé. C'est le signal le plus fiable d'une activité DCSync ; consultez l'entrée du glossaire sur DCSync pour le mécanisme sous-jacent.
L'audit Windows par défaut détecte-t-il les attaques AD sans configuration ?
Non. La stratégie d'audit par défaut des contrôleurs de domaine journalise relativement peu de ce qui compte pour détecter le vol d'identifiants, l'abus de Kerberos ou le détournement de la réplication. Vous devez activer les sous-catégories de la stratégie d'audit avancée par GPO et configurer des SACL sur les objets sensibles : rien d'exploitable pour détecter DCSync ou le Kerberoasting n'est journalisé tant que ce n'est pas fait.
Quel est le principal coût opérationnel de l'audit de sécurité AD ?
Le volume des journaux d'événements, principalement issu de Directory Service Access (événement 4662) et Directory Service Changes (événement 5136) si les SACL sont appliquées largement. Limitez les SACL aux objets réellement sensibles (AdminSDHolder, Domain Admins, krbtgt, GPO liées au Tier 0) plutôt qu'à tout l'annuaire, et dimensionnez votre collecteur Windows Event Forwarding et le stockage des journaux en conséquence avant d'activer l'audit sur toute la forêt.
Audit et détection AD : stratégie d'audit et ID d'événements