用途
该技能用于在 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。