Windows应急响应-日志篇
字数 3543 2025-08-06 18:08:14

Windows应急响应-日志篇

Windows事件ID基础

Windows事件日志中的每个事件都有一个唯一的事件ID,可以通过右键"group"查看"summary"来了解该ID代表的具体信息。

登录类型ID详解

Windows登录事件中会记录登录类型,以数字形式表示:

登录类型ID 描述
2 Interactive - 用户登录到本机
3 Network - 用户或计算机从网络登录到本机
4 Batch - 批处理登录类型,无需用户干预
5 Service - 服务控制管理器登录
7 Unlock - 用户解锁主机
8 NetworkCleartext - 用户从网络登录,密码以非哈希形式传递
9 NewCredentials - 进程或线程克隆当前令牌,但为出站连接指定新凭据
10 Remotelnteractive - 使用终端服务或远程桌面连接登录
11 Cachedlnteractive - 用户使用本地缓存的凭据登录
12 CachedRemotelnteractive - 与Remotelnteractive相同,用于审计目的
13 CachedUnlock - 登录尝试解锁

日志文件位置

Windows事件日志默认存储在:

C:\Windows\System32\winevt\Logs

日志分析工具 - MessageAnalyzer

基本功能

  1. 多文件导入功能

    • 点击"New Session" → "Files"添加日志文件
  2. 添加列和分组功能

    • 在右侧"Field Chooser"中选择字段 → "Add as Column"添加显示列
    • 右键字段选择"Group"进行分类
  3. 过滤功能

    • 使用逻辑运算符构建过滤表达式:
      • && - 逻辑与
      • || - 逻辑或
      • ! - 逻辑非
      • == - 等于
      • != - 不等于
      • ~= - 严格不等于(不包括不存在的情况)
      • >, >=, <, <= - 比较运算符
      • in - 集合判断,如:IPv4.Address in [192.0.1.1, 192.0.0.0]
  4. 跟踪功能

    • 右键字段选择"Track"可跟踪该字段
    • 在"Claw"符号栏目中查看跟踪结果
    • 点击"Stop"停止跟踪
  5. 显示数值的十六进制形式

    • 右键数值字段 → "Include Hex for Numeric Value"

字段类型说明

  • Field:EventLog下的字段,是Windows事件查看器直接可见的信息
  • Property:Global annotations和global properties的字段

字符串搜索

在MessageAnalyzer中搜索字符串需要使用:

EventLog.Message contains "搜索内容"

日志分析入手点

  1. 注意LeverDisplayName是"信息"还是"警告"
  2. 根据事件ID进行分析

PowerShell日志分析

PowerShell相关的重要日志:

  1. Microsoft-Windows-PowerShell%4Operational - 操作日志
  2. Microsoft-Windows-PowerShell%4Admin - 管理员日志
  3. Microsoft-Windows-PowerShell-DesiredStateConfiguration-FileDownloadManager%4Operational - PowerShell下载文件日志
  4. Windows PowerShell - 基本信息日志(无安全相关)

关键事件ID:

  • 400:引擎状态从无更改为可用,记录PowerShell活动开始
  • 600:记录提供程序(如"WSMan")进行PowerShell处理活动的开始
  • 403:引擎状态从可用更改为停止,记录PowerShell活动结束

注意:

  • 400和403事件的HostName字段:
    • 本地执行:HostName = ConsoleHost
    • 远程执行:HostName = ServerRemoteHost

取证示例(DownUnderCTF 2022 DFIR Investigation):

  • 事件ID 4104记录远程命令执行,字段是ScriptBlockText,位于Microsoft-Windows-PowerShell%4Operational.evtx

WMI日志分析

WMI存储库位置:

C:\Windows\System32\wbem\Repository\OBJECTS.DATA

WMI事件类型

  1. 内部事件(Intrinsic)

    • NamespaceOperationEvent
    • ClassCreationEvent
    • NamespaceModificationEvent
    • InstanceOperationEvent
    • NamespaceDeletionEvent
    • InstanceCreationEvent
    • NamespaceCreationEvent
    • MethodInvocationEvent
    • ClassOperationEvent
    • InstanceModificationEvent
    • ClassDeletionEvent
    • InstanceDeletionEvent
    • ClassModificationEvent
    • TimerEvent
    • ConsumerFailureEvent
    • EventDroppedEvent
    • EventQueueOverflowEvent
  2. 外部事件(Extrinsic)

    • ROOT\CIMV2:Win32_ComputerShutdownEvent
    • ROOT\CIMV2:Win32_IP4RouteTableEvent
    • ROOT\CIMV2:Win32_ProcessStartTrace
    • ROOT\CIMV2:Win32_ModuleLoadTrace
    • ROOT\CIMV2:Win32_ThreadStartTrace
    • ROOT\CIMV2:Win32_VolumeChangeEvent
    • ROOT\CIMV2:Msft_WmiProvider*
    • ROOT\DEFAULT:RegistryKeyChangeEvent
    • ROOT\DEFAULT:RegistryValueChangeEvent

