Aller au contenu

ID d'événements de sécurité Active Directory : référence DC

Les ID d'événements AD à collecter sur les DC : ouverture de session, Kerberos, NTLM, comptes, groupes, annuaire et AD CS, avec les champs à exploiter en chasse.

Florian Amette12 min de lecture

Le journal Security d'un contrôleur de domaine peut enregistrer quelques centaines d'ID d'événements distincts. Une quarantaine d'entre eux vous apprennent quelque chose d'utile sur une attaque contre Active Directory, et un nombre bien plus restreint vous disent ce qui s'est passé lorsqu'on les lit isolément. Cette référence liste les événements qui comptent sur les DC et les serveurs AD CS. Pour chacun, elle indique la sous-catégorie d'audit qui le produit, ce qu'il enregistre et les champs sur lesquels filtrer lors d'une chasse aux menaces.

L'article pilier sur l'audit et la détection couvre l'activation de la stratégie d'audit avancée et des SACL. Cette page suppose ce travail réalisé et se concentre sur la lecture du résultat. Toutes les sous-catégories se trouvent sous Computer Configuration > Policies > Windows Settings > Security Settings > Advanced Audit Policy Configuration > Audit Policies.

Comment lire cette référence

Trois règles font gagner du temps :

  • L'endroit où l'événement est journalisé compte. Kerberos (4768, 4769, 4771) et la validation NTLM (4776) pour les comptes du domaine sont journalisés sur le DC qui a traité la demande. Les événements d'ouverture de session (4624, 4625) sont journalisés sur la machine sur laquelle l'utilisateur a ouvert une session. Une ouverture de session sur un serveur de fichiers produit un 4769 sur un DC et un 4624 sur le serveur de fichiers.
  • Rien n'est journalisé si la sous-catégorie n'est pas activée. Les événements d'annuaire nécessitent en outre une SACL sur l'objet.
  • Filtrez sur les champs, pas sur le texte du message. Les messages d'événements sont localisés et évoluent dans le temps, mais les noms de champs XML (TargetUserName, TicketEncryptionType, Status) sont stables.

Requête par ID et par champ sur un DC :

PowerShell
# Les 50 derniers échecs de pré-authentification Kerberos sur ce DC
Get-WinEvent -FilterHashtable @{ LogName = 'Security'; Id = 4771 } -MaxEvents 50 |
  ForEach-Object {
    $x = [xml]$_.ToXml()
    [pscustomobject]@{
      Time    = $_.TimeCreated
      Account = ($x.Event.EventData.Data | Where-Object Name -eq 'TargetUserName').'#text'
      Client  = ($x.Event.EventData.Data | Where-Object Name -eq 'IpAddress').'#text'
      Code    = ($x.Event.EventData.Data | Where-Object Name -eq 'Status').'#text'
    }
  }

Événements d'ouverture de session et de session

Sous-catégories : Logon/Logoff > Audit Logon, Audit Special Logon, Audit Logoff, Audit Other Logon/Logoff Events.

ID d'événementEnregistreCe qu'il faut chercher
4624Ouverture de session réussieLogonType, IpAddress, AuthenticationPackageName, LogonProcessName. Comptes privilégiés ouvrant une session sur des hôtes hors Tier 0.
4625Échec d'ouverture de sessionCodes Status / SubStatus (voir ci-dessous). De nombreux comptes en échec depuis une même source signalent un spraying.
4634 / 4647Fermeture de session / fermeture initiée par l'utilisateurDurée de session. Peu utile isolément.
4648Ouverture de session avec des identifiants explicitesrunas, tâches planifiées et outils qui transmettent d'autres identifiants. Identifiants d'administration saisis sur des postes de travail.
4672Privilèges spéciaux attribués à une nouvelle ouverture de sessionIdentifie les sessions équivalentes administrateur. Corrélez son SubjectLogonId avec le TargetLogonId du 4624 correspondant.
4964Groupes spéciaux attribués à une nouvelle ouverture de sessionNe se déclenche que pour les groupes configurés dans la valeur de registre SpecialGroups. Un moyen peu coûteux de signaler les ouvertures de session de groupes Tier 0.

Types d'ouverture de session sur lesquels vous filtrerez : 2 interactive, 3 réseau, 4 batch, 5 service, 7 déverrouillage, 8 réseau en texte clair, 9 NewCredentials (runas /netonly, également produit par certains outils d'injection d'identifiants), 10 RemoteInteractive (RDP), 11 interactive mise en cache.

Codes de sous-statut 4625 courants :

CodeSignification
0xC0000064Le nom d'utilisateur n'existe pas
0xC000006AUtilisateur correct, mot de passe erroné
0xC0000234Compte verrouillé
0xC0000072Compte désactivé
0xC000006FOuverture de session hors des heures autorisées
0xC0000070Restriction de poste de travail
0xC0000071Mot de passe expiré
0xC0000193Compte expiré
0xC000015BType d'ouverture de session non accordé (attribution des droits utilisateur)

