Qu'est-ce qu'un fichier .evtx ? Le format du journal d'événements Windows expliqué
Un fichier .evtx est un journal d'événements Windows binaire. Où ils résident, ce qu'ils contiennent, en quoi ils diffèrent du .evt, et comment les ouvrir. Sans rien installer.
Un fichier .evtx est le format binaire du journal d'événements Windows que Microsoft a livré avec Vista en 2007 pour remplacer l'ancien .evt. Chaque événement que le système d'exploitation, un pilote, un service ou une application écrit dans le journal d'événements Windows atterrit dans un fichier .evtx sur disque. Ils constituent la colonne vertébrale de toute enquête sous Windows. Si vous faites du DFIR sous Windows, vous passerez plus de temps dans ces fichiers que dans n'importe quelle autre classe d'artefacts.
Réponse rapide
Les fichiers .evtx sont écrits par le service Windows EventLog dans C:\Windows\System32\winevt\Logs\. Un fichier par canal (Security.evtx, System.evtx, Application.evtx, plus les canaux propres à chaque application). En interne, chaque fichier est un conteneur binaire découpé en chunks d'enregistrements encodés en BinXML. Pas du texte brut. On les lit avec l'Observateur d'événements, wevtutil, Get-WinEvent, ou un analyseur tiers.
Où résident les fichiers .evtx
Emplacement standard sur toutes les versions de Windows prises en charge (de Vista à Windows 11 et Server 2025) :
C:\Windows\System32\winevt\Logs\
Chaque fichier .evtx correspond à un canal d'événements. Les canaux par défaut :
Security.evtx. Connexions, usages de privilèges, modifications de la stratégie d'audit. La valeur forensique la plus élevée sur la plupart des cas.System.evtx. Pilotes, services, erreurs au niveau noyau.Application.evtx. Erreurs et événements informationnels au niveau applicatif.Setup.evtx. Enregistrements d'installation.ForwardedEvents.evtx. Événements collectés depuis d'autres hôtes via Windows Event Forwarding (WEF).
Les canaux propres à chaque application sont stockés dans le même dossier, où %4 remplace le séparateur de chemin :
Microsoft-Windows-Sysmon%4Operational.evtx. Événements Sysmon de processus, réseau et fichiers (lorsqu'il est installé).Microsoft-Windows-PowerShell%4Operational.evtx. Journalisation des scriptblocks et des modules PowerShell.Microsoft-Windows-TaskScheduler%4Operational.evtx. Créations et exécutions de tâches planifiées.Microsoft-Windows-TerminalServices-LocalSessionManager%4Operational.evtx. Cycle de vie des sessions RDP.
Les canaux faisant l'objet d'une rotation produisent des fichiers d'archive horodatés dans le même dossier (Security.evtx, Archive-Security-2026-05-23-...evtx). Le fichier actif est tenu ouvert par le service EventLog tant que Windows est en cours d'exécution, ce qui est la raison entière pour laquelle il existe un article de collecte sur la façon de récupérer ces fichiers depuis un hôte vivant.
Ce que contient un fichier .evtx
Le fichier est un conteneur binaire, pas du texte brut. Un en-tête de 4 Ko (magic ElfFile\0) est suivi d'une séquence de chunks de 64 Ko. Chaque chunk possède son propre en-tête (ElfChnk), une table des templates XML qui apparaissent à l'intérieur, et un flux d'enregistrements qui référencent ces templates par identifiant. Un analyseur reconstruit chaque événement en substituant les valeurs propres à l'enregistrement aux placeholders du template. C'est ce qui rend le .evtx plus compact que du XML littéral sur disque.
Une fois décodé, chaque enregistrement est un document XML en deux moitiés :
<System>. Nom du provider, canal, Event ID, niveau (1 Critical à 5 Verbose), nom de l'ordinateur, contexte de sécurité, et horodatage d'écriture UTC.<EventData>. Paramètres propres au provider : le compte cible sur une connexion, le chemin d'image sur une création de processus, la clé de registre sur une écriture auditée, etc.
L'Event ID seul suffit rarement au triage. Le signal forensique vit dans <EventData>. Pour la mécanique en profondeur du format (chunks, BinXML, templates, récupération des dirty chunks), voir le deep dive au niveau chunk.
.evtx vs .evt : pourquoi le format a changé
Le format .evt historique utilisé par Windows jusqu'à XP et Server 2003 avait trois limites strictes que le nouveau format a été conçu pour corriger :
- Chaînes de taille fixe. Les enregistrements
.evttransportaient des références à des tables de messages plutôt que le message complet. Les jointures à la lecture cassaient quand les DLL sources étaient absentes ou mises à jour. - Pas d'interrogation structurée. Le filtrage exigeait de lire et d'analyser chaque enregistrement linéairement.
- Un seul canal par fichier. Les journaux applicatifs personnalisés nécessitaient leurs propres formats non standard.
Le .evtx (Vista, 2007) a introduit les enregistrements BinXML, des fichiers par canal avec une imbrication arbitraire, le filtrage de style XPath via wevtutil qe et Get-WinEvent -FilterHashtable, ainsi qu'une structure en chunks qui survit aux écritures partielles. La contrepartie était une rupture totale de compatibilité. .evt et .evtx ne sont pas interchangeables, et le seul outil intégré qui lit .evt sur un Windows moderne est wevtutil avec son drapeau hérité (et uniquement pour exporter vers .evtx).
Comment ouvrir un fichier .evtx
Cinq voies courantes, par ordre approximatif de friction :
- Dans votre navigateur, sans installation. Déposez le fichier dans l'analyseur sur la page d'accueil de ce site. Il fait tourner la crate Rust
omerbenamram/evtxcompilée en WebAssembly à l'intérieur d'un Web Worker. Rien ne quitte votre machine. Adapté pour un triage ad hoc lorsque vous ne voulez pas démarrer une VM forensique. - Observateur d'événements (
eventvwr.msc). L'interface graphique intégrée à Windows. Action / Ouvrir un journal enregistré / sélectionnez le.evtx. Bon pour la navigation, faible pour le filtrage à grande échelle. wevtutil/Get-WinEvent. Ligne de commande et PowerShell, tous deux livrés avec Windows.wevtutil qe path\to\file.evtx /f:text /lf:truedéverse chaque enregistrement.Get-WinEvent -Pathrenvoie des objets que vous pouvez piper dansWhere-Object.- EvtxECmd. L'analyseur d'Eric Zimmerman. Multiplateforme via .NET, rapide, produit du CSV avec une ligne par enregistrement et tout
<EventData>aplati. python-evtx. Pur Python, facile à scripter. Plus lent que la crate Rust mais utile lorsque vous disposez déjà d'une chaîne d'outillage Python.
Pour un parcours complet de chaque méthode avec les commandes réellement à exécuter, voir Comment ouvrir un fichier .evtx.
Quand vous rencontrez du .evtx sur le terrain
- Réponse à incident. Extrait d'un hôte compromis dans le cadre du triage. Les canaux d'intérêt dépendent de la piste :
Securitypour les connexions et l'abus de privilèges,Sysmonpour les arborescences de processus,PowerShellpour le contenu des scriptblocks. Combinez avec les parsers registre, MFT, journal USN, AmCache et prefetch pour la corroboration d'exécution. - Audits de conformité. Les auditeurs demandent
Security.evtxsur une fenêtre définie pour vérifier l'historique des connexions et des changements de politique. - Débogage applicatif.
Application.evtxainsi que les canaux par éditeur contiennent souvent un contexte de crash et d'erreur que les propres journaux de l'application n'ont pas. - Threat hunting. Des règles long-tail contre des
.evtxarchivés (ou un SIEM transférant le canal en direct) capturent des patterns à combustion lente comme du RDP hors heures ou des dérives deLogonTypesur des comptes de service.
Le pivot le plus utile à lui seul est l'Event ID. Pour la liste courte qui mérite sa place dans un vrai SOC (4624, 4625, 1102, 4104, 7045, Sysmon 1), voir l'orientation de départ.