【网络安全】SOC分析Windows 事件 Event ID

SOC 安全分析必备:常用 Windows 事件 ID(Event ID)详解与速查表

前言

无论你是刚入门的安全分析师,还是负责 SIEM 规则编写的资深工程师,都绕不开 Windows 事件日志。攻击者从初始访问、权限提升、凭据窃取到横向移动、持久化、痕迹清理,几乎每一步都会在日志里留下蛛丝马迹。

问题在于:Windows 的事件 ID 多达上千个,真正在 SOC 实战中高频出现、具备明确检测价值的其实是有限的一批。本文就把这批"核心 ID"按攻击阶段和功能分类讲清楚,帮助你建立日志分析的肌肉记忆。

大部分关键事件位于 Security(安全) 日志中,但服务安装、日志清除等也会出现在 System(系统) 日志,Sysmon 与 PowerShell 则有各自独立的运营日志通道(Applications and Services Logs)。分析时一定要分清来源。


一、登录与认证类(Logon & Authentication)

这是 SOC 分析中接触最频繁的一类,用于排查暴力破解、异常登录、凭据滥用等。

4624 --- 账户成功登录

最核心的事件,没有之一。它记录了"谁、从哪、用什么方式"登录成功。分析时务必关注 Logon Type(登录类型)、源 IP、账户名。例如:大量来自异常 IP 的 Type 3(网络登录)可能意味着横向移动;非工作时间的 Type 10(RDP)登录值得警惕。

4625 --- 账户登录失败

排查**暴力破解 / 密码喷洒(Password Spraying)**的首选。短时间内同一账户大量 4625 = 暴力破解;同一时间段大量不同账户各失败一两次 = 密码喷洒。Status 字段(如 0xC000006A 密码错误、0xC0000064 用户不存在)能帮助判断攻击者是否在枚举用户名。

4634 / 4647 --- 账户注销 / 用户主动注销

用于会话时长统计和登录-注销配对分析。4647 是用户主动发起的注销,4634 是系统记录的注销完成。

4648 --- 使用显式凭据进行登录

当使用 runas 或在 A 账户下用 B 账户的凭据发起连接时触发。横向移动的高价值信号------攻击者常用窃取的凭据通过此方式访问其他主机。关注"使用账户"与"目标账户"不一致的情况。

4672 --- 为新登录分配特殊权限

管理员级别权限(如 SeDebugPrivilege、SeBackupPrivilege)被授予时记录。通常紧跟在管理员的 4624 之后出现,可作为特权登录的标志。普通用户出现 4672 需重点排查。

4768 / 4769 / 4771 --- Kerberos 票据相关

  • 4768:请求 Kerberos TGT(身份认证票据),登录域时触发。
  • 4769 :请求 Kerberos 服务票据(TGS)。检测 Kerberoasting 攻击的关键------大量针对不同 SPN 的 4769 且加密类型为 RC4(0x17)是典型特征。
  • 4771:Kerberos 预认证失败,等价于域环境下的"登录失败",同样可用于检测暴力破解。

4776 --- 凭据验证(NTLM)

域控/本地对 NTLM 认证进行校验时记录。用于检测 NTLM 暴力破解和 Pass-the-Hash 的辅助信号。


二、账户与组管理类(Account & Group Management)

用于检测攻击者创建后门账户、提权到管理员组等持久化行为。

4720 --- 创建用户账户

攻击者建立后门账户的直接证据。任何计划外的 4720,尤其是紧接着把新账户加入管理员组的行为,都应触发高优先级告警。

4722 / 4725 / 4726 --- 账户启用 / 禁用 / 删除

4722 启用一个原本禁用的账户(攻击者复活休眠账户)、4726 删除账户(可能是清理痕迹)都值得关注。

4723 / 4724 --- 修改密码 / 重置密码

4724 是管理员重置他人密码,攻击者接管账户后常见操作;4723 是用户自行修改密码。

4728 / 4732 / 4756 --- 将成员添加到安全组

提权与持久化的核心信号:

  • 4732 :添加到本地安全组(如本地 Administrators)。
  • 4728 :添加到全局安全组(如域 Domain Admins)。
  • 4756 :添加到通用安全组(如 Enterprise Admins)。

任何账户被加入高权限组都应是 SOC 的红线告警,尤其是 Domain Admins / Enterprise Admins。

4738 --- 用户账户被更改

账户属性(如 UAC 标志、密码永不过期)被修改时记录,可用于发现账户被恶意改造。

4740 --- 账户被锁定

频繁锁定可能是暴力破解的副作用,也可能影响业务,需结合 4625 一起分析。


三、进程与执行类(Process Execution)

