SuperAPI AI 工具集

analyzing-windows-event-logs-in-splunk

安全与审计

查看项目

更新于 10-15 13:53

技能介绍

用途

该技能用于在 Splunk 中分析 Windows Security、System 和 Sysmon 事件日志,以检测身份验证攻击、权限提升、持久化机制和横向移动等威胁。

适用场景包括:

  • SOC 分析师调查与 Windows 身份验证、进程执行或 AD 变更相关的告警
  • 检测工程师为基于 Windows 的威胁检测构建 SPL 查询
  • 事件响应人员需要 Windows 端点或域控制器活动的取证时间线
  • 周期性威胁狩猎针对 Windows 特定的 ATT&CK 技术

不适用于 Linux/macOS 端点分析或仅网络调查。

前提条件

  • Splunk 已接入 Windows 事件日志数据(sourcetype WinEventLog:Security、WinEventLog:System、XmlWinEventLog:Microsoft-Windows-Sysmon/Operational)
  • 端点上部署了 Sysmon,使用 SwiftOnSecurity 或 Olaf Hartong 配置
  • 为 Endpoint 和 Authentication 数据模型启用 CIM 数据模型加速
  • 了解 Windows 安全事件 ID 和 Sysmon 事件类型

工作流程

步骤 1:身份验证攻击检测

  • 暴力破解检测(EventCode 4625 — 失败登录):使用 stats 按 src_ip、Logon_Type、Status 聚合,筛选 count > 20,并用 case 区分网络、RDP、交互式暴力破解及状态含义。
  • 密码喷洒检测:对 EventCode 4625 Logon_Type=3 按 10 分钟窗口统计唯一用户数与总尝试次数,筛选 unique_users > 10 且 total_attempts < unique_users * 3,并给出置信度。
  • 失败后成功登录(泄露指标):联合 4625 和 4624,按 src_ip、TargetUserName、ComputerName 统计失败与成功次数,筛选 failures > 10 且 successes > 0,计算 time_to_success。

步骤 2:权限提升检测

  • 新建管理员账户(T1136.001):EventCode 4720 与 4732 关联,检测账户创建后被加入 Administrators 组。
  • 分配特殊权限(EventCode 4672):排除系统账户,统计 PrivilegeList 并筛选 SeDebugPrivilege、SeTcbPrivilege 等敏感权限。
  • 令牌操纵检测(T1134):Sysmon EventCode 10 中对 lsass.exe 的访问,筛选 GrantedAccess 并排除常见合法进程。

步骤 3:持久化机制检测

  • 计划任务创建(T1053.005):检测 EventCode 4698 或 schtasks.exe 执行,并搜索可疑命令内容。
  • 注册表 Run 键修改(T1547.001):Sysmon EventCode 13 中针对 Run、RunOnce 等键的修改,排除 explorer、msiexec、setup 等合法进程。
  • WMI 事件订阅(T1546.003):Sysmon EventCode 20 或 21,统计 Consumer 与命名空间。

步骤 4:横向移动检测

  • 远程服务利用(T1021.002 — SMB/Windows 管理共享):EventCode 4624 Logon_Type=3,统计每源 IP/用户访问的唯一目标数,筛选 > 3。
  • PsExec 检测(T1021.002):Sysmon EventCode 1 中 Image、ParentImage 或 OriginalFileName 包含 psexec。
  • RDP 横向移动(T1021.001):EventCode 4624 Logon_Type=10,统计每源 IP/用户的 RDP 目标数,筛选 > 2。

步骤 5:构建取证时间线

针对受损主机,联合 wineventlog 与 sysmon 索引,按时间范围筛选,使用 eval case 将 EventCode 映射为可读描述(登录、失败登录、进程、计划任务、网络、文件创建、注册表等),按时间排序输出。

步骤 6:创建富化查找表

使用 inputlookup 加载 windows_eventcode_lookup.csv,包含 EventCode、Description、ATT_CK_Technique、Severity。若不存在则创建,示例映射:4624 成功登录(T1078,信息)、4625 失败登录(T1110,低)、4648 显式凭据登录(T1078,中)、4672 分配特殊权限(T1134,中)、4688 新进程创建(T1059,信息)、4698 计划任务创建(T1053.005,中)、4720 用户账户创建(T1136.001,高)、4732 成员加入安全组(T1098,高)、4768 Kerberos TGT 请求(T1558,信息)、4769 Kerberos 服务票据(T1558.003,低)、4771 Kerberos 预认证失败(T1110,低)。

核心概念

  • EventCode 4624:成功登录 — Logon_Type 2(交互)、3(网络)、10(RDP)、7(解锁)
  • EventCode 4625:失败登录 — Status 代码表示失败原因(密码错误、账户锁定、禁用)
  • Sysmon EventCode 1:进程创建,含完整命令行、父进程和哈希
  • Sysmon EventCode 3:进程发起的网络连接 — 源/目的 IP、端口和进程上下文
  • Logon Type 3:网络登录(SMB、WMI、PowerShell Remoting)— 横向移动关键指标
  • Logon Type 10:通过 RDP/Terminal Services 的远程交互登录

工具与系统

  • Splunk Enterprise:具有 SPL 查询引擎的 SIEM 平台,用于 Windows 事件日志分析和关联
  • Sysmon(System Monitor):Microsoft Sysinternals 工具,提供详细的进程、网络和文件活动日志
  • Splunk CIM:通用信息模型,将 Windows 事件映射到规范化字段以支持跨源查询
  • Windows Event Forwarding(WEF):Windows 内置机制,将事件日志集中到收集器服务器

常见场景

  • Kerberoasting(T1558.003):检测 EventCode 4769 中加密类型为 0x17(RC4)的非标准服务账户
  • DCSync(T1003.006):检测非 DC 来源的 EventCode 4662 含 DS-Replication-Get-Changes
  • Golden Ticket(T1558.001):检测 EventCode 4769 中异常票据属性(长生命周期、非标准加密)
  • Pass-the-Hash(T1550.002):检测来自意外来源的 NTLM 身份验证 EventCode 4624 Logon_Type 3
  • DLL Side-Loading(T1574.002):Sysmon EventCode 7 显示合法进程加载未签名 DLL

输出格式

示例报告按主机展示:时间段、事件总数(Security/Sysmon 分别统计)、身份验证摘要(成功/失败/显式凭据)、可疑发现(含严重级别)、ATT&CK 映射。例如:487 次成功登录、847 次失败登录来自 192.168.1.105(暴力破解)、发现新建后门管理员账户、加入 Administrators 组、schtasks.exe 创建持久化任务、PowerShell 编码命令执行,并映射到 T1110.001、T1136.001、T1053.005、T1059.001。

限制

该技能仅适用于 Windows 端点事件日志分析,不适用于 Linux/macOS 或纯网络调查。需事先在 Splunk 中接入 Windows 事件日志并部署 Sysmon。