Skip to content

Qu'est-ce qu'un fichier .evtx ? Le format Windows Event Log 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.

Publié le 6 {n} min de lecture

Un fichier .evtx est le format binaire des journaux d'événements Windows que Microsoft a livré avec Windows Vista en 2007 pour remplacer l'ancien format .evt. Chaque événement que le système d'exploitation, un pilote, un service ou une application écrit dans le Windows Event Log atterrit dans un fichier .evtx sur disque. Ils constituent la colonne vertébrale de toute enquête sous Windows.

Réponse rapide

Les fichiers .evtx sont écrits par le service Windows EventLog dans C:\Windows\System32\winevt\Logs\. Il existe un fichier par canal (Security.evtx, System.evtx, Application.evtx, ainsi que 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

L'emplacement standard sur toutes les versions de Windows prises en charge (de Vista à Windows 11 / Server 2025) :

C:\Windows\System32\winevt\Logs\

Chaque fichier .evtx correspond à un canal d'événements. Les canaux par défaut que l'on retrouve systématiquement :

  • Security.evtx — connexions, usages de privilèges, modifications de la stratégie d'audit. Le plus haut niveau de valeur forensique dans la plupart des affaires.
  • 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 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 Inside the EVTX file format.

.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 .evt transportaient 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 un 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 :

  1. 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/evtx compilé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.
  2. Observateur d'événements (eventvwr.msc) — l'interface graphique intégrée à Windows. Ouvrez l'Observateur d'événements → Action → Ouvrir un journal enregistré… → sélectionnez le .evtx. Bon pour la navigation, faible pour le filtrage à grande échelle.
  3. wevtutil / Get-WinEvent — ligne de commande et PowerShell, tous deux livrés avec Windows. wevtutil qe path\to\file.evtx /f:text /lf:true déverse chaque enregistrement ; Get-WinEvent -Path renvoie des objets que vous pouvez piper dans Where-Object.
  4. EvtxECmd — l'analyseur d'Eric Zimmerman. Multiplateforme via .NET, rapide, produit du CSV avec une ligne par enregistrement et tout <EventData> aplati.
  5. 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 — Security pour les connexions et l'abus de privilèges, Sysmon pour les arborescences de processus, PowerShell pour le contenu des scriptblocks.
  • Audits de conformité. Les auditeurs demandent Security.evtx sur une fenêtre définie pour vérifier l'historique des connexions et des changements de politique.
  • Débogage applicatif. Application.evtx ainsi 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 .evtx archivés (ou un SIEM transférant le canal en direct) capturent des patterns à combustion lente comme du RDP hors heures ou des dérives de LogonType sur 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 connexion réussie, 4625 connexion échouée, 1102 journal effacé, 4104 scriptblock PowerShell, 7045 service installé, Sysmon 1 création de processus — voir l'orientation de départ.