还原攻击者"执行了什么命令"的核心证据。

4688 --- 创建新进程

威胁狩猎的基石 。开启"命令行审计"后,4688 会记录完整的命令行参数,可用于发现可疑的 powershell -enccertutil 下载、whoami/net group 等侦察命令,以及父子进程异常(如 winword.exe 派生 cmd.exe 强烈暗示钓鱼文档)。

配置建议: 默认 4688 不记录命令行。务必通过组策略开启 "Include command line in process creation events",否则检测价值大打折扣。

4689 --- 进程退出

用于补全进程生命周期,做时间线分析时有用。


四、权限与策略类(Privilege & Policy)

4673 / 4674 --- 调用特权服务 / 对特权对象的操作

记录敏感权限的使用,数据量较大,通常按需开启用于深度调查。

4719 --- 系统审计策略被更改

攻击者为躲避检测会关闭审计。任何对审计策略的修改都应告警------这往往是攻击者"清场"的前兆。


五、对象访问与文件共享类(Object Access)

4663 / 4656 / 4660 --- 对象访问 / 请求句柄 / 删除对象

需要配置 SACL(系统访问控制列表)才会生成,用于监控对敏感文件/注册表的访问与删除。

5140 / 5145 --- 访问网络共享 / 共享对象详细审计

横向移动检测利器 。攻击者通过 \\target\C$ADMIN$ 等管理共享访问远程主机时触发。关注对 IPC$C$ADMIN$ 的异常访问。5145 提供文件级别的更细粒度审计。


六、服务与计划任务类(Persistence)

攻击者最爱的持久化手段。

7045 --- 安装新服务(System 日志)

经典持久化检测项。许多攻击工具(如 PsExec、Cobalt Strike 的服务横向)会安装服务。关注服务名随机、可执行路径位于临时目录、ImagePath 含编码 PowerShell 等特征。

7040 --- 服务启动类型被更改

例如把某服务从"手动"改为"自动启动",可能是为持久化做铺垫。

4697 --- 安装服务(Security 日志)

与 7045 类似但记录在安全日志,信息更丰富(含触发账户),便于关联分析。

4698 / 4699 / 4700 / 4702 --- 计划任务 创建 / 删除 / 启用 / 更新

计划任务是头号持久化手段之一 。4698(创建)最为关键,需重点关注 Actions 字段中的可疑命令。删除(4699)可能是攻击者清理痕迹。


七、PowerShell 类

PowerShell 是攻击者的"瑞士军刀",针对性日志极其重要。

4104 --- 脚本块日志(Script Block Logging)

检测无文件攻击与恶意脚本的王牌 。记录实际执行的脚本块内容,即使经过混淆也能捕获。关注 IEXDownloadString-enc Base64、FromBase64String 等关键字。日志位于 Microsoft-Windows-PowerShell/Operational

4103 --- 模块日志(Module Logging)

记录管道执行细节与命令调用,与 4104 互补。

400 / 403 --- PowerShell 引擎启动 / 停止

记录 PowerShell 引擎生命周期,可用于发现 PowerShell 版本降级攻击(如强制使用 v2 绕过日志)。


八、日志清除与防取证类(Anti-Forensics)

攻击者收尾阶段的标志性动作,几乎都应是高危告警

1102 --- 审计日志(安全日志)被清除

清除安全日志的直接证据。正常运维极少这样做,出现即高危。

104 --- 事件日志被清除(System 日志)

清除其他日志通道(如 System、Application)时记录。


九、Sysmon(强烈推荐部署)

Sysmon 是微软 Sysinternals 的免费工具,提供远超原生日志的可见性,是现代 SOC 的标配。日志位于 Microsoft-Windows-Sysmon/Operational

Sysmon ID 含义 检测价值
1 进程创建 含完整命令行、哈希、父进程,远胜 4688
3 网络连接 检测 C2 外联、异常端口通信
7 镜像(DLL)加载 检测 DLL 侧加载、可疑模块注入
8 CreateRemoteThread 检测进程注入(经典攻击技术)
10 进程访问 检测对 lsass.exe 的访问(凭据窃取)
11 文件创建 检测恶意文件落地
13 注册表值设置 检测注册表持久化(如 Run 键)
22 DNS 查询 检测 DNS 隧道、恶意域名解析

其中 Sysmon Event ID 10 监控对 lsass.exe 的访问,是检测 Mimikatz 等凭据转储工具的核心手段之一。


十、登录类型(Logon Type)对照表

分析 4624/4625 时,登录类型比事件本身更重要。下面这张表请务必记牢:

