了解 Sysmon 事件

Sysmon 事件提供有关 Windows 设备上的系统活动的详细低级别遥测数据。 每个事件都表示一类特定的行为(例如进程执行、网络通信、文件修改或配置更改),这些行为可用于了解软件如何随时间推移在系统上运行。 

本文介绍 Sysmon 事件表示的内容、它们彼此之间的关系,以及如何在调查或搜寻恶意活动时从概念上推断它们。 

Sysmon 事件的记录位置

在现代版本的 Windows 上,Sysmon 事件写入到:

Applications and Services Logs -> Microsoft -> Windows -> Sysmon -> Operational   

事件时间戳以 UTC 格式记录。 

由于 Sysmon 内置于 Windows 中,因此始终使用标准 Windows 事件日志基础结构编写事件,并且可以使用 Windows 事件收集、安全信息和事件管理 (SIEM) 代理或基于云的日志引入管道收集事件。 

Sysmon 事件表示的内容

Sysmon 事件是观察到的系统作的结构化记录。 它描述了:

  • 事件 类型) (发生的情况

  • 何时 (时间戳)

  • 涉及的流程

  • 作的上下文 (命令行、文件路径、网络详细信息)

Sysmon 事件包括:

  • 观察性,非解释性

  • 确定性,而不是概率

  • 可组合,这意味着它们在关联时获得意义

没有单个事件本身表示恶意活动。 

事件作为行为构建基块

当被视为构成序列的行为信号时,Sysmon 事件最有用。 

例如:

  • 进程创建 - 已启动

  • DNS 查询 — 它解析了基础结构

  • 网络连接 - 它在外部通信

  • 文件创建 - 它编写项目

  • 注册表事件 - 它已持久保存

了解 Sysmon 意味着思考链和时间线,而不是独立事件。 

核心事件类别

Sysmon 事件可以按它们描述的系统行为类型在概念上分组。 

 

进程生命周期和执行

这些事件描述进程如何启动、运行和交互。 

进程创建 (事件 ID 1)  

记录有关新创建的过程的详细信息,包括:

  • 完整命令行

  • 父进程

  • 加密哈希

  • 用于关联的全局唯一进程 GUID

此事件的基础是:

  • 执行链分析

  • 命令行检查

  • 威胁搜寻

 

进程终止 (事件 ID 5)  

记录进程退出时。 适用于:

  • 完成时间线

  • 测量执行持续时间

  • 识别生存期较短的进程

 

进程访问 (事件 ID 10)  

记录一个进程何时打开另一个进程。 这通常与:

  • 凭据盗窃

  • 内存检查

  • 注入技术

由于此事件可能具有干扰性,因此它通常用于目标筛选。 

 

CreateRemoteThread (事件 ID 8)  

指示一个进程在另一个进程中创建了一个线程,这是一种经典代码注入技术。 

此事件是低音量和高信号。 

 

进程篡改 (事件 ID 25)  

当 Sysmon 检测到进程图像作技术时生成,例如:

  • 工艺空心

  • Herpaderping

此事件表示试图伪装或替换进程内容,并且与高级恶意软件密切相关。 

 

网络和名称解析活动

这些事件描述进程如何与网络交互。 

 

网络连接 (事件 ID 3)  

记录进程启动的 TCP 和 UDP 连接,包括:

  • 源和目标地址

  • 端口

  • 协议

  • 关联的进程 GUID

由于卷的原因,此事件默认处于禁用状态,应有选择地启用。 

 

DNS 查询 (事件 ID 22)  

记录进程发出的 DNS 查询,无论查询是否成功。 

DNS 事件特别适用于:

  • 标识外部基础结构

  • 检测信标行为

  • 发现恶意软件,如加密货币矿工

DNS 事件通常提供早期指示器,即使网络流量已加密。 

 

文件系统活动

这些事件描述文件创建、修改和删除。 

 

文件创建 (事件 ID 11)  

记录创建或覆盖文件时。 

常见用途:

  • 检测丢弃的有效负载

  • 监视启动和持久性位置

  • 调查恶意软件暂存

 

文件创建时间更改 (事件 ID 2)  

记录进程何时显式修改文件的创建时间戳。 

攻击者可能会使用它来掩盖恶意文件的真实来源,但合法软件也会执行此作。 

 

文件删除 (事件 ID 23/26)  

记录文件删除活动。 

  • 事件 ID 23 还会存档已删除的文件

  • 事件 ID 26 记录删除而不进行存档

这些事件对于勒索软件和清理分析很有用。 

 

文件创建Stream哈希 (事件 ID 15)  

名为备用数据流的记录,包括 Zone.Identifier 流。 

此事件有助于检测源自 Internet 和浏览器下载活动的文件。 

 

可执行文件检测和阻止 (事件 27-29)  

这些事件记录在创建过程中检测到或阻止可执行文件的时间。 

它们提供对可执行暂存行为和防御性强制执行的见解。 

 

模块和驱动程序加载

这些事件描述如何将代码引入内存。 

 

图像加载 (事件 ID 7)  

记录 DLL 或可执行图像何时加载到进程中。 

此事件适用于:

  • DLL 注入检测

  • 旁加载分析

由于容量较大,因此应仔细配置。 

 

驱动程序加载 (事件 ID 6)  

记录加载内核驱动程序时,包括签名和哈希信息。 

驱动程序加载很少,影响很大,因此此事件对于检测内核级威胁很有价值。 

 

配置、持久性和 IPC

这些事件描述系统配置更改和进程间通信。 

 

注册表事件 (事件 ID 12-14)  

记录注册表项和值创建、修改、删除和重命名。 

它们对于检测:

  • 持久性机制

  • 配置篡改

  • 恶意软件设置行为

Sysmon 使用缩写的根密钥名称 (例如 HKLM、HKCU) 来规范化数据。 

 

命名管道事件 (事件 ID 17-18)  

记录创建和与命名管道的连接。 

命名管道通常用于:

  • 进程间通信

  • 组件之间的恶意软件协调

WMI 事件 (事件 ID 19–21)  

记录 WMI 筛选器、使用者和绑定注册。 

WMI 是无文件恶意软件的常见持久性和执行机制。 

Sysmon 服务和配置事件

服务状态更改 (事件 ID 4)  

记录 Sysmon 服务何时启动或停止。 

意外停止可能指示篡改尝试。 

 

配置更改 (事件 ID 16)  

记录更新 Sysmon 配置的时间。 

此事件为遥测选择提供可审核性和更改跟踪。 

错误处理

错误 (事件 ID 255)  

指示内部 Sysmon 错误,例如:

  • 资源耗尽

  • 失败的作

  • 内部 bug

应监视这些事件以确保遥测可靠性。 

 

事件作为证据,而不是警报

Sysmon 的核心原则是中立。 

  • 事件不指示恶意意图

  • 罕见并不意味着恶意

  • 常见并不意味着安全

含义通过:

  • 相关

  • 上下文

  • 随时间推移的行为模式

 

摘要

Sysmon 事件提供了解系统运行方式和攻击展开方式所需的原始行为遥测。 每个事件捕获特定的活动类,其真正值来自将它们关联到时间线和行为叙述中。 

配置良好且可理解的 Sysmon 事件可实现:

  • 威胁搜寻

  • 事件响应

  • 取证分析

  • 长期行为基线