WMI查询示例

  1. 内部事件查询(需使用WITHIN子句指定轮询间隔):

    SELECT * FROM __InstanceOperationEvent WITHIN 30 WHERE 
    ((__CLASS = "__InstanceCreationEvent" OR __CLASS = "__InstanceModificationEvent") 
    AND TargetInstance ISA "CIM_DataFile") 
    AND (TargetInstance.Extension = "doc") OR (TargetInstance.Extension = "docx")
    
  2. 外部事件查询(实时):

    SELECT * FROM Win32_VolumeChangeEvent WHERE EventType = 2
    

取证工具:

Security日志分析

Security日志存储登录安全相关信息,如用户登录事件。

关键事件ID:

  • 4624:登录成功
  • 4625:登录失败
  • 4627:组策略处理失败

取证示例:

  1. 首届数据安全大赛 BuleTeam1

    • 筛选4625事件(登录失败)可发现可疑用户"newguest"
  2. 首届数据安全大赛 BuleTeam2

    • 筛选条件:(EventLog.TaskDisplayName == "Logon") and (EventLog.EventData["TargetUserName"] == "ming")
    • 可发现攻击IP为192.168.13.1
    • 首次登录方式为NTLM(事件ID 1825)

System日志分析

System日志存储系统组件日志。

关键事件ID:

  • 6038:审核NTLM使用情况

取证示例(2022蓝帽杯-神秘的日志):

  1. 在System日志中查找6038事件记录NTLM使用时间
  2. 根据该时间在Security日志中查找对应的登录事件

WinRM日志分析

Windows远程管理(WinRM)相关日志:

  • Microsoft-Windows-WinRM/Operational.evtx
  • Microsoft-Windows-RemoteDesktopServices-RdpCoreTS/Operational.evtx
  • Microsoft-Windows-TerminalServices-RemoteConnectionManager/Operational.evtx
  • Microsoft-Windows-TerminalServices-LocalSessionManager/Operational.evtx

取证示例:

  • 在Microsoft-Windows-TerminalServices-RemoteConnectionManager/Operational.evtx中可发现远程登录行为,通常与3389端口相关