Logon Type 名称 典型场景 安全关注点
2 Interactive 本地键盘登录 服务器上出现交互登录需留意
3 Network 访问共享、网络认证 横向移动主要途径
4 Batch 计划任务 异常批处理登录
5 Service 服务账户启动 服务账户被滥用
7 Unlock 解锁屏幕 ---
8 NetworkCleartext 明文网络认证 凭据明文传输,风险高
9 NewCredentials runas /netonly 常见于凭据滥用/横向
10 RemoteInteractive RDP 远程桌面 重点监控的远程访问
11 CachedInteractive 使用缓存凭据登录 离线/断域登录

十一、常用事件 ID 速查总表

收藏这一张表,覆盖 SOC 日常 90% 的分析场景。

Event ID 日志来源 含义 主要使用场景
4624 Security 账户成功登录 登录行为分析、异常登录、横向移动
4625 Security 账户登录失败 暴力破解、密码喷洒检测
4634 / 4647 Security 注销 / 主动注销 会话时长、登录配对分析
4648 Security 使用显式凭据登录 横向移动、凭据滥用
4672 Security 分配特殊(管理)权限 特权登录监控
4768 Security 请求 Kerberos TGT 域登录认证分析
4769 Security 请求 Kerberos 服务票据 Kerberoasting 检测
4771 Security Kerberos 预认证失败 域环境暴力破解检测
4776 Security NTLM 凭据验证 NTLM 暴破、PtH 辅助检测
4720 Security 创建用户账户 后门账户检测
4722 / 4725 / 4726 Security 账户 启用 / 禁用 / 删除 账户生命周期异常
4723 / 4724 Security 修改 / 重置密码 账户接管检测
4728 / 4732 / 4756 Security 添加成员到 全局/本地/通用 组 提权与持久化(高危)
4738 Security 用户账户被更改 账户属性被恶意修改
4740 Security 账户被锁定 暴力破解副作用、业务影响
4688 Security 创建新进程 命令行审计、威胁狩猎
4689 Security 进程退出 进程生命周期、时间线
4673 / 4674 Security 调用特权服务 / 操作特权对象 敏感权限使用深度调查
4719 Security 系统审计策略被更改 攻击者关闭审计(高危)
4663 / 4656 / 4660 Security 访问 / 请求句柄 / 删除对象 敏感文件与注册表监控
5140 / 5145 Security 访问网络共享 / 共享详细审计 横向移动检测
5156 / 5157 Security WFP 允许 / 阻止连接 主机网络连接审计
4697 Security 安装服务(安全日志) 持久化检测
4698 / 4699 / 4700 / 4702 Security 计划任务 增删启用更新 持久化检测(高危)
7045 System 安装新服务 PsExec / CS 横向、持久化
7040 System 服务启动类型变更 持久化铺垫
1102 Security 审计日志被清除 痕迹清理(高危)
104 System 事件日志被清除 痕迹清理(高危)
4104 PowerShell/Operational 脚本块日志 恶意脚本、无文件攻击检测
4103 PowerShell/Operational 模块日志 命令管道审计
400 / 403 Windows PowerShell 引擎启动 / 停止 版本降级攻击检测
1116 / 1117 Defender/Operational 检测到恶意软件 / 已采取措施 终端防护事件关联
1149 TerminalServices RDP 认证成功 RDP 远程登录监控
Sysmon 1/3/7/8/10/11/13/22 Sysmon/Operational 进程/网络/DLL/注入/lsass/文件/注册表/DNS 高级威胁狩猎(强烈推荐)

十二、实战建议

  1. 优先开启关键审计策略:默认 Windows 不会记录所有上述事件。重点开启"进程创建审计 + 命令行"、"PowerShell 脚本块日志"、"对象访问审计(按需配 SACL)"。
  2. 部署 Sysmon:配合社区优秀配置(如 SwiftOnSecurity、Olaf Hartong 的模板),可极大提升可见性。
  3. 关注"组合"而非"单点" :单个 4624 没有意义,但 4625 多次 → 4624 成功 → 4672 提权 → 4720 建号 → 7045 装服务 这条链就是一次完整的入侵。学会做事件关联时间线还原
  4. 建立基线:先了解环境中"什么是正常的",异常才会浮现。比如哪些服务账户正常会有 Type 3 登录、哪些管理员习惯走 RDP。
  5. 对接 SIEM:把这些 ID 写成检测规则(Sigma 规则是很好的起点),实现自动化告警,而非人工翻日志。

结语

Windows 事件日志是 SOC 分析师最朴素也最强大的武器。掌握本文这批高频 Event ID,理解它们背后对应的攻击行为,你就能在海量日志中快速锁定威胁。建议把文末的速查表收藏并打印贴在工位上,日积月累形成条件反射。