Une rafale de 0xC000015B pour des comptes Tier 0 sur des postes de travail correspond souvent à vos droits de refus d'ouverture de session par tier qui fonctionnent comme prévu, et mérite d'être suivie dans le temps.

Événements Kerberos

Sous-catégories : Account Logon > Audit Kerberos Authentication Service (4768, 4771, 4772) et Audit Kerberos Service Ticket Operations (4769, 4770, 4773).

ID d'événementEnregistreCe qu'il faut chercher
4768Demande de TGT (AS-REQ)PreAuthType 0 signifie aucune pré-authentification : le compte est vulnérable à l'AS-REP roasting. TicketEncryptionType 0x17 signifie RC4. Status 0x6 signifie compte inconnu (énumération d'utilisateurs).
4769Demande de ticket de service (TGS-REQ)TicketEncryptionType 0x17 pour des SPN de comptes utilisateur. Un compte demandant rapidement de nombreuses valeurs ServiceName distinctes signale du Kerberoasting.
4770Ticket de service renouveléPeu utile. Pratique pour reconstituer la chronologie d'une session.
4771Échec de pré-authentificationStatus 0x18 correspond à un mauvais mot de passe, 0x12 à un compte désactivé, expiré ou verrouillé, 0x25 à un décalage d'horloge.
4772 / 4773Échec de demande de TGT / de ticket de serviceRarement observés. Enquêtez sur les pics.

Valeurs des types de chiffrement : 0x11 AES128, 0x12 AES256, 0x17 RC4-HMAC, 0x18 RC4-HMAC-EXP, 0x1 / 0x3 DES (ne devraient jamais apparaître). Suivre 0x17 dans les 4768 et 4769 permet de mesurer votre progression vers la désactivation de RC4. Les builds récentes ajoutent des champs comme les clés disponibles pour le compte et le type de chiffrement de la clé de session. Ils facilitent grandement cette mesure : mettez à jour vos analyseurs pour les exploiter.

Un 4769 en échec avec le Status 0x1F (échec du contrôle d'intégrité d'un champ déchiffré) peut signaler des tickets forgés ou altérés. Attendez-vous à des faux positifs liés à l'horloge et aux approbations : traitez-les comme des pistes d'enquête, pas comme des verdicts.

Événements NTLM

Sous-catégorie : Account Logon > Audit Credential Validation.

ID d'événementEnregistreCe qu'il faut chercher
4776Le DC a tenté de valider les identifiants d'un compte (NTLM)Status 0xC000006A mauvais mot de passe, 0xC0000064 utilisateur inconnu. Le champ Workstation indique le nom de client déclaré. Volume de NTLM utilisé par des comptes privilégiés.
4774 / 4775Compte associé / impossible à associer pour l'ouverture de sessionRare. Enquêtez s'il apparaît.

Pour connaître l'usage de NTLM par version de protocole et par serveur cible, activez Network security: Restrict NTLM: Audit NTLM authentication in this domain (Sécurité réseau : restreindre NTLM : auditer l'authentification NTLM dans ce domaine) et lisez le journal Microsoft-Windows-NTLM/Operational (8001 à 8004). Cette démarche est décrite dans auditer et restreindre NTLM.

Événements de gestion des comptes

Sous-catégories : Account Management > Audit User Account Management, Audit Computer Account Management, Audit Security Group Management.

Utilisateurs