Windows应急响应-日志篇 Windows事件ID基础 Windows事件日志中的每个事件都有一个唯一的事件ID,可以通过右键"group"查看"summary"来了解该ID代表的具体信息。 登录类型ID详解 Windows登录事件中会记录登录类型,以数字形式表示: | 登录类型ID | 描述 | |-----------|------| | 2 | Interactive - 用户登录到本机 | | 3 | Network - 用户或计算机从网络登录到本机 | | 4 | Batch - 批处理登录类型,无需用户干预 | | 5 | Service - 服务控制管理器登录 | | 7 | Unlock - 用户解锁主机 | | 8 | NetworkCleartext - 用户从网络登录,密码以非哈希形式传递 | | 9 | NewCredentials - 进程或线程克隆当前令牌,但为出站连接指定新凭据 | | 10 | Remotelnteractive - 使用终端服务或远程桌面连接登录 | | 11 | Cachedlnteractive - 用户使用本地缓存的凭据登录 | | 12 | CachedRemotelnteractive - 与Remotelnteractive相同,用于审计目的 | | 13 | CachedUnlock - 登录尝试解锁 | 日志文件位置 Windows事件日志默认存储在: 日志分析工具 - MessageAnalyzer 基本功能 多文件导入功能 : 点击"New Session" → "Files"添加日志文件 添加列和分组功能 : 在右侧"Field Chooser"中选择字段 → "Add as Column"添加显示列 右键字段选择"Group"进行分类 过滤功能 : 使用逻辑运算符构建过滤表达式: && - 逻辑与 || - 逻辑或 ! - 逻辑非 == - 等于 != - 不等于 ~= - 严格不等于(不包括不存在的情况) > , >= , < , <= - 比较运算符 in - 集合判断,如: IPv4.Address in [192.0.1.1, 192.0.0.0] 跟踪功能 : 右键字段选择"Track"可跟踪该字段 在"Claw"符号栏目中查看跟踪结果 点击"Stop"停止跟踪 显示数值的十六进制形式 : 右键数值字段 → "Include Hex for Numeric Value" 字段类型说明 Field :EventLog下的字段,是Windows事件查看器直接可见的信息 Property :Global annotations和global properties的字段 字符串搜索 在MessageAnalyzer中搜索字符串需要使用: 日志分析入手点 注意 LeverDisplayName 是"信息"还是"警告" 根据事件ID进行分析 PowerShell日志分析 PowerShell相关的重要日志: Microsoft-Windows-PowerShell%4Operational - 操作日志 Microsoft-Windows-PowerShell%4Admin - 管理员日志 Microsoft-Windows-PowerShell-DesiredStateConfiguration-FileDownloadManager%4Operational - PowerShell下载文件日志 Windows PowerShell - 基本信息日志(无安全相关) 关键事件ID: 400 :引擎状态从无更改为可用,记录PowerShell活动开始 600 :记录提供程序(如"WSMan")进行PowerShell处理活动的开始 403 :引擎状态从可用更改为停止,记录PowerShell活动结束 注意: 400和403事件的 HostName 字段: 本地执行: HostName = ConsoleHost 远程执行: HostName = ServerRemoteHost 取证示例(DownUnderCTF 2022 DFIR Investigation): 事件ID 4104 记录远程命令执行,字段是 ScriptBlockText ,位于 Microsoft-Windows-PowerShell%4Operational.evtx 中 WMI日志分析 WMI存储库位置: WMI事件类型 内部事件(Intrinsic) : NamespaceOperationEvent ClassCreationEvent NamespaceModificationEvent InstanceOperationEvent NamespaceDeletionEvent InstanceCreationEvent NamespaceCreationEvent MethodInvocationEvent ClassOperationEvent InstanceModificationEvent ClassDeletionEvent InstanceDeletionEvent ClassModificationEvent TimerEvent ConsumerFailureEvent EventDroppedEvent EventQueueOverflowEvent 外部事件(Extrinsic) : ROOT\CIMV2:Win32_ ComputerShutdownEvent ROOT\CIMV2:Win32_ IP4RouteTableEvent ROOT\CIMV2:Win32_ ProcessStartTrace ROOT\CIMV2:Win32_ ModuleLoadTrace ROOT\CIMV2:Win32_ ThreadStartTrace ROOT\CIMV2:Win32_ VolumeChangeEvent ROOT\CIMV2:Msft_ WmiProvider* ROOT\DEFAULT:RegistryKeyChangeEvent ROOT\DEFAULT:RegistryValueChangeEvent WMI查询示例 内部事件查询 (需使用WITHIN子句指定轮询间隔): 外部事件查询 (实时): 取证工具: 使用 PyWMIPersistenceFinder 解析OBJECTS.DATA文件 Security日志分析 Security日志存储登录安全相关信息,如用户登录事件。 关键事件ID: 4624 :登录成功 4625 :登录失败 4627 :组策略处理失败 取证示例: 首届数据安全大赛 BuleTeam1 : 筛选4625事件(登录失败)可发现可疑用户"newguest" 首届数据安全大赛 BuleTeam2 : 筛选条件: (EventLog.TaskDisplayName == "Logon") and (EventLog.EventData["TargetUserName"] == "ming") 可发现攻击IP为192.168.13.1 首次登录方式为NTLM(事件ID 1825) System日志分析 System日志存储系统组件日志。 关键事件ID: 6038 :审核NTLM使用情况 取证示例(2022蓝帽杯-神秘的日志): 在System日志中查找6038事件记录NTLM使用时间 根据该时间在Security日志中查找对应的登录事件 WinRM日志分析 Windows远程管理(WinRM)相关日志: Microsoft-Windows-WinRM/Operational.evtx Microsoft-Windows-RemoteDesktopServices-RdpCoreTS/Operational.evtx Microsoft-Windows-TerminalServices-RemoteConnectionManager/Operational.evtx Microsoft-Windows-TerminalServices-LocalSessionManager/Operational.evtx 取证示例: 在Microsoft-Windows-TerminalServices-RemoteConnectionManager/Operational.evtx中可发现远程登录行为,通常与3389端口相关