为什么用 evtx 而不是文本
取证要求保存原始 evtx 而不是文本导出:wevtutil epl 按通道导出原始文件,qe 用于只读查询。原始文件保留了完整的结构化字段,文本导出会丢失后续分析需要的维度。
导出与分析分离
原件只读保存,分析在副本上进行,避免反复查询动作影响日志文件本身。导出后立即计算哈希并登记证据清单,形成可追溯的链条。
基本信息
| 导出 | wevtutil epl Security C:\evidence\Security.evtx |
|---|---|
| 查询 | wevtutil qe Security /c:50 /rd:true /f:text |
| 条件查询 | /q:"*[System[(EventID=4625)]]" |
| 通道清单 | wevtutil el 列出全部日志通道 |
| 通道信息 | wevtutil gli <通道> 查看容量与最旧记录时间 |
| 校验 | Get-FileHash -Algorithm SHA256 并登记清单 |
典型使用场景
- 事件处置开始时固定日志证据
- 按条件快速查询而不改动原件
- 移交与分析前确认文件完整
- 满足审计与合规的留存要求
- 为时间线重建准备数据
导出并校验事件日志
导出并校验事件日志
New-Item -ItemType Directory -Force C:\evidence | Out-Null
wevtutil epl Security C:\evidence\Security.evtx
wevtutil epl System C:\evidence\System.evtx
wevtutil qe Security "/q:*[System[(EventID=4625)]]" /c:20 /rd:true /f:text
Get-FileHash C:\evidence\Security.evtx -Algorithm SHA256 | Format-List
wevtutil gli Security输出逐列读法
| 输出项 | 含义 | 正常/异常 |
|---|---|---|
| 导出文件大小 | 与通道内容量对应 | 过小说明导出失败或该通道为空 |
| qe 输出 | 事件文本视图 | 只是展示形式,不能当证据原件 |
| 哈希 | 文件摘要 | 必须与清单一起归档保存 |
| gli 输出 | 通道容量与最旧记录时间 | 用于判断日志是否已被覆盖 |
分析与导出分离:原件只读保存,分析在副本上做;导出件立即计算 SHA256 并登记,避免事后被质疑完整性。
事件日志容量有限,旧记录会被覆盖:若发现日志范围不足以覆盖入侵时间窗,应尽快导出并从日志转发或归档系统中寻找更早的记录。
通道选择的判断依据
- 先确认哪些通道在事发时间窗内确实有记录
- 优先选择同时包含账号与命令行信息的通道
- 管理类通道常被忽略但往往留下关键线索
- 导出后统计每个文件的事件数量级做基本校验
导出后的整理
- 按通道命名文件并记录导出时间与操作人
- 计算并保存每个文件的哈希
- 清单与文件分别保留副本
- 在报告中注明日志覆盖的时间范围