manulakeshawa/soc-home-lab
GitHub: manulakeshawa/soc-home-lab
该项目是一个新手友好的 SOC 家庭实验室,使用 Wazuh、Suricata 等开源工具在虚拟环境中练习威胁检测、日志分析和事件响应。
Stars: 0 | Forks: 0
# SOC 家庭实验室:威胁检测与事件响应
## 概述
本项目是一个对新手友好的 SOC 家庭实验室,旨在使用开源工具练习安全监控、日志分析、威胁检测和事件响应。
该实验室专注于从 Linux/Windows 终端收集日志、检测可疑活动、分析警报,以及通过事件报告记录发现的结果。
## 目标
* 构建一个小型 SOC 风格的实验室环境。
* 从终端收集日志。
* 检测可疑活动,如端口扫描和登录失败尝试。
* 使用 SIEM/XDR 平台分析警报。
* 通过事件报告记录发现的结果。
* 提升实用网络安全技能,为实习做准备。
## 使用的工具
| 工具 | 用途 | 状态 |
|----------------------------|------------------------------------------------|---------------------|
| Oracle VirtualBox | 虚拟实验室环境 | 使用中 |
| Ubuntu Desktop 24.04.4 LTS | Ubuntu 测试机 | 已完成 |
| Ubuntu Scanner VM | 用于安全 Nmap 测试的专用扫描机 | 已完成 |
| Ubuntu Server 24.04.4 LTS | Wazuh 服务器基础操作系统 | 已完成 |
| Wazuh SIEM/XDR | 日志收集、警报分析和安全监控 | 已安装 |
| Nmap | 安全扫描活动和网络测试 | 已安装 |
| OpenSSH Server | SSH 访问和登录失败检测练习 | 已安装 |
| Wireshark | 手动数据包分析 | 已安装在宿主机 |
| Suricata IDS | 网络入侵检测 | 已安装 / 已测试 |
| Windows Endpoint | Windows 事件日志收集和登录失败检测 | 已安装 / 已测试 |
## 实验室架构
| 机器 | IP 地址 | 用途 | 状态 |
|---------------------|-----------------------|--------------------------------------------|----------------|
| Wazuh Server | 192.168.56.10 | SIEM/XDR 仪表板和日志分析 | 已安装 |
| Ubuntu Test Machine | 192.168.56.20 | 受监控的 Ubuntu 终端和扫描目标 | 已注册代理 |
| Ubuntu Scanner | 192.168.56.40 | 用于 Nmap 测试的专用扫描机 | 已配置 |
| Windows Endpoint | 192.168.56.30 | Windows 事件日志收集 | 已注册代理 |
## 已测试的检测场景
| 场景 | 状态 |
|------------------------------------------|------------------------|
| Wazuh 服务器设置 | 已完成 |
| Ubuntu 终端代理注册 | 已完成 |
| Nmap 端口扫描检测 | 已完成 |
| SSH 登录失败 / 暴力破解检测 | 已完成 |
| 可疑命令执行 | 已完成 |
| 使用 EICAR 进行安全恶意软件测试 | 已完成 / 已记录 |
| Suricata 网络警报分析 | 已完成 |
| Windows 登录失败检测 | 已完成 |
## 检测总结
| 检测场景 | MITRE ATT&CK 映射 | 日志来源 / 证据来源 | 使用的工具 | 文档 |
|---------------------------|----------------------------------------------------------------------------|----------------------------------|---------------------------|-----------------------------------------------------------------------------------------------------------|
| Nmap 扫描活动 | T1046 – Network Service Discovery | UFW 防火墙日志 | Nmap, UFW, Wazuh 审查 | [Nmap 扫描事件报告](incident-reports/nmap-scan-incident.md) |
| SSH 登录失败 | T1110.001 – Password Guessing | Linux 认证日志 | OpenSSH, Wazuh | [SSH 登录失败事件报告](incident-reports/failed-ssh-login-incident.md) |
| 可疑的 sudo 命令 | T1003.008 – /etc/passwd 和 /etc/shadow; T1548.003 – Sudo 和 Sudo Caching | Linux sudo/认证日志 | Wazuh | [可疑命令事件报告](incident-reports/suspicious-command-incident.md) |
| EICAR 安全恶意软件测试 | N/A – 安全检测验证测试 | ClamAV 扫描输出 | ClamAV, Wazuh 审查 | [EICAR 测试笔记](sample-alerts/eicar-test-notes.md) |
| 网络流量检测 | T1046 – Network Service Discovery | Suricata `fast.log` | Suricata, Nmap, Ping | [Suricata 和 Wireshark 网络事件报告](incident-reports/suricata-wireshark-network-incident.md) |
| Windows 登录失败 | T1110.001 – Password Guessing | Windows Security Event ID `4625` | Windows Event Logs, Wazuh | [Windows 登录失败事件报告](incident-reports/windows-failed-login-incident.md) |
## 展示的技能
- 使用 Oracle VirtualBox 进行虚拟实验室设置
- Linux 和 Windows 终端监控
- Wazuh SIEM/XDR 部署和代理注册
- Linux 认证日志分析
- Windows Security Event Log 分析
- 在私有实验室中进行 Nmap 扫描测试
- UFW 防火墙日志审查
- Suricata IDS 规则测试
- Wireshark 数据包捕获
- 使用 EICAR 和 ClamAV 进行安全的恶意软件测试
- 事件报告编写
- GitHub 文档和证据收集
## 实验室进度
### 第 02 天 – Ubuntu 虚拟机设置
使用 Oracle VirtualBox 完成了 Ubuntu 测试机的设置。
已配置并验证:
* Ubuntu 24.04.4 LTS 虚拟机
* 4096 MB 内存和 2 个处理器
* NAT 网络
* 基础网络安全工具:`nmap`, `git`, `curl`, `net-tools`
* OpenSSH 服务器套接字监听 22 端口
* 用于恢复的 VirtualBox 快照
文档:[第 02 天 – Ubuntu 虚拟机设置](docs/day-02-ubuntu-vm-setup.md)
### 第 03 天 – Wazuh 服务器设置
使用 Ubuntu Server 24.04.4 LTS 完成了 Wazuh 服务器安装。
已配置并验证:
* 在 Oracle VirtualBox 中的 Wazuh Server 虚拟机
* 8192 MB 内存和 4 个处理器
* 50 GB 虚拟磁盘
* 用于互联网访问的 NAT 网络
* Host-only IP 地址:`192.168.56.10`
* Wazuh 安装成功完成
* Wazuh 服务已验证:
* `wazuh-manager.service`
* `wazuh-indexer.service`
* `wazuh-dashboard.service`
* `filebeat.service`
* 从 Windows 宿主机浏览器访问 Wazuh 仪表板
* 管理员密码已私下保存,未上传至 GitHub
* Wazuh 安装成功后创建了 VirtualBox 快照
文档:[第 03 天 – Wazuh 服务器设置](docs/day-03-wazuh-server-setup.md)
### 第 04 天 – Ubuntu 代理注册
完成了 Ubuntu 测试机作为 Wazuh 代理的注册。
已配置并验证:
- 在 Ubuntu 测试机上配置了 Host-only 网络
- Ubuntu 测试机分配了静态 IP 地址:`192.168.56.20`
- 可访问位于 `192.168.56.10` 的 Wazuh 服务器
- 在 Ubuntu 测试机上安装了 Wazuh 代理
- Wazuh 代理服务验证为 `active (running)`
- Ubuntu 终端在 Wazuh 仪表板中显示为活动代理
- 代理详情已验证:
- 代理名称:`ubuntu-test-machine`
- 代理 ID:`001`
- IP 地址:`192.168.56.20`
- 操作系统:Ubuntu 24.04.4 LTS
- Wazuh 代理版本:4.14.5
文档:[第 04 天 – Ubuntu 代理注册](docs/day-04-ubuntu-agent-enrollment.md)
### 第 05 天 – Nmap 扫描检测
在私有实验室网络内完成了安全的 Nmap 扫描检测场景。
已配置并验证:
- 创建了 Ubuntu 扫描机虚拟机作为专用扫描机
- Ubuntu 扫描机分配了 Host-only IP 地址:`192.168.56.40`
- Ubuntu 扫描机成功连接至:
- Wazuh 服务器:`192.168.56.10`
- Ubuntu 测试机:`192.168.56.20`
- 对 Ubuntu 测试机执行了 Nmap 服务检测扫描
- 在 Ubuntu 测试机上启用了 UFW 防火墙
- 在 Ubuntu 测试机上启用了 UFW 日志记录
- 从 Ubuntu 扫描机对 Ubuntu 测试机执行了 SYN 扫描
- UFW 日志确认拦截了来自 `192.168.56.40` 的扫描数据包
- 审查了 Wazuh 仪表板中的扫描相关事件
- 记录的限制:在本次测试中,Wazuh 未能将该活动明确分类为 Nmap 扫描
事件报告:[Nmap 扫描事件报告](incident-reports/nmap-scan-incident.md)
### 第 06 天 – SSH 登录失败检测
在私有实验室网络内完成了 SSH 登录失败检测场景。
已配置并验证:
- 允许从 Ubuntu 扫描机到 Ubuntu 测试机的 SSH 访问
- 验证 Ubuntu 测试机上的 SSH 服务正在运行
- 从 Ubuntu 扫描机手动生成了 SSH 登录失败尝试
- 使用的无效用户名:`wronguser`
- 源 IP 地址:`192.168.56.40`
- 目标 IP 地址:`192.168.56.20`
- Ubuntu 认证日志确认了 SSH 尝试失败
- Wazuh 仪表板显示了与 SSH 相关的登录失败事件
- Wazuh 检测到:
- `sshd: Attempt to login using a non-existent user`
- `syslog: User missed the password more than one time`
- Wazuh 事件确认了无效的用户名和源 IP 地址
事件报告:[SSH 登录失败事件报告](incident-reports/failed-ssh-login-incident.md)
### 第 07 天 – 可疑命令活动和 EICAR 测试
在私有实验室环境内完成了可疑命令活动测试和安全的 EICAR 反恶意软件测试。
已配置并验证:
- 在 Ubuntu 测试机上执行了无害的枚举命令
- 使用 `/etc/shadow` 安全地执行了敏感文件访问尝试
- `/etc/shadow` 的内容未上传至 GitHub
- Wazuh 记录了 sudo 命令活动
- Wazuh 事件详情显示:
- 源用户:`manula`
- 目标用户:`root`
- 命令:`/usr/bin/head -n 5 /etc/shadow`
- 代理:`ubuntu-test-machine`
- 在 Ubuntu 测试机上安装了 ClamAV
- 在本地创建了 EICAR 测试文件,用于安全的反恶意软件测试
- ClamAV 检测到 EICAR 测试文件为 `Eicar-Signature FOUND`
- 审查了 Wazuh 中与 EICAR 相关的事件
- 记录的限制:在本次测试中,Wazuh 未能清楚显示 EICAR 恶意软件检测事件
- 测试后删除了 EICAR 测试文件
- 真实的 EICAR 测试文件未上传至 GitHub
事件报告:[可疑命令事件报告](incident-reports/suspicious-command-incident.md)
笔记:[EICAR 测试笔记](sample-alerts/eicar-test-notes.md)
### 第 08 天 – Suricata 网络检测和 Wireshark 证据
在私有实验室环境内完成了使用 Suricata 和 Wireshark 的基于网络的检测测试。
已配置并验证:
- 在 Ubuntu 测试机上安装了 Suricata
- 验证了 Suricata 版本
- 更新了 Suricata 规则并测试了配置
- 确认了 Host-only 实验室接口:
- 接口:`enp0s8`
- IP 地址:`192.168.56.20`
- 在 Host-only 实验室接口上启动了 Suricata
- 为来自 Ubuntu 扫描机的流量创建了自定义 Suricata 实验室规则
- Ubuntu 扫描机针对 Ubuntu 测试机生成了 ICMP 和 TCP 流量
- Suricata `fast.log` 显示了针对以下内容的警报:
- `LAB ICMP ping from Ubuntu Scanner`
- `LAB TCP traffic from Ubuntu Scanner`
- Suricata 确认了扫描机到目标的流量:
- 源:`192.168.56.40`
- 目标:`192.168.56.20`
- Wireshark 捕获了 VirtualBox Host-only 网络上的 ICMP 流量
- Wireshark 证据确认了 Windows 宿主机和 Ubuntu 测试机之间的 Host-only 实验室流量
- 记录的限制:Wireshark 截图捕获的是宿主机到终端的流量,而扫描机到目标的流量是通过 Suricata 日志确认
事件报告:[Suricata 和 Wireshark 网络事件报告](incident-reports/suricata-wireshark-network-incident.md)
### 第 10 天 – Windows 终端日志收集
完成了使用 Wazuh 进行 Windows 终端日志收集和登录失败检测。
已配置并验证:
- 创建了 Windows 11 Enterprise Evaluation 虚拟机
- Windows 终端连接到了 NAT 和 Host-only 网络
- 分配了 Host-only IP 地址:
- `192.168.56.30`
- Windows 终端成功连接至 Wazuh Server:
- `192.168.56.10`
- 在 Windows 终端上安装了 Wazuh 代理
- Wazuh 服务成功启动
- Windows 终端在 Wazuh 仪表板中显示为活动代理
- 代理详情已验证:
- 代理名称:`windows-endpoint`
- 代理 ID:`002`
- IP 地址:`192.168.56.30`
- 操作系统:Microsoft Windows 11 Enterprise Evaluation
- Wazuh 代理版本:4.14.5
- 启用了 Windows 登录失败审核
- 创建了本地测试用户,用于安全的登录失败测试
- 本地确认了 Windows Security Event ID `4625`
- Wazuh 仪表板显示了 Windows 登录失败事件
- Wazuh 检测到:
- `Logon Failure - Unknown user or bad password`
- Wazuh 事件确认了 `testuser` 的登录失败活动
事件报告:[Windows 登录失败事件报告](incident-reports/windows-failed-login-incident.md)
## 当前状态
实验室基础架构和多个检测场景已完成。
已完成:
* 创建了 GitHub 存储库
* 创建了 Ubuntu 测试机
* 创建了 Wazuh Server 虚拟机
* 安装了 Wazuh Server
* 成功访问了 Wazuh 仪表板
* Ubuntu 测试机已连接到 Host-only 实验室网络
* Ubuntu 测试机已注册为 Wazuh 代理
* 创建了 Ubuntu 扫描机虚拟机
* 在实验室网络内执行了安全的 Nmap 扫描
* 收集了 UFW 防火墙日志作为扫描证据
* 手动生成了 SSH 登录失败尝试
* 审查了 Ubuntu 认证日志
* 审查了 Wazuh SSH 登录失败事件
* 生成并审查了可疑命令活动
* 审查了 Wazuh sudo 命令事件
* 使用 ClamAV 进行了 EICAR 安全恶意软件测试
* 安装并测试了 Suricata IDS
* 创建了 Suricata 自定义实验室规则
* 审查了 Suricata 网络警报
* 捕获了 Wireshark Host-only 实验室流量
* 创建了 Windows 终端虚拟机
* Windows 终端已注册为 Wazuh 代理
* 审查了 Windows Security Event ID 4625
* 审查了 Wazuh Windows 登录失败事件
* 编写了五份事件报告
* 记录了 EICAR 测试笔记
* 记录了自定义 Suricata 实验室规则
* 添加了最终架构图
* 添加了设置文档和截图
后续步骤:
1. 准备将项目用于作品集和简历。
2. 在未来版本中继续改进实验室。
## 事件报告
- [Nmap 扫描事件报告](incident-reports/nmap-scan-incident.md)
- [SSH 登录失败事件报告](incident-reports/failed-ssh-login-incident.md)
- [可疑命令事件报告](incident-reports/suspicious-command-incident.md)
- [Suricata 和 Wireshark 网络事件报告](incident-reports/suricata-wireshark-network-incident.md)
- [Windows 登录失败事件报告](incident-reports/windows-failed-login-incident.md)
## 示例警报笔记
- [EICAR 测试笔记](sample-alerts/eicar-test-notes.md)
## 检测规则
- [自定义 Suricata 实验室规则](detection-rules/custom-suricata-lab-rules.md)
## 经验教训
- [经验教训](lessons-learned.md)
## 存储库结构
```
soc-home-lab/
├── README.md
├── setup-guide.md
├── architecture-diagram.png
├── docs/
│ ├── day-02-ubuntu-vm-setup.md
│ ├── day-03-wazuh-server-setup.md
│ └── day-04-ubuntu-agent-enrollment.md
├── screenshots/
│ ├── day-02-ubuntu-vm-setup/
│ ├── day-03-wazuh-server-setup/
│ ├── day-04-ubuntu-agent-enrollment/
│ ├── day-05-nmap-scan-detection/
│ ├── day-06-failed-ssh-login-detection/
│ ├── day-07-suspicious-command-eicar/
│ ├── day-08-suricata-wireshark/
│ └── day-10-windows-endpoint-logs/
├── detection-rules/
│ └── custom-suricata-lab-rules.md
├── sample-alerts/
│ └── eicar-test-notes.md
├── incident-reports/
│ ├── nmap-scan-incident.md
│ ├── failed-ssh-login-incident.md
│ ├── suspicious-command-incident.md
│ ├── suricata-wireshark-network-incident.md
│ └── windows-failed-login-incident.md
└── lessons-learned.md
```
## 安全与道德
本项目中的所有测试仅在私有虚拟实验室环境中进行。
未经许可,不会扫描或测试任何公共系统、大学网络、公司网络或第三方目标。
## 已测试的检测场景
| 场景 | 状态 |
|------------------------------------------|------------------------|
| Wazuh 服务器设置 | 已完成 |
| Ubuntu 终端代理注册 | 已完成 |
| Nmap 端口扫描检测 | 已完成 |
| SSH 登录失败 / 暴力破解检测 | 已完成 |
| 可疑命令执行 | 已完成 |
| 使用 EICAR 进行安全恶意软件测试 | 已完成 / 已记录 |
| Suricata 网络警报分析 | 已完成 |
| Windows 登录失败检测 | 已完成 |
## 检测总结
| 检测场景 | MITRE ATT&CK 映射 | 日志来源 / 证据来源 | 使用的工具 | 文档 |
|---------------------------|----------------------------------------------------------------------------|----------------------------------|---------------------------|-----------------------------------------------------------------------------------------------------------|
| Nmap 扫描活动 | T1046 – Network Service Discovery | UFW 防火墙日志 | Nmap, UFW, Wazuh 审查 | [Nmap 扫描事件报告](incident-reports/nmap-scan-incident.md) |
| SSH 登录失败 | T1110.001 – Password Guessing | Linux 认证日志 | OpenSSH, Wazuh | [SSH 登录失败事件报告](incident-reports/failed-ssh-login-incident.md) |
| 可疑的 sudo 命令 | T1003.008 – /etc/passwd 和 /etc/shadow; T1548.003 – Sudo 和 Sudo Caching | Linux sudo/认证日志 | Wazuh | [可疑命令事件报告](incident-reports/suspicious-command-incident.md) |
| EICAR 安全恶意软件测试 | N/A – 安全检测验证测试 | ClamAV 扫描输出 | ClamAV, Wazuh 审查 | [EICAR 测试笔记](sample-alerts/eicar-test-notes.md) |
| 网络流量检测 | T1046 – Network Service Discovery | Suricata `fast.log` | Suricata, Nmap, Ping | [Suricata 和 Wireshark 网络事件报告](incident-reports/suricata-wireshark-network-incident.md) |
| Windows 登录失败 | T1110.001 – Password Guessing | Windows Security Event ID `4625` | Windows Event Logs, Wazuh | [Windows 登录失败事件报告](incident-reports/windows-failed-login-incident.md) |
## 展示的技能
- 使用 Oracle VirtualBox 进行虚拟实验室设置
- Linux 和 Windows 终端监控
- Wazuh SIEM/XDR 部署和代理注册
- Linux 认证日志分析
- Windows Security Event Log 分析
- 在私有实验室中进行 Nmap 扫描测试
- UFW 防火墙日志审查
- Suricata IDS 规则测试
- Wireshark 数据包捕获
- 使用 EICAR 和 ClamAV 进行安全的恶意软件测试
- 事件报告编写
- GitHub 文档和证据收集
## 实验室进度
### 第 02 天 – Ubuntu 虚拟机设置
使用 Oracle VirtualBox 完成了 Ubuntu 测试机的设置。
已配置并验证:
* Ubuntu 24.04.4 LTS 虚拟机
* 4096 MB 内存和 2 个处理器
* NAT 网络
* 基础网络安全工具:`nmap`, `git`, `curl`, `net-tools`
* OpenSSH 服务器套接字监听 22 端口
* 用于恢复的 VirtualBox 快照
文档:[第 02 天 – Ubuntu 虚拟机设置](docs/day-02-ubuntu-vm-setup.md)
### 第 03 天 – Wazuh 服务器设置
使用 Ubuntu Server 24.04.4 LTS 完成了 Wazuh 服务器安装。
已配置并验证:
* 在 Oracle VirtualBox 中的 Wazuh Server 虚拟机
* 8192 MB 内存和 4 个处理器
* 50 GB 虚拟磁盘
* 用于互联网访问的 NAT 网络
* Host-only IP 地址:`192.168.56.10`
* Wazuh 安装成功完成
* Wazuh 服务已验证:
* `wazuh-manager.service`
* `wazuh-indexer.service`
* `wazuh-dashboard.service`
* `filebeat.service`
* 从 Windows 宿主机浏览器访问 Wazuh 仪表板
* 管理员密码已私下保存,未上传至 GitHub
* Wazuh 安装成功后创建了 VirtualBox 快照
文档:[第 03 天 – Wazuh 服务器设置](docs/day-03-wazuh-server-setup.md)
### 第 04 天 – Ubuntu 代理注册
完成了 Ubuntu 测试机作为 Wazuh 代理的注册。
已配置并验证:
- 在 Ubuntu 测试机上配置了 Host-only 网络
- Ubuntu 测试机分配了静态 IP 地址:`192.168.56.20`
- 可访问位于 `192.168.56.10` 的 Wazuh 服务器
- 在 Ubuntu 测试机上安装了 Wazuh 代理
- Wazuh 代理服务验证为 `active (running)`
- Ubuntu 终端在 Wazuh 仪表板中显示为活动代理
- 代理详情已验证:
- 代理名称:`ubuntu-test-machine`
- 代理 ID:`001`
- IP 地址:`192.168.56.20`
- 操作系统:Ubuntu 24.04.4 LTS
- Wazuh 代理版本:4.14.5
文档:[第 04 天 – Ubuntu 代理注册](docs/day-04-ubuntu-agent-enrollment.md)
### 第 05 天 – Nmap 扫描检测
在私有实验室网络内完成了安全的 Nmap 扫描检测场景。
已配置并验证:
- 创建了 Ubuntu 扫描机虚拟机作为专用扫描机
- Ubuntu 扫描机分配了 Host-only IP 地址:`192.168.56.40`
- Ubuntu 扫描机成功连接至:
- Wazuh 服务器:`192.168.56.10`
- Ubuntu 测试机:`192.168.56.20`
- 对 Ubuntu 测试机执行了 Nmap 服务检测扫描
- 在 Ubuntu 测试机上启用了 UFW 防火墙
- 在 Ubuntu 测试机上启用了 UFW 日志记录
- 从 Ubuntu 扫描机对 Ubuntu 测试机执行了 SYN 扫描
- UFW 日志确认拦截了来自 `192.168.56.40` 的扫描数据包
- 审查了 Wazuh 仪表板中的扫描相关事件
- 记录的限制:在本次测试中,Wazuh 未能将该活动明确分类为 Nmap 扫描
事件报告:[Nmap 扫描事件报告](incident-reports/nmap-scan-incident.md)
### 第 06 天 – SSH 登录失败检测
在私有实验室网络内完成了 SSH 登录失败检测场景。
已配置并验证:
- 允许从 Ubuntu 扫描机到 Ubuntu 测试机的 SSH 访问
- 验证 Ubuntu 测试机上的 SSH 服务正在运行
- 从 Ubuntu 扫描机手动生成了 SSH 登录失败尝试
- 使用的无效用户名:`wronguser`
- 源 IP 地址:`192.168.56.40`
- 目标 IP 地址:`192.168.56.20`
- Ubuntu 认证日志确认了 SSH 尝试失败
- Wazuh 仪表板显示了与 SSH 相关的登录失败事件
- Wazuh 检测到:
- `sshd: Attempt to login using a non-existent user`
- `syslog: User missed the password more than one time`
- Wazuh 事件确认了无效的用户名和源 IP 地址
事件报告:[SSH 登录失败事件报告](incident-reports/failed-ssh-login-incident.md)
### 第 07 天 – 可疑命令活动和 EICAR 测试
在私有实验室环境内完成了可疑命令活动测试和安全的 EICAR 反恶意软件测试。
已配置并验证:
- 在 Ubuntu 测试机上执行了无害的枚举命令
- 使用 `/etc/shadow` 安全地执行了敏感文件访问尝试
- `/etc/shadow` 的内容未上传至 GitHub
- Wazuh 记录了 sudo 命令活动
- Wazuh 事件详情显示:
- 源用户:`manula`
- 目标用户:`root`
- 命令:`/usr/bin/head -n 5 /etc/shadow`
- 代理:`ubuntu-test-machine`
- 在 Ubuntu 测试机上安装了 ClamAV
- 在本地创建了 EICAR 测试文件,用于安全的反恶意软件测试
- ClamAV 检测到 EICAR 测试文件为 `Eicar-Signature FOUND`
- 审查了 Wazuh 中与 EICAR 相关的事件
- 记录的限制:在本次测试中,Wazuh 未能清楚显示 EICAR 恶意软件检测事件
- 测试后删除了 EICAR 测试文件
- 真实的 EICAR 测试文件未上传至 GitHub
事件报告:[可疑命令事件报告](incident-reports/suspicious-command-incident.md)
笔记:[EICAR 测试笔记](sample-alerts/eicar-test-notes.md)
### 第 08 天 – Suricata 网络检测和 Wireshark 证据
在私有实验室环境内完成了使用 Suricata 和 Wireshark 的基于网络的检测测试。
已配置并验证:
- 在 Ubuntu 测试机上安装了 Suricata
- 验证了 Suricata 版本
- 更新了 Suricata 规则并测试了配置
- 确认了 Host-only 实验室接口:
- 接口:`enp0s8`
- IP 地址:`192.168.56.20`
- 在 Host-only 实验室接口上启动了 Suricata
- 为来自 Ubuntu 扫描机的流量创建了自定义 Suricata 实验室规则
- Ubuntu 扫描机针对 Ubuntu 测试机生成了 ICMP 和 TCP 流量
- Suricata `fast.log` 显示了针对以下内容的警报:
- `LAB ICMP ping from Ubuntu Scanner`
- `LAB TCP traffic from Ubuntu Scanner`
- Suricata 确认了扫描机到目标的流量:
- 源:`192.168.56.40`
- 目标:`192.168.56.20`
- Wireshark 捕获了 VirtualBox Host-only 网络上的 ICMP 流量
- Wireshark 证据确认了 Windows 宿主机和 Ubuntu 测试机之间的 Host-only 实验室流量
- 记录的限制:Wireshark 截图捕获的是宿主机到终端的流量,而扫描机到目标的流量是通过 Suricata 日志确认
事件报告:[Suricata 和 Wireshark 网络事件报告](incident-reports/suricata-wireshark-network-incident.md)
### 第 10 天 – Windows 终端日志收集
完成了使用 Wazuh 进行 Windows 终端日志收集和登录失败检测。
已配置并验证:
- 创建了 Windows 11 Enterprise Evaluation 虚拟机
- Windows 终端连接到了 NAT 和 Host-only 网络
- 分配了 Host-only IP 地址:
- `192.168.56.30`
- Windows 终端成功连接至 Wazuh Server:
- `192.168.56.10`
- 在 Windows 终端上安装了 Wazuh 代理
- Wazuh 服务成功启动
- Windows 终端在 Wazuh 仪表板中显示为活动代理
- 代理详情已验证:
- 代理名称:`windows-endpoint`
- 代理 ID:`002`
- IP 地址:`192.168.56.30`
- 操作系统:Microsoft Windows 11 Enterprise Evaluation
- Wazuh 代理版本:4.14.5
- 启用了 Windows 登录失败审核
- 创建了本地测试用户,用于安全的登录失败测试
- 本地确认了 Windows Security Event ID `4625`
- Wazuh 仪表板显示了 Windows 登录失败事件
- Wazuh 检测到:
- `Logon Failure - Unknown user or bad password`
- Wazuh 事件确认了 `testuser` 的登录失败活动
事件报告:[Windows 登录失败事件报告](incident-reports/windows-failed-login-incident.md)
## 当前状态
实验室基础架构和多个检测场景已完成。
已完成:
* 创建了 GitHub 存储库
* 创建了 Ubuntu 测试机
* 创建了 Wazuh Server 虚拟机
* 安装了 Wazuh Server
* 成功访问了 Wazuh 仪表板
* Ubuntu 测试机已连接到 Host-only 实验室网络
* Ubuntu 测试机已注册为 Wazuh 代理
* 创建了 Ubuntu 扫描机虚拟机
* 在实验室网络内执行了安全的 Nmap 扫描
* 收集了 UFW 防火墙日志作为扫描证据
* 手动生成了 SSH 登录失败尝试
* 审查了 Ubuntu 认证日志
* 审查了 Wazuh SSH 登录失败事件
* 生成并审查了可疑命令活动
* 审查了 Wazuh sudo 命令事件
* 使用 ClamAV 进行了 EICAR 安全恶意软件测试
* 安装并测试了 Suricata IDS
* 创建了 Suricata 自定义实验室规则
* 审查了 Suricata 网络警报
* 捕获了 Wireshark Host-only 实验室流量
* 创建了 Windows 终端虚拟机
* Windows 终端已注册为 Wazuh 代理
* 审查了 Windows Security Event ID 4625
* 审查了 Wazuh Windows 登录失败事件
* 编写了五份事件报告
* 记录了 EICAR 测试笔记
* 记录了自定义 Suricata 实验室规则
* 添加了最终架构图
* 添加了设置文档和截图
后续步骤:
1. 准备将项目用于作品集和简历。
2. 在未来版本中继续改进实验室。
## 事件报告
- [Nmap 扫描事件报告](incident-reports/nmap-scan-incident.md)
- [SSH 登录失败事件报告](incident-reports/failed-ssh-login-incident.md)
- [可疑命令事件报告](incident-reports/suspicious-command-incident.md)
- [Suricata 和 Wireshark 网络事件报告](incident-reports/suricata-wireshark-network-incident.md)
- [Windows 登录失败事件报告](incident-reports/windows-failed-login-incident.md)
## 示例警报笔记
- [EICAR 测试笔记](sample-alerts/eicar-test-notes.md)
## 检测规则
- [自定义 Suricata 实验室规则](detection-rules/custom-suricata-lab-rules.md)
## 经验教训
- [经验教训](lessons-learned.md)
## 存储库结构
```
soc-home-lab/
├── README.md
├── setup-guide.md
├── architecture-diagram.png
├── docs/
│ ├── day-02-ubuntu-vm-setup.md
│ ├── day-03-wazuh-server-setup.md
│ └── day-04-ubuntu-agent-enrollment.md
├── screenshots/
│ ├── day-02-ubuntu-vm-setup/
│ ├── day-03-wazuh-server-setup/
│ ├── day-04-ubuntu-agent-enrollment/
│ ├── day-05-nmap-scan-detection/
│ ├── day-06-failed-ssh-login-detection/
│ ├── day-07-suspicious-command-eicar/
│ ├── day-08-suricata-wireshark/
│ └── day-10-windows-endpoint-logs/
├── detection-rules/
│ └── custom-suricata-lab-rules.md
├── sample-alerts/
│ └── eicar-test-notes.md
├── incident-reports/
│ ├── nmap-scan-incident.md
│ ├── failed-ssh-login-incident.md
│ ├── suspicious-command-incident.md
│ ├── suricata-wireshark-network-incident.md
│ └── windows-failed-login-incident.md
└── lessons-learned.md
```
## 安全与道德
本项目中的所有测试仅在私有虚拟实验室环境中进行。
未经许可,不会扫描或测试任何公共系统、大学网络、公司网络或第三方目标。标签:AMSI绕过, CTI, Metaprompt, 威胁检测, 安全实验环境, 安全运营中心, 库, 应急响应, 网络安全, 网络映射, 隐私保护