Sysmon事件ID全面解析——已更新至29种事件!
更新记录
2023年10月30日:Sysmon新增事件ID 29!
2022年12月22日:新增Sysmon 26(文件删除检测)、27(文件阻止可执行)和28(文件阻止粉碎)的事件说明。
概述
本文通过事件ID分解Sysmon日志功能,将事件与sysmon-modular配置模块对应,提供调优指导。特别鸣谢Olaf Hartong提供的sysmon-modular仓库,这是目前最优秀的Sysmon调平平台和快速配置文件部署工具。
事件ID详解
事件ID 1: 进程创建
通过配置指令匹配特定镜像名称(如bitsadmin.exe
),触发时记录进程创建事件并映射到MITRE ATT&CK T1197(BITS作业)。
事件ID 2: 文件创建时间修改
用于检测"Timestomping"技术(时间戳篡改),映射到MITRE T1070.006(主机指标移除)。
事件ID 3: 网络连接
记录网络连接事件,例如RDP连接会映射到T1021(远程服务)。
事件ID 4-5: Sysmon服务状态变更
- ID 4:服务状态变更(不可过滤)
- ID 5:服务重启事件(需从用户空间或临时目录加载/卸载镜像)
事件ID 6: 驱动加载
记录驱动加载事件,在实际环境中较为罕见。
事件ID 7: 镜像加载
检测DLL侧载操作(原T1073,现T1574.002——劫持执行流)。需通过独立RuleGroup实现排除规则(如排除MpCmdRun.exe
)。
事件ID 8: 远程线程创建
记录远程线程创建事件,可能涉及图形驱动或可疑活动。
事件ID 9: 原始读取访问
当进程使用\\.\
符号进行驱动器读取操作时触发(本系统未产生该事件)。
事件ID 10: 进程访问
记录进程权限请求事件(如MS Defender访问LSASS进程)。
事件ID 11: 文件创建
监控用户空间(userland)的文件创建操作(如.bat/.cmd文件),可用于早期威胁检测。
事件ID 12-14: 注册表事件
- ID 12:注册表对象增删(HKLM/HKU)
- ID 13:注册表值设置(DWORD/QWORD)
- ID 14:注册表对象重命名(本博客未触发)
事件ID 15: 文件流创建哈希
记录浏览器下载流(如Chrome下载文件),包含zone.identifier
标记(“web标记”)。
事件ID 16: Sysmon配置变更
简单记录配置变更事件。
事件ID 17-18: 管道事件
- ID 17:管道创建
- ID 18:管道连接 监控SMB协议相关活动,配置采用排除优先原则。
事件ID 19-21: WMI事件
- ID 19:WMI事件过滤器
- ID 20:WMI事件消费者
- ID 21:WMI消费者-过滤器绑定 默认记录创建事件,可能产生大量日志。
事件ID 22: DNS事件
记录DNS查询(排除已知域名),约占总日志量的20%,需评估实际价值。
事件ID 23: 文件删除存档
当文件在用户空间创建后被删除时触发,自动归档到RestrictedContainer目录。注意配置中的逻辑运算符需使用"or"而非"and"。
事件ID 24: 剪贴板变更
记录剪贴板内容变更(含敏感信息),需谨慎部署。
事件ID 25: 进程篡改
检测Process Herpaderping等篡改技术(基于进程空心化),可通过事件ID 1(进程创建)和ID 11(文件创建)协同分析。
事件ID 26: 文件删除检测
纯删除操作记录(无归档功能),与ID 23形成互补。
事件ID 27: 阻止可执行文件
阻止用户从互联网下载.exe文件(如通过c:\users\*\Downloads\*.exe
规则)。
事件ID 28: 阻止文件粉碎
阻止使用sdelete等工具粉碎文件(如恶意Firefox安装程序)。
事件ID 29: 阻止可执行文件(新增)
针对PE格式文件(EXE/DLL/对象代码)的阻断功能,覆盖Edge下载、RDP文件复制和PowerShell文件移动等场景。
事件ID 255: 错误
记录Sysmon错误事件。
总结
通过Sysmon及其模块化配置,可实现端点环境的高粒度可视化。建议先行部署,再逐步优化日志降噪策略。
致谢
@bhinfosecurity, @strandjs, @olafhartong, @markrussinovich