Codes d'événements Windows
Les événements à connaître pour auditer les connexions, les comptes, les services et les arrêts inattendus, avec le journal concerné et la requête Get-WinEvent pour les retrouver.
Résultats
Le journal Security demande une invite élevée, et l'audit des événements doit être activé par stratégie (Configuration avancée de la stratégie d'audit).
Liste complète
Afficher les 25 entrées
4624 : ouverture de session réussie4624 · journal Security · type de session (Logon Type)Un compte s'est connecté. Le type indique comment : 2 interactif, 3 réseau, 4 batch, 5 service, 7 déverrouillage, 10 bureau à distance (RDP), 11 identifiants en cache.
Get-WinEvent -FilterHashtable @{LogName='Security'; Id=4624; StartTime=(Get-Date).AddHours(-24)} | Select -First 20 TimeCreated,@{n='Compte';e={$_.Properties[5].Value}},@{n='Type';e={$_.Properties[8].Value}}4625 : échec d'ouverture de session4625 · journal Security · sous-état (Sub Status)Une tentative de connexion a échoué. Le sous-état précise la cause : 0xC000006A mot de passe erroné, 0xC0000064 compte inexistant, 0xC0000234 compte verrouillé, 0xC0000072 compte désactivé, 0xC000006F hors des heures autorisées.
Get-WinEvent -FilterHashtable @{LogName='Security'; Id=4625; StartTime=(Get-Date).AddHours(-6)} | Select TimeCreated,@{n='Compte';e={$_.Properties[5].Value}},@{n='IP source';e={$_.Properties[19].Value}}4634 / 4647 : fermeture de session4634 (fermeture) · 4647 (déconnexion initiée par l'utilisateur)Fin d'une session. Associez l'identifiant de session (Logon ID) à celui du 4624 pour calculer la durée.
4648 : connexion avec des identifiants explicites4648 · journal SecurityUne session a utilisé d'autres identifiants que ceux de l'utilisateur (runas, tâche planifiée, mappage de lecteur).
4768 / 4769 / 4771 : Kerberos4768 (demande de TGT) · 4769 (ticket de service) · 4771 (préauthentification échouée)Événements Kerberos sur les contrôleurs de domaine. 4771 avec le code 0x18 signale un mot de passe erroné.
4776 : validation NTLM4776 · journal Security (contrôleurs de domaine)Le contrôleur de domaine a validé des identifiants via NTLM. Le code d'erreur 0xC000006A signifie mot de passe erroné.
4740 : verrouillage d'un compte4740 · journal Security (contrôleur de domaine PDC)Un compte a été verrouillé. Le champ « Caller Computer Name » indique la machine à l'origine des mauvais mots de passe.
Get-WinEvent -ComputerName (Get-ADDomain).PDCEmulator -FilterHashtable @{LogName='Security'; Id=4740} | Select TimeCreated,@{n='Compte';e={$_.Properties[0].Value}},@{n='Machine';e={$_.Properties[1].Value}}4720 / 4722 / 4725 / 4726 : cycle de vie d'un compte4720 créé · 4722 activé · 4725 désactivé · 4726 suppriméCréation, activation, désactivation et suppression d'un compte utilisateur.
4723 / 4724 : changement ou réinitialisation de mot de passe4723 (changement par l'utilisateur) · 4724 (réinitialisation par un administrateur)Un mot de passe a été changé ou réinitialisé.
4728 / 4732 / 4756 : ajout à un groupe4728 (groupe global de sécurité) · 4732 (groupe local) · 4756 (groupe universel)Un membre a été ajouté à un groupe de sécurité. Surveillez surtout Administrateurs, Admins du domaine et Admins de l'entreprise.
4672 : privilèges spéciaux attribués4672 · journal SecurityUne session a reçu des privilèges sensibles (par exemple SeDebugPrivilege). Normal pour les comptes administrateurs et SYSTEM.
4688 : création d'un processus4688 · journal SecurityUn processus a démarré. Avec l'option « Inclure la ligne de commande », l'événement contient les arguments.
1102 : journal d'audit effacé1102 · journal Security (104 pour les autres journaux)Le journal de sécurité a été effacé. Cet événement est toujours enregistré, même si l'audit est désactivé.
Get-WinEvent -FilterHashtable @{LogName='Security'; Id=1102} | Select TimeCreated,Message4719 : modification de la stratégie d'audit4719 · journal SecurityLa stratégie d'audit système a changé.
4697 / 7045 : installation d'un service4697 (Security) · 7045 (System, Service Control Manager)Un nouveau service a été installé. Les logiciels malveillants et les outils d'exécution à distance (PsExec) en créent.
Get-WinEvent -FilterHashtable @{LogName='System'; Id=7045} | Select TimeCreated,@{n='Service';e={$_.Properties[0].Value}},@{n='Chemin';e={$_.Properties[1].Value}}7034 / 7036 / 7031 : état d'un service7036 (démarré/arrêté) · 7034 (arrêt inattendu) · 7031 (arrêt inattendu avec action de récupération)Changements d'état et plantages de services.
Get-WinEvent -FilterHashtable @{LogName='System'; ProviderName='Service Control Manager'; Id=7034,7031} -MaxEvents 204698 / 4702 : tâche planifiée créée ou modifiée4698 (créée) · 4699 (supprimée) · 4702 (modifiée)Création et modification de tâches planifiées, une technique courante de persistance.
41 (Kernel-Power) : redémarrage sans arrêt propre41 · journal System · Kernel-PowerLe système a redémarré sans s'être arrêté proprement (coupure, plantage, blocage).
Get-WinEvent -FilterHashtable @{LogName='System'; ProviderName='Microsoft-Windows-Kernel-Power'; Id=41} -MaxEvents 10 | Select TimeCreated,Message6005 / 6006 / 6008 : démarrage et arrêt du journal6005 (démarrage) · 6006 (arrêt propre) · 6008 (arrêt inattendu)Marqueurs de démarrage et d'arrêt du service Journal des événements, utiles pour reconstituer la disponibilité.
Get-WinEvent -FilterHashtable @{LogName='System'; Id=6005,6006,6008} -MaxEvents 20 | Select TimeCreated,Id1074 : arrêt ou redémarrage initié1074 · journal System · User32Indique quel processus ou utilisateur a demandé l'arrêt ou le redémarrage, et la raison.
Get-WinEvent -FilterHashtable @{LogName='System'; Id=1074} -MaxEvents 10 | Select TimeCreated,Message1000 / 1001 : plantage d'application1000 (Application Error) · 1001 (Windows Error Reporting)Une application s'est arrêtée brutalement ; le module en faute est indiqué dans le message.
Get-WinEvent -FilterHashtable @{LogName='Application'; Id=1000} -MaxEvents 10 | Select TimeCreated,Message55 / 98 (Ntfs) · 7 (disk) : erreurs de disque55 (Ntfs : structure corrompue) · 7 et 11 (disk : bloc défectueux, erreur contrôleur)Erreurs de système de fichiers ou de disque. Les événements disk 7, 11 ou 51 annoncent souvent un disque en fin de vie.
Get-WinEvent -FilterHashtable @{LogName='System'; ProviderName='disk','Ntfs'} -MaxEvents 20 | Select TimeCreated,ProviderName,Id,Message0xC000006D · 0xC000006A · 0xC0000064 : codes d'état de connexion0xC000006D (échec générique) · 0xC000006A (mot de passe erroné) · 0xC0000064 (utilisateur inconnu)Codes d'état et de sous-état d'un événement 4625. 0xC000006D donne l'état ; le sous-état précise la raison.
0xC0000234 · 0xC0000072 · 0xC0000193 : compte verrouillé, désactivé, expiré0xC0000234 (verrouillé) · 0xC0000072 (désactivé) · 0xC0000193 (expiré)Sous-états courants d'un échec de connexion qui expliquent pourquoi un utilisateur n'entre pas.
Codes d'écran bleu : 0x0000007E · 0x00000050 · 0x0000009FSYSTEM_THREAD_EXCEPTION_NOT_HANDLED · PAGE_FAULT_IN_NONPAGED_AREA · DRIVER_POWER_STATE_FAILUREArrêts fréquents : 0x7E pointe souvent un pilote, 0x50 la mémoire ou un pilote, 0x9F la gestion d'alimentation d'un pilote.
Get-ChildItem C:\Windows\Minidump | Sort LastWriteTime -Descending | Select -First 3 Get-WinEvent -FilterHashtable @{LogName='System'; Id=1001} -MaxEvents 5 | Select Message