Sysmon 补上内置审计的空白
Sysmon 是微软提供的端点审计增强组件:它记录进程创建(含完整命令行与父进程)、网络连接、镜像加载、文件创建等细粒度事件,补足内置审计在很多场景下的信息缺失。入侵排查时“谁启动了谁、连到了哪里”几乎全靠这类数据。需要注意的是它默认事件量惊人,必须配好过滤规则再上生产,容量与转发也要同步规划。
基本信息
| 适用平台 | Windows Server / Windows 10、11 |
|---|---|
| 安装形态 | 作为系统服务运行,随 Windows 事件日志输出 |
| 事件日志通道 | Microsoft-Windows-Sysmon/Operational |
| 关键事件 | 1 进程创建、3 网络连接、7 镜像加载、11 文件创建 |
| 基线 | 关键事件源可用且有过滤规则 |
典型使用场景
- 入侵排查:还原进程树与命令行,定位恶意程序来源
- 横向移动分析:观察异常进程发起的网络连接
- 持久化发现:监控启动目录与计划任务相关文件创建
- 应急取证:按时间窗口导出进程与连接事件
- 集中检测:把事件转发到 SIEM 做关联规则检测
服务与事件核查
服务与事件核查
Get-Service Sysmon | Select-Object Status, StartType
Get-WinEvent -LogName 'Microsoft-Windows-Sysmon/Operational' -MaxEvents 5
Get-WinEvent -FilterHashtable @{LogName='Microsoft-Windows-Sysmon/Operational';Id=3} -MaxEvents 10 | Select-Object TimeCreated, @{n='Dest';e={$_.Properties[14].Value}}
# 进程创建事件的关键字段:
Get-WinEvent -FilterHashtable @{LogName='Microsoft-Windows-Sysmon/Operational';Id=1} -MaxEvents 3 | Select-Object -ExpandProperty Message | Select-Object -First 40关键事件读法
| 事件 ID | 记录内容 | 排查用途 |
|---|---|---|
| 1 | 进程创建,含命令行与父进程 | 还原执行链,识别脚本与编码参数 |
| 3 | 网络连接(含目标地址与端口) | 发现回连与横向连接 |
| 7 | 镜像加载(DLL) | 发现异常模块与进程注入迹象 |
| 11 | 文件创建 | 监控落地文件与持久化位置 |
| 22 | DNS 查询 | 发现可疑域名解析活动 |
先配过滤规则再上生产:Sysmon 全量记录的事件量很大,容量、转发与存储都要按过滤后的规模规划。
落地要点
- 属性下标会随版本变化:解析前先导出一条完整事件核对字段位置
- 配置文件要纳入版本管理:检测重点随威胁变化而调整
- 事件转发与本地容量同步规划,避免本地日志滚动过快丢失线索
- 把 Sysmon 与内置审计、EDR 结合使用,形成互补覆盖
- 定期抽查事件是否仍在产生:服务停止时业务无感,但审计能力已失效
Sysmon 服务停止或日志通道被禁用时不会有业务影响,因此容易被忽略:把事件产出量纳入监控,长期为零即告警。