V3nG4mxV1p3r/Wazuh-Brute-Force-Detection-and-Rule-Tuning
GitHub: V3nG4mxV1p3r/Wazuh-Brute-Force-Detection-and-Rule-Tuning
一个完整的企业级 SOC 实验室项目,演示 SMB 暴力破解攻击模拟、Wazuh SIEM 规则调优、XML 故障排除及自定义检测规则工程化的全流程。
Stars: 0 | Forks: 0
# 企业级 SOC 实验室:SMB 暴力破解检测与 SIEM 规则调优 🛡️🔍
## 📖 目标
本项目的目标是在本地化的 Active Directory 风格环境中,针对 Windows 10 目标模拟现代 SMB 暴力破解攻击,分析默认 SIEM (Wazuh) 的行为,并设计自定义检测规则以准确识别该威胁。
关键在于,本项目突出了一个常见的**检测工程与故障排除 (RCA)** 场景:解决导致 SIEM 分析引擎静默失败的 XML 语法错误和规则 ID 冲突。
## 🛠️ 工具与环境
* **SIEM:** Wazuh (Manager & Agent)
* **目标机:** Windows 10 (自定义 VIP 用户: `CEO_TEST`)
* **攻击机:** Kali Linux
* **攻击工具:** CrackMapExec (NetExec)
* **日志来源:** Windows Event Logs (Event ID: 4625)
## 🔴 阶段 1:攻击 (Red Team Operation)
为了模拟针对性攻击,在 Windows 10 机器上创建了一个本地用户账户 (`CEO_TEST`)。未使用 Hydra 等传统工具,而是利用现代化的后渗透工具 **CrackMapExec** 配合自定义字典执行 SMB 暴力破解攻击。
```
crackmapexec smb 10.0.2.4 -u CEO_TEST -p passwords.txt
```
该工具成功暴力破解了 SMB 服务并获取了正确的密码,模拟了一个成功的初始访问载体。

## 🔵 阶段 2:SIEM 盲区 (Blue Team Analysis)
攻击成功生成了多条 (`Event ID 4625 (Logon Failure)`) 日志。然而,Wazuh 的默认规则 (`Rule ID: 60122`) 仅将其归类为 **Level 5 (Low/Medium)** 告警。
在真实的企业环境中,成千上万个 Level 5 告警会导致告警疲劳。持续的暴力破解攻击本应触发严重的关联告警,但实际上并未触发。

## ⚙️ 阶段 3:故障排除与根因分析 (RCA)
我尝试编写一条自定义关联规则,设定如果在 2 分钟内发生 5 次登录失败,则触发 **Level 12 (Critical)** 告警。但是,该规则未能执行。
**根因分析:**
在调查 SIEM 后端架构时,我在 (`local_rules.xml`) 文件中发现了灾难性问题:
* **重复的 Rule ID:** 多个自定义规则使用了相同的 ID (例如 (`100001, 100002`)),导致 (`wazuh-analysisd`) 引擎在逻辑上崩溃。
* **破损的 XML 语法:** 之前的配置中缺少闭合标签 (``),破坏了整个文件。
由于这些结构性故障,SIEM 引擎完全拒绝了自定义规则文件,导致系统对新检测逻辑处于盲视状态。我成功清理了 XML 文件,重新分配了唯一 ID (100001 至 100012),并重启了 manager。

## 🏗️ 阶段 4:检测工程 (Custom Rule)
为了确保准确捕获暴力破解攻击,我设计了以下规则。我并未通过源 IP 进行匹配(因为攻击者可以伪造 IP 或通过代理更改 IP),而是使用 `win.eventdata.targetUserName ` 将关联逻辑映射到目标用户。
```
60122
win.eventdata.targetUserName
CRITICAL: Brute Force Attack Detected against user: $(win.eventdata.targetUserName)
T1110
```
## 🏆 阶段 5:验证与成果
在 SIEM 引擎恢复并部署优化后的规则后,重新发起了暴力破解攻击。SIEM 成功关联了日志并触发了 Level 12 Critical Alert,动态地将受攻击用户 (`CEO_TEST`) 提取到了告警描述中。

## 💡 核心要点
* **检测工程** 不仅仅是编写规则;更是理解底层的 JSON/XML 解析引擎。
* **告警疲劳** 必须通过将重复的低级别日志升级为高保真的关联告警来积极管理。
* **系统稳定性** 决定了可见性。一个损坏的配置文件与复杂的威胁行为者一样危险。
### **更新:** 本仓库已添加通用的 Sigma Rule (`brute_force_target_user.yml`),以实现跨 SIEM 平台兼容性 (Splunk, QRadar, Sentinel)。
标签:AD域安全, AMSI绕过, CrackMapExec, SIEM规则调优, SMB暴力破解, SOC实验室, Terraform 安全, Wazuh, Web安全, Windows事件日志, XML配置, 事件ID 4625, 企业安全, 告警疲劳, 威胁检测, 故障排查, 红队模拟, 网络安全, 网络资产管理, 蓝队分析, 隐私保护