ID d'événementEnregistreCe qu'il faut chercher
4720Compte utilisateur crééComptes créés hors de votre processus de provisionnement ou par des administrateurs inattendus.
4722 / 4725Compte activé / désactivéComptes dormants réactivés.
4723 / 4724Tentative de changement / de réinitialisation de mot de passe4724 effectué par un principal hors support sur un compte privilégié.
4726Compte suppriméEffacement de traces.
4738Compte utilisateur modifiéModifications de UserAccountControl (par exemple « Don't require preauth » ou « Trusted for delegation »), SidHistory, AllowedToDelegateTo.
4740Compte verrouilléJournalisé sur l'émulateur PDC. CallerComputerName indique la source.
4765 / 4766SID History ajouté / échec de l'ajoutEn dehors d'une migration, tout 4765 est critique. Voir le nettoyage de SID History.
4780ACL définie sur des comptes membres de groupes d'administrateursActivité de SDProp. Voir AdminSDHolder et SDProp.
4794Tentative de définition du mot de passe administrateur DSRMDoit correspondre à des tickets de changement.

Groupes

ID d'événementEnregistreÉtendue
4727 / 4730 / 4737Groupe de sécurité créé / supprimé / modifiéGlobal
4728 / 4729Membre ajouté / retiréGlobal (Domain Admins)
4731 / 4734 / 4735Groupe de sécurité créé / supprimé / modifiéDomaine local
4732 / 4733Membre ajouté / retiréDomaine local (Administrators, Backup Operators)
4754 / 4758 / 4755Groupe de sécurité créé / supprimé / modifiéUniversel
4756 / 4757Membre ajouté / retiréUniversel (Enterprise Admins, Schema Admins)
4764Type de groupe modifiéConversions de groupes de distribution en groupes de sécurité
4799Appartenance à un groupe local énuméréeReconnaissance visant les groupes intégrés

Déclenchez des alertes en temps réel sur les 4728, 4732 et 4756 dont la cible est un groupe Tier 0. Filtrez sur TargetSid plutôt que sur le nom, afin de couvrir aussi les groupes renommés ou localisés.

Ordinateurs

ID d'événementEnregistreCe qu'il faut chercher
4741Compte ordinateur crééCréations par des utilisateurs non administrateurs (le quota de comptes machine à l'œuvre).
4742Compte ordinateur modifiéServicePrincipalNames, indicateurs de délégation de UserAccountControl, modifications du nom d'hôte DNS.
4743Compte ordinateur suppriméSuppressions inattendues.

Événements du service d'annuaire

Sous-catégories : DS Access > Audit Directory Service Access (4662) et Audit Directory Service Changes (5136 à 5141). SACL requises.

ID d'événementEnregistreCe qu'il faut chercher
4662Opération effectuée sur un objetDes Properties contenant 1131f6aa-9c07-11d1-f79f-00c04fc2dcd2 ou 1131f6ad-9c07-11d1-f79f-00c04fc2dcd2 en provenance d'un non-DC signalent DCSync. Également les lectures d'objets leurres.
5136Objet modifiéAttributeLDAPDisplayName tel que member, nTSecurityDescriptor, gPLink, msDS-AllowedToActOnBehalfOfOtherIdentity, msDS-KeyCredentialLink, servicePrincipalName.
5137Objet crééNouveaux objets dans les UO Tier 0, nouvelles GPO (groupPolicyContainer).
5138Objet restauréRéanimation de comptes autrefois privilégiés.
5139Objet déplacéComptes sortis des UO couvertes par vos GPO ou vos SACL.
5141Objet suppriméGPO, UO ou utilisateurs supprimés.

Le 5136 journalise un événement par valeur d'attribut ajoutée ou retirée, avec un OperationType %%14674 (valeur ajoutée) ou %%14675 (valeur supprimée). Une seule modification d'ACL produit un événement de suppression pour l'ancien descripteur et un événement d'ajout pour le nouveau. Corrélez la paire via OpCorrelationID.

Événements utiles en dehors du journal Security :

  • Journal Directory Service, 2889 : liaisons LDAP sans signature. Voir la signature LDAP et la liaison de canal.
  • Journal Directory Service, 2089 : partition non sauvegardée dans l'intervalle de latence de sauvegarde.
  • Journal System, 7045 : nouveau service installé sur un DC.

Événements de stratégie, d'approbation et d'intégrité du système

ID d'événementSous-catégorieEnregistre
4719Audit Audit Policy ChangeStratégie d'audit système modifiée
1102(toujours journalisé)Journal Security effacé
4713Audit Authentication Policy ChangeStratégie Kerberos modifiée
4739Audit Authentication Policy ChangeStratégie de domaine modifiée (mot de passe ou verrouillage)
4706 / 4707Audit Authentication Policy ChangeApprobation vers un domaine créée / supprimée
4716Audit Authentication Policy ChangeInformations du domaine approuvé modifiées (filtrage des SID, attributs)
4697Audit Security System ExtensionService installé
4698 / 4702Audit Other Object Access EventsTâche planifiée créée / mise à jour
4688Audit Process CreationProcessus créé (activez la capture de la ligne de commande)
5145Audit Detailed File ShareAccès aux fichiers de SYSVOL et NETLOGON

Traitez les 1102, 4719 et tout 4706 sur les DC comme des événements justifiant d'alerter quelqu'un immédiatement. Les occurrences légitimes sont rares et doivent toujours correspondre à un ticket de changement.

Événements AD CS

Sous-catégorie : Object Access > Audit Certification Services. L'autorité de certification a également besoin de son propre filtre d'audit, à définir sur le serveur de l'AC :

PowerShell
certutil -setreg CA\AuditFilter 127
Restart-Service certsvc
ID d'événementEnregistreCe qu'il faut chercher
4886Demande de certificat reçueVolume par demandeur.
4887Demande de certificat approuvée et certificat émisRequester différent du nom de sujet ou du SAN du certificat émis (abus ESC1).
4888Demande refuséeSondage des modèles.
4898 / 4899 / 4900Modèle chargé / mis à jour / sécurité du modèle mise à jourModifications de modèles hors gestion des changements.
4882Autorisations de sécurité de l'AC modifiéesModifications des ACL de l'AC.

Sur les DC, les événements 39, 40 et 41 du journal System (Kerberos-Key-Distribution-Center) signalent des mappages de certificats faibles. Ils sont traités dans le mappage fort des certificats. La vue d'ensemble des modèles se trouve dans le durcissement d'AD CS.

Pièges

  • Volumes inattendus. Les 4624 de type 3, 4634, 4769 et 4662 dominent le volume des journaux des DC. Transférez-les malgré tout, mais dimensionnez le journal Security (plusieurs Go sur les DC chargés) pour que les journaux locaux couvrent au moins quelques jours si la chaîne de transfert se bloque.
  • Confusion entre 4771 et 4625. Les échecs Kerberos ne produisent pas de 4625 sur le DC. Une détection de spraying fondée uniquement sur le 4625 manque la plupart des attaques à l'échelle du domaine.
  • Noms localisés. Les noms de groupes figurant dans les événements sont localisés sur les DC non anglophones. Faites correspondre sur les SID : les RID de domaine bien connus (512 Domain Admins, 519 Enterprise Admins, 518 Schema Admins) et le SID intégré S-1-5-32-544 (Administrators), qui n'a pas de préfixe de domaine.
  • Stratégie d'audit mixte. Si des paramètres de catégories hérités sont appliqués en même temps que la stratégie d'audit avancée sans que Audit: Force audit policy subcategory settings soit activé, les événements cessent silencieusement.
  • Dérive du périmètre des SACL. Une SACL pour Tout le monde en lecture de toutes les propriétés à la racine du domaine inondera le journal. Limitez l'audit des lectures aux leurres et l'audit des écritures aux objets Tier 0.
  • Décalage d'horloge. Corréler un 4768 sur un DC avec un 4624 sur un serveur ne fonctionne que si la synchronisation horaire est saine dans tout le domaine.

Pour aller plus loin : sortez ces événements des DC avec Windows Event Forwarding, transformez-en une poignée en alertes quasiment sans faux positifs grâce aux honeytokens, et parcourez le reste de la thématique audit, journalisation et détection.

Questions fréquentes

Pourquoi ne vois-je pas les événements 4662 ou 5136 alors que l'audit est activé ?

Ces deux événements nécessitent deux choses : la sous-catégorie Directory Service Access ou Directory Service Changes activée sur les contrôleurs de domaine, et une SACL sur l'objet consulté ou modifié. La stratégie d'audit décide seule des catégories journalisées ; la SACL décide des objets et des opérations qui génèrent des événements. S'il manque l'un des deux, vous n'obtenez rien. Vérifiez la stratégie effective avec auditpol /get /category:* et l'onglet Audit de l'objet ou sa propriété Audit via Get-Acl.

Quel journal enregistre une ouverture de session Kerberos échouée pour mauvais mot de passe ?

Le contrôleur de domaine qui a traité la demande journalise l'événement 4771 avec le code d'échec 0x18 lorsque la pré-authentification Kerberos échoue à cause d'un mauvais mot de passe. Les échecs NTLM apparaissent quant à eux sous l'événement 4776 avec l'erreur 0xC000006A. Le poste de travail ou le serveur sur lequel l'utilisateur a tenté d'ouvrir une session enregistre localement un 4625. Pour voir un password spraying à l'échelle du domaine, il vous faut les événements 4771 et 4776 de tous les DC, pas seulement de l'émulateur PDC.

Les ID d'événements sont-ils identiques sous Windows Server 2016, 2019, 2022 et 2025 ?

Les ID et leur signification sont stables entre ces versions, ce qui explique que du contenu SIEM écrit il y a des années fonctionne encore. Ce qui change, c'est l'ensemble des champs de certains événements. Des mises à jour cumulatives récentes ont ajouté des champs aux événements Kerberos 4768 et 4769, comme les clés disponibles pour le compte et le type de chiffrement de la clé de session, afin d'aider à repérer l'usage de RC4. Analysez les événements par nom de champ plutôt que par position, pour que les nouveaux champs ne cassent pas vos détections.

ID d'événements de sécurité Active Directory : référence DC

Guides associés

Sécurité des objets & ACL

Trouver et supprimer les droits DCSync dans AD

Auditez qui détient DS-Replication-Get-Changes-All et les droits équivalents sur la racine du domaine, retirez ceux qui ne doivent pas exister et alertez sur le DCSync.

Fondamental
Audit, journalisation & détection

Honeytokens AD : comptes, SPN et objets leurres

Déployer dans AD comptes leurres, SPN leurres, leurres AS-REP, faux mots de passe GPP et objets à lecture auditée, avec des alertes quasi sans faux positifs.

Intermédiaire