Eine .evtx-Datei öffnen (5 Methoden, keine Installation erforderlich)
Fünf Wege, eine Windows .evtx-Datei zu öffnen: im Browser, im Event Viewer, mit wevtutil, mit EvtxECmd oder mit python-evtx. Wählen Sie nach Host-OS und wie viel Reibung Sie aushalten.
Eine .evtx-Datei ist das binäre Windows Event Log-Format (was darin steckt). Sie können sie nicht mit einem Texteditor lesen. Es ist BinXML in gechunkten binären Containern. Es gibt fünf Methoden, die jeden realistischen Fall abdecken, in grober Reihenfolge von "Datei ablegen und fertig" bis "in eine Python-Pipeline einbauen".
Methode 1: im Browser öffnen, keine Installation
Der schnellste Weg auf jedem Betriebssystem. Legen Sie die .evtx auf den Parser auf der Startseite dieser Seite ab. Die Datei wird in den Speicher Ihres Browsers gelesen und lokal von einem Web Worker geparst, der die Rust omerbenamram/evtx-Crate ausführt, die zu WebAssembly kompiliert wurde. Nichts verlässt Ihre Maschine. Bestätigen Sie das, indem Sie die Netzwerkverbindung trennen, bevor Sie die Datei ablegen.
Sie erhalten dieselbe Record-Level-Ansicht, die ein Desktop-Tool produziert: filterbare Timeline, vollständige <EventData> in die Tabelle abgeflacht, vollständiges XML mit einem Klick, CSV/JSON-Export des gefilterten Sets. Richtig für Ad-hoc-Triage, wenn Sie nichts installieren, nichts hochladen wollen oder auf einer Maschine sind, die nicht Ihre ist.
Einschränkung. Browser-Speicher-Caps bedeuten, dass Dateien größer als etwa 500 MB langsam werden. Für mehrere Gigabyte große archivierte Logs steigen Sie auf ein natives Tool um.
Methode 2: Event Viewer, nur Windows, eingebaut
Jede Windows-Installation liefert den Event Viewer. Starten Sie eventvwr.msc, dann Aktion / Gespeichertes Protokoll öffnen und wählen Sie die .evtx. Der Event Viewer bietet an, die Datei in Ihre aktuelle Ansicht zu importieren. Akzeptieren und Sie können sie wie jeden Live-Channel durchsuchen.
Aktion -> Gespeichertes Protokoll öffnen -> Durchsuchen -> .evtx auswählen -> OK
Gut zum Durchsuchen einer einzelnen Datei, zum Anschauen einer benutzerfreundlich formatierten Nachricht eines Records, zum Kopieren einer XML-Ansicht. Schwach zum Filtern Tausender Records (die UI wird langsam), für Bulk-Export oder zum Ausführen von Abfragen, die Sie skripten wollen. Auch am striktesten bei dirty trailing chunks: er lehnt Dateien ab, die andere Tools akzeptieren.
Methode 3: wevtutil und Get-WinEvent, Windows-Kommandozeile
wevtutil ist das Windows-eingebaute für die Log-Verwaltung. Get-WinEvent ist sein PowerShell-Gegenstück. Beide funktionieren auf gespeicherten .evtx-Dateien, nicht nur auf Live-Channels.
Jeden Record aus einer gespeicherten .evtx als Text dumpen:
wevtutil qe "C:\triage\Security.evtx" /lf:true /f:text > security.txt
Mit XPath filtern. Jedes 4624 in den letzten 24 Stunden:
wevtutil qe "C:\triage\Security.evtx" /lf:true /q:"*[System[EventID=4624 and TimeCreated[timediff(@SystemTime) <= 86400000]]]" /f:text
PowerShell mit demselben Zweck, aber typisierte Objekte zurückgebend:
Get-WinEvent -Path C:\triage\Security.evtx |
Where-Object { $_.Id -eq 4624 } |
Select-Object TimeCreated, Id, @{n='User';e={$_.Properties[5].Value}}
Gut für skriptbasierte Extraktion, geplante Jobs, chirurgisches Filtern. Der Trade-off ist Wortreichtum. XPath gegen XML ist präzise, aber nicht freundlich.
Methode 4: EvtxECmd, der DFIR-Standard
Eric Zimmermans EvtxECmd ist der Parser, auf den die meisten IR-Praktiker standardmäßig zurückgreifen. Er läuft nativ auf Windows und auf macOS / Linux unter .NET. Er parst schneller als wevtutil und flacht jedes <EventData>-Feld in eine CSV-Spalte ab. Eine Zeile pro Record.
EvtxECmd.exe -f Security.evtx --csv out --csvf parsed.csv
Für einen ganzen winevt\Logs\-Ordner in einem Durchgang, mit Maps, die wohlbekannte Event-Felder in benutzerfreundliche Spalten dekodieren:
EvtxECmd.exe -d "C:\triage\winevt\Logs" --csv out --csvf all.csv --maps "C:\Tools\EvtxECmd\Maps"
Richtig für Bulk-Parsing von Mehrdatei-Sammlungen, Importieren in ein SIEM oder Notebook, plattformübergreifenden Analyst-Workflow. EvtxECmd ist die richtige Antwort für fast jede "parse das offline"-Aufgabe. Paaren Sie es mit KAPEs EventLogs-Target und Sie haben eine Ein-Befehls-Engagement.
Methode 5: python-evtx, skripten Sie es in eine Pipeline
Wenn die Datei eine Python-Pipeline füttern muss, ist python-evtx der reine Python-Parser.
pip install python-evtx
python -m Evtx.evtx_dump path/to/file.evtx > out.xml
In einem Notebook oder Skript:
from Evtx.Evtx import Evtx
with Evtx("Security.evtx") as log:
for record in log.records():
xml = record.xml()
...
Langsamer als der Rust-Crate (interpretiertes Python auf binären Chunks), aber der richtige Aufruf, wenn Sie bereits in einer Python-Toolchain sind: Jupyter Forensic Notebooks, Threat-Hunting-Jobs, benutzerdefinierte Anreicherung, Verbindung von EVTX-Daten mit Registry, MFT, USN oder Prefetch-Artefakten aus demselben Fall.
Welche Methode wann verwenden
- Sie wollen nur die Datei ansehen: legen Sie sie auf den Startseiten-Parser ab. Am schnellsten, keine Installation.
- Windows-Endpoint mit Admin und die Datei ist klein: Event Viewer.
- Skript-basierte einmalige Extraktion:
wevtutiloderGet-WinEvent. - Echte DFIR auf Multi-Channel-Sammlungen: EvtxECmd.
- Eine Pipeline in Python bauen:
python-evtx.
Häufige Fehler und wie man sie liest
- "Die Datei scheint nicht gültig zu sein" im Event Viewer bedeutet fast immer, dass der trailing chunk dirty ist (die Datei wurde kopiert, während der EventLog-Service noch schrieb). Die meisten Parser kommen damit zurecht. Versuchen Sie den Browser-Parser oder
EvtxECmd, die beide dirty chunks als Warnung melden und fortfahren. - "Zugriff verweigert" von
wevtutilgegen eine Datei inwinevt\Logs\ist der EventLog-Service, der eine exklusive Sperre hält. Siehe .evtx von einem Live-System sammeln für die vier Standardwege drumherum. - Leere Ausgabe von
Get-WinEventauf einem gespeicherten Log. Übergeben Sie die Datei mit-Path, nicht-LogName.-LogNameliest nur Live-Channels. - PowerShell
Get-WinEventsagt "Es wurden keine Ereignisse gefunden, die den angegebenen Auswahlkriterien entsprechen". Ihre-FilterHashtable-Schlüssel sind bei einigen Properties case-sensitive. Versuchen Sie es zuerst ohne Filter, um zu bestätigen, dass die Datei parst.
Für Hintergrund dazu, was tatsächlich in einer .evtx ist und warum das Format so aussieht, wie es aussieht, siehe den Chunk-Level Deep Dive.