skip to content

Recherche

Syspirit
FR

Event ID

Les Event ID du journal de sécurité Windows à connaître : connexions, verrouillages, Kerberos, requêtes Get-WinEvent et activation de l'audit !

Windows
Publié le
Karl Certa

Le journal de sécurité Windows enregistre chaque événement d’authentification, de modification de compte et d’accès. Encore faut-il savoir quel identifiant regarder. Les ID de cette fiche sont valables de Windows Server 2016 à 2025.

🔐 Connexions et sessions

📌 ID🧠 Signification📊 Quand le regarder
4624Ouverture de session réussieTracer qui s’est connecté et depuis où
4625Échec d’ouverture de sessionBrute force, mauvais mot de passe
4634Fermeture de sessionCalculer une durée de session
4647Déconnexion demandée par l’utilisateurDistinguer une vraie déconnexion RDP
4648Connexion avec identifiants explicitesrunas, élévation, mouvement latéral
4672Privilèges spéciaux attribuésUne session administrateur s’est ouverte
4776Validation d’identifiants NTLMSur le DC, quand le 4625 est muet

🚪 Types d’ouverture de session

Le champ « Type d’ouverture de session » du 4624 et du 4625 dit comment la connexion a eu lieu.

📌 Type🧠 Origine📊 Exemple concret
2InteractiveClavier, console physique
3RéseauPartage SMB, accès à distance
4BatchTâche planifiée
5ServiceDémarrage d’un service
7DéverrouillageRetour après mise en veille
8Réseau en clairAuthentification basique IIS
9Nouvelles informationsrunas /netonly
10Interactive à distanceRDP
11Interactive en cachePortable hors du domaine

❌ Codes d’échec du 4625

C’est le champ Sous-état qui porte la vraie raison, le champ État affichant souvent le générique 0xC000006D.

📌 Code🧠 Cause réelle
0xC0000064Le compte n’existe pas
0xC000006AMot de passe incorrect
0xC0000072Compte désactivé
0xC0000234Compte verrouillé
0xC0000070Station de travail non autorisée
0xC000006FConnexion hors des horaires autorisés
0xC0000071Mot de passe expiré
0xC0000193Compte expiré
0xC0000133Écart d’horloge entre client et DC

🔒 Verrouillage de compte

📌 ID🧠 Signification📊 Où chercher
4740Compte verrouilléSur l’émulateur PDC du domaine
4767Compte déverrouilléSavoir qui a débloqué, et quand
4771Échec de pré-authentificationLe poste fautif quand le 4740 est nu

👤 Comptes et groupes

📌 ID🧠 Signification
4720Compte créé
4722Compte activé
4725Compte désactivé
4726Compte supprimé
4738Compte modifié
4723Mot de passe changé par l’utilisateur
4724Mot de passe réinitialisé par un administrateur
4728Membre ajouté à un groupe global
4732Membre ajouté à un groupe local
4756Membre ajouté à un groupe universel

🎫 Kerberos

📌 ID🧠 Signification
4768Ticket d’authentification demandé (TGT)
4769Ticket de service demandé (TGS)
4771Échec de pré-authentification
📌 Code d’échec🧠 Cause
0x6Utilisateur inconnu du domaine
0x12Compte désactivé, verrouillé ou expiré
0x17Mot de passe expiré
0x18Mot de passe incorrect
0x25Écart d’horloge supérieur à 5 minutes

🚨 Signaux qui doivent alerter

📌 ID🧠 Signification📊 Journal
1102Le journal d’audit a été effacéSécurité
4697Un service a été installéSécurité, 2016 et +
7045Un service a été installéSystème, actif par défaut
4688Nouveau processus crééSécurité
4719La stratégie d’audit a été modifiéeSécurité
4798Énumération des groupes locauxSécurité, 2016 et +
5136Un objet Active Directory a été modifiéSécurité
4104Bloc de script PowerShell exécutéPowerShell/Operational

Le 4697 et le 7045 décrivent la même installation de service vue de deux sous-systèmes. Le 7045 est actif par défaut mais ne dit pas qui a agi, le 4697 demande une activation d’audit et porte le compte à l’origine.

🔎 Interroger le journal

📌 Action🧠 Commande
🔍 Filtrer sur un IDGet-WinEvent -FilterHashtable @{LogName='Security'; Id=4625}
🕐 Sur les dernières 24 hGet-WinEvent -FilterHashtable @{LogName='Security'; Id=4625; StartTime=(Get-Date).AddDays(-1)}
🖥️ Sur l’émulateur PDCGet-WinEvent -ComputerName (Get-ADDomain).PDCEmulator -FilterHashtable @{LogName='Security'; Id=4740}
🔢 Limiter le nombre... -MaxEvents 20
📖 Lire le détail complet... | Format-List TimeCreated, Message
🎯 Extraire un champ précis... | ForEach-Object { $_.Properties[1].Value }
⚡ Sans PowerShellwevtutil qe Security /q:"*[System[(EventID=4625)]]" /f:text /c:5 /rd:true
📏 Taille et rétentionGet-WinEvent -ListLog Security

⚙️ Activer l’audit

Un ID absent du journal ne signifie pas que rien ne s’est passé : la sous-catégorie n’est probablement pas activée.

📌 Action🧠 Commande
📋 État de toutes les catégoriesauditpol /get /category:*
📝 Lister les sous-catégoriesauditpol /list /subcategory:*
✅ Activer une sous-catégorieauditpol /set /subcategory:"Ouverture de session" /success:enable /failure:enable
📦 Agrandir le journal (1 Go)wevtutil sl Security /ms:1073741824

Par GPO, tout se passe dans Configuration ordinateur > Stratégies > Paramètres Windows > Paramètres de sécurité > Configuration avancée de la stratégie d’audit. Pour obtenir la ligne de commande dans les 4688, il faut en plus activer « Inclure la ligne de commande dans les événements de création de processus ».

🛠️ Dépannage courant

🆘 Problème🧠 Solution
❌ L’ID recherché n’apparaît jamaisSous-catégorie non activée, vérifier avec auditpol /get
🔍 Aucun 4740 sur le contrôleur interrogéInterroger l’émulateur PDC, lui seul l’enregistre
📭 Les événements disparaissent viteJournal saturé qui s’écrase, augmenter sa taille
🖥️ 4625 sans machine sourceConnexion réseau, croiser avec le 4776 sur le DC
🌐 auditpol refuse la sous-catégorieLes noms sont traduits sur un Windows français
⏰ Échecs Kerberos inexpliquésÉcart d’horloge, comparer avec w32tm /query /status

⚰️ Les ID qu’on trouve encore et qui n’existent plus

Beaucoup de tutoriels en ligne citent des identifiants à trois chiffres. Ils datent de Windows Server 2003 et ne sont plus générés depuis Vista et Server 2008. La conversion est mécanique : l’ancien identifiant plus 4096.

📌 Ancien🧠 Actuel📊 Signification
5284624Ouverture de session
5294625Échec d’ouverture
5384634Fermeture de session
6244720Compte créé
6324728Ajout à un groupe global
6444740Compte verrouillé
6754771Échec de pré-authentification
6804776Validation NTLM