V1ad-CS/wazuh-windows-file-correlation-rules
GitHub: V1ad-CS/wazuh-windows-file-correlation-rules
面向 Windows 文件服务器的 Wazuh 自定义关联规则集,通过监控安全审计事件检测文件删除、权限篡改和 SMB 共享上的可疑大批量访问行为。
Stars: 1 | Forks: 0
# wazuh-windows-file-correlation-rules
用于监控 Windows 文件服务器和 SMB 共享的自定义 Wazuh 关联规则。
此代码库包含用于检测以下内容的 Wazuh 规则:
* 删除意图
* 已确认的文件删除
* 删除突增和批量删除
* 对象权限更改
* 反复的 ACL 更改
* 可能表明正在进行文件复制的可疑的 SMB 共享高容量访问
这些规则专为与文件系统活动和网络共享访问相关的 Windows Security 事件而设计,适用于 Wazuh 从文件服务器收集 Windows Event Channel 日志的环境。Wazuh 自定义规则支持使用 `if_sid`、`if_matched_sid`、`frequency`、`timeframe` 和 `same_field` 进行基于字段的匹配和关联。([documentation.wazuh.com][1])
## 所需的 Windows 审核事件
要正确使用这些规则,请为以下 Windows Security 事件启用审核:
* **4659** — 请求了一个带有删除意图的对象句柄
* **4660** — 一个对象被删除
* **4663** — 尝试访问对象
* **4670** — 对象的权限被更改
* **5145** — 检查了网络共享对象以确定是否可以授予客户端所需的访问权限
这些事件来自 Windows Object Access 和 Detailed File Share 审核。仅当目标对象针对请求的访问具有匹配的 SACL 条目时,才会生成事件 `4663`,而 `5145` 属于 **Audit Detailed File Share** 子类别。([Microsoft Learn][2])
## 在 Windows 上要启用的内容
要进行文件服务器监控,请至少启用:
* **Advanced Audit Policy → Object Access → Audit File System**
* **Advanced Audit Policy → Object Access → Audit Detailed File Share**
* 要监控的文件夹和文件上的 **SACL**
如果您还需要从 `4659` 和 `4660` 获取删除意图和删除确认的上下文,请在生成这些事件的环境中启用相关的 Object Access 审核。Microsoft 指出,文件和文件夹审核事件同时取决于审核策略以及对象上的有效 SACL。([Microsoft Learn][3])
## 这些规则的作用
### 1. 删除意图检测
规则检测 **Event ID 4659**,并在用户请求带有删除对象意图的句柄时发出警报。
### 2. 带有完整路径的文件删除
规则检测带有 **DELETE** 访问权限的 **Event ID 4663**,并使用警报中的对象名称作为文件路径。
这非常重要,因为 **4660 不包含被删除的对象名称**。Microsoft 明确建议,当您需要在路径上下文中跟踪对象删除时,使用具有 DELETE 访问权限的 `4663`。([Microsoft Learn][4])
### 3. 删除确认
规则还会跟踪 **Event ID 4660** 作为删除已发生的确认,即使该事件仅提供句柄和进程上下文,也不提供完整的对象路径。([Microsoft Learn][4])
### 4. 权限更改检测
规则检测 **Event ID 4670**,以识别受监控对象上的权限或 ACL 更改。对于文件对象,Windows 在此事件中包含对象名称和路径。([Microsoft Learn][5])
### 5. 重复和批量活动关联
规则关联短时间窗口内来自同一用户的重复事件,以检测:
* 多次删除尝试
* 批量删除
* 反复的 ACL 更改
这是使用标准的 Wazuh 规则关联原语(例如 `if_matched_sid`、`frequency`、`timeframe` 和 `same_field`)实现的。([documentation.wazuh.com][1])
### 6. 可能从 SMB 共享进行的文件复制
规则使用 **Event ID 5145** 来检测通过网络共享进行的重复文件访问,并标记可能的文件复制活动。
Windows 不会发出专门的“从共享复制了文件”事件,因此这种检测是启发式的:来自同一用户在时间窗口内的重复 `5145` 访问事件被视为可能的复制模式。这种推断是基于 `5145` 的工作原理:每当访问网络共享对象时都会生成它,并且包含诸如 **Source Address**、**Share Name** 和 **Relative Target Name** 等字段。([Microsoft Learn][6])
## 事件字段使用
这些规则依赖于 Windows Security 事件字段,例如:
* `objectName` 用于文件系统事件中的完整文件路径
* `handleId` 用于删除确认关联
* `subjectUserName` 和 `subjectDomainName` 用于参与者归因
* `processName` 用于进程上下文
* `shareName`、`relativeTargetName` 和 `ipAddress` 用于 SMB 访问上下文
对于 `4663`,Microsoft 记录了 `Object Name` 以及访问值(例如 `0x1` 表示读取访问)。对于 `5145`,Microsoft 记录了 `Relative Target Name`、`Share Name`、`Source Address` 以及共享访问权限(例如 `ReadData/ListDirectory (0x1 / %%4416)`)。([Microsoft Learn][2])
## 重要的局限性
* `4660` 确认了删除,但**不**包含被删除的对象路径。([Microsoft Learn][4])
* `4663` 对于带路径感知的删除监控更为有用,但它也会在非删除访问时出现,因此必须仔细过滤访问掩码。([Microsoft Learn][2])
* `5145` 量非常大,在繁忙的文件服务器上可能会产生大量噪音,因此应根据您的环境调整与复制相关的阈值。Microsoft 指出,每次访问网络共享对象时都会生成 `5145`。([Microsoft Learn][6])
## 推荐用例
此规则集适用于:
* Windows 文件服务器
* 包含敏感数据的 SMB 共享
* 对删除和权限篡改的监控
* 检测来自共享文件夹的可能大量访问或类似数据外泄的复制行为
它最适合在将审核范围限制在业务关键型共享、且经过深思熟虑应用 SACL 以避免不必要日志量的环境中使用。Microsoft 建议监控特定的对象名称、共享名称、相对目标名称和敏感访问权限,而不是不加选择地审核所有内容。([Microsoft Learn][2])
## 安装
1. 将规则块复制到:
`/var/ossec/etc/rules/local_rules.xml`
2. 验证 XML:
`xmllint --noout /var/ossec/etc/rules/local_rules.xml`
3. 使用以下命令进行测试:
`/var/ossec/bin/wazuh-logtest -v`
4. 重启 Wazuh manager:
`systemctl restart wazuh-manager`
Wazuh 建议在生产环境中启用规则之前,使用 `wazuh-logtest` 验证解码后的字段和规则匹配情况。([documentation.wazuh.com][1])
标签:ACL权限变更, AMSI绕过, Conpot, HTTP工具, SMB共享, Sysmon, Wazuh, Windows事件日志, Windows安全, 信息安全管理, 勒索软件检测, 合规监控, 威胁检测, 对象访问审计, 数据防泄露, 文件删除监控, 文件服务器监控, 日志关联, 源代码, 网络安全, 隐私保护, 高级审计策略