luckstors/Wazuh-SOC-HomeLab-SSH-BruteForce
GitHub: luckstors/Wazuh-SOC-HomeLab-SSH-BruteForce
一个自建的 SOC 家庭实验室项目,通过模拟针对 Windows 的 SSH 暴力破解攻击,演练 Wazuh SIEM 的检测、告警关联与事件响应全流程。
Stars: 0 | Forks: 0
# Wazuh-SOC-HomeLab-SSH-BruteForce
# 🛡️ SOC 家庭实验室:使用 Wazuh SIEM 检测针对 Windows 的 SSH 暴力破解攻击
[]()
[]()
[]()
一个自建的 SOC 家庭实验室,模拟针对 Windows 终端的 SSH 暴力破解攻击,通过 Wazuh SIEM 进行检测,并执行事件响应。旨在练习端到端的检测工程:攻击模拟 → 日志关联 → 告警研判 → 加固。
## 📌 TL;DR
| 项目 | 详情 |
|---|---|
| **模拟攻击** | SSH 暴力破解(通过暴力破解获取有效账号) |
| **MITRE ATT&CK** | [T1110 - 暴力破解](https://attack.mitre.org/techniques/T1110/) / [T1078 - 有效账号](https://attack.mitre.org/techniques/T1078/) |
| **SIEM** | Wazuh 4.x |
| **触发的检测规则** | 60106(Windows 登录成功),67028(分配特殊权限) |
| **结果** | 检测到多次登录失败后的成功攻陷;执行了主机加固 |
## 🎯 目标
大多数企业无法防范他们看不见的威胁。本实验室模拟了实时填补这种可见性差距的过程:攻击者对 Windows 主机上的 SSH 凭据进行暴力破解,而 SOC 分析师(即我)利用 SIEM 遥测数据进行检测、关联和响应。
**我做了什么:**
1. 部署了 **Wazuh Manager**(SIEM)以集中处理日志收集和告警。
2. 先进行加固,然后故意暴露 **Windows 11 上的 OpenSSH 服务** 作为攻击面。
3. 使用 **Hydra** 从 Kali Linux 模拟 **暴力破解攻击**。
4. 在 **Wazuh Dashboard** 上关联 Windows 安全事件日志以确认系统被攻陷。
5. 执行 **事件响应**:撤销访问权限,关闭攻击面,恢复安全基线。
## 💻 实验室架构
```
┌──────────────────┐ SSH (port 22) ┌─────────────────────────┐
│ Kali Linux │ ─────────────────────────▶│ Windows 11 Target │
│ (Attacker Node) │ Hydra brute force │ (OpenSSH + Wazuh │
│ IP: 10.x.x.x* │ │ Agent) │
└──────────────────┘ │ IP: 10.x.x.x* │
└──────────┬──────────────┘
│ Event forwarding
▼
┌──────────────────────┐
│ Wazuh Manager │
│ (Ubuntu/Docker) │
│ IP: 10.x.x.x* │
└──────────────────────┘
```
*\*IP 已脱敏 —— 实验室仅使用私有/隔离的网络范围(RFC1918)。所有测试均在隔离的家庭实验室网络中进行,没有暴露在互联网上。*
| 角色 | 组件 | 备注 |
|---|---|---|
| SIEM Manager | Wazuh Server v4.x | Ubuntu (WSL2 / Docker) |
| 目标终端 | Windows 11 + Wazuh Agent | 仅针对本次测试启用了 OpenSSH Server |
| 攻击节点 | Kali Linux | 使用 Hydra 进行凭据暴力破解 |
## 🚀 实施演练
### 阶段 1 — 暴露攻击面(Windows 11 目标)
安装并启用 OpenSSH Server:
```
winget install Microsoft.OpenSSH.Preview --source winget
```
将防火墙规则限制为仅专用网络配置文件(切勿将 SSH 暴露给公用网络配置文件):
```
New-NetFirewallRule -Name sshd -DisplayName 'OpenSSH Server (sshd)' -Enabled True -Direction Inbound -Protocol TCP -LocalPort 22 -Action Allow -Profile Private
```
在 `C:\ProgramData\ssh\sshd_config` 中启用密码身份验证:
```
PasswordAuthentication yes
```
创建一个一次性的本地测试账号(仅供实验室使用,测试后已删除 —— 见加固部分):
```
net user labtest /add
net localgroup administrators labtest /add
```
启动服务:
```
Start-Service sshd
```
📸 *截图:PowerShell 确认 `sshd` 服务正在运行*
### 阶段 2 — 模拟攻击(Kali Linux)
生成一个包含错误密码的字典,以模拟真实的暴力破解尝试:
```
for i in {1..50}; do echo "WrongPassword$i" >> ~/wordlist.txt; done
```
使用 Hydra 发起攻击:
```
hydra -l labtest -P ~/wordlist.txt -t 1 ssh://
```
📸 *截图:Kali 终端显示 Hydra 正在对目标执行攻击*
### 阶段 3 — 检测与分析(Wazuh Dashboard)
**1. 量级异常检测**
Wazuh 威胁狩猎仪表板在时间戳直方图上显示了认证失败事件的急剧激增 —— 这是活跃暴力破解尝试的第一个可视化指标。
📸 *截图:攻击窗口期间直方图的激增*
**2. 告警关联**
| 规则 ID | 描述 | 重要性 |
|---|---|---|
| `60106` | Windows 登录成功 | 标志着暴力破解成功的瞬间 —— 关键的 IOC |
| `67028` | 分配特殊权限 | 确认被攻陷的账号拥有本地管理员权限 —— 显著提升了严重程度 |
📸 *截图:Wazuh 告警详情视图*
**3. 为什么这在运营层面上很重要:** 来自同一源 IP 的失败登录激增,*随后* 出现成功事件,这是一种典型的从暴力破解到成功攻陷的模式(映射为 [Windows Event ID 4625](https://learn.microsoft.com/en-us/windows/security/threat-protection/auditing/event-4625) → `4624`)。在真实的 SOC 中,这种序列应触发自动账号锁定或由 SOAR 驱动的 IP 封锁 —— 我已记录下这一差距,留待本实验室未来的迭代中解决(见 *经验与下一步*)。
## 🔐 事件响应与加固
模拟完成后,我将主机恢复到了安全基线状态:
```
# 删除测试账户
net user labtest /delete
# 禁用暴露的服务和防火墙规则
Stop-Service sshd
Remove-NetFirewallRule -Name sshd
# 禁用 Wazuh agent(仅用于实验清理——禁用,请勿在生产环境中执行此操作)
Set-Service -Name "WazuhSvc" -StartupType Disabled
Stop-Service -Name "WazuhSvc"
```
## 📈 经验与下一步
- **检测奏效 —— 但响应是手动的。** 生产级别的 SOC 会将此检测与自动遏制(账号锁定策略、SOAR playbook 或 Wazuh 的 active-response 脚本)结合起来。
- **下一次迭代:** 添加一个 Wazuh active-response 脚本,以便在失败尝试达到 N 次后自动封锁源 IP(`ossec.conf` 中的 active-response 块)。
- **下一次迭代:** 扩展到检测攻陷后的横向移动(例如,使用 `Sysmon` + Wazuh 规则集来发现进程创建异常)。
- **现实考量:** 真实的攻击者很少会进行如此高调的暴力破解;缓慢/低调的暴力破解或密码喷洒将是下一个实验室构建检测的更现实场景。
## 🎓 关键收获
- 在真实的检测场景中,获得了对 **Windows Security Event IDs**(4624/4625)的亲身实践经验。
- 获得了读取和关联 **SIEM 遥测数据** 以确认安全事件(而不仅仅是生成告警)的实践经验。
- 应用了 **事件响应基础知识**:遏制、根除和恢复基线。
- 认识到了 *检测* 与 *自动化响应* 之间的差距 —— 这为我下一步要构建的内容指明了方向。
## 🛠️ 技术栈
`Wazuh` `Windows Event Logs` `OpenSSH` `Kali Linux` `Hydra` `PowerShell` `SOC Fundamentals` `Incident Response`
*本实验室是为提升技能而独立构建的。所有测试均在隔离的家庭实验室环境中针对我自有的系统进行,未涉及任何生产或第三方系统。*
标签:AI合规, Wazuh, 安全实验室, 安全运营, 库, 应急响应, 扫描框架, 攻击模拟, 驱动签名利用