Ameer952/soc-homelab-splunk
GitHub: Ameer952/soc-homelab-splunk
一个基于 Splunk 和 Sysmon 的 SOC 家庭实验室项目,用于学习 SIEM 配置、检测工程和安全监控仪表板搭建。
Stars: 0 | Forks: 0
# SOC 家庭实验室 – SIEM 监控与威胁检测
这是一个用于模拟安全运营中心 (SOC) 环境的蓝队家庭实验室。该项目展示了在端点遥测、SIEM 配置、检测工程和安全监控仪表板方面的实践经验。
## 概述
| 组件 | 工具 |
|-----------|------|
| 虚拟化 | VirtualBox |
| 端点 | Windows 11 Enterprise (Evaluation) |
| 遥测 | Sysmon (SwiftOnSecurity 配置) |
| SIEM | Splunk Enterprise (免费许可证) |
| 日志转发 | Splunk Universal Forwarder |
## SOC 仪表板

## 架构
```
Windows 11 VM (VirtualBox)
└── Sysmon + Windows Event Logs
└── Splunk Universal Forwarder
└── Splunk Enterprise (Host Machine)
└── Detections & Dashboard
```
Windows 11 虚拟机通过 Sysmon 和 Windows Event Logging 生成安全遥测数据。Universal Forwarder 使用 Host-Only 网络适配器通过 TCP 端口 9997 将日志发送到 Splunk。Splunk 对数据进行索引,并作为检测和可视化的 SIEM 平台。
## 设置
### 1. Windows 11 虚拟机
- 通过 VirtualBox 部署 Windows 11 Enterprise 评估版
- 配置 Host-Only 网络以实现隔离的实验室通信
- 安装 VirtualBox Guest Additions 以提升可用性
### 2. Sysmon
- 使用 SwiftOnSecurity 配置安装 Sysmon64
- 捕获进程创建 (Event ID 1)、网络连接、文件更改等
- 验证其作为 Windows 服务运行
```
.\Sysmon64.exe -accepteula -i sysmonconfig-export.xml
Get-Service Sysmon64 # Status: Running
```

### 3. Splunk Universal Forwarder
- 安装在 Windows 虚拟机上
- 配置为监控 Windows Event Logs 和 Sysmon Operational 日志
- 转发至主机上的 Splunk Enterprise,端口为 9997
监控的源:
- `C:\Windows\System32\winevt\Logs` (所有 Windows Event Logs)
- `Microsoft-Windows-Sysmon%4Operational.evtx`
- `Microsoft-Windows-PowerShell%4Operational.evtx`
### 4. Splunk Enterprise
- 安装在主机上
- 配置 TCP 端口 9997 接收数据
- 验证日志摄取:已索引 22,000+ 个事件
## 构建的检测规则
### 暴力破解登录检测
**描述:** 识别具有重复失败身份验证尝试的账户 —— 这是暴力破解或凭证填充攻击的关键指标。
**事件:** Windows Security Log – EventCode 4625 (登录失败)
**Splunk 搜索:**
```
index=main EventCode=4625
| stats count by Account_Name, Source_Network_Address, host
| where count > 3
```
**告警配置:**
- 计划:每小时运行一次
- 触发条件:结果 > 0
- 严重性:高
- 动作:添加到触发告警

**模拟:** 在 Windows 虚拟机上故意输入错误密码 5 次以上。检测成功触发,识别了账户名和源 IP。

## SOC 仪表板
构建了一个多面板 Splunk 仪表板用于实时安全监控:
| 面板 | 描述 |
|-------|-------------|
| 失败登录总数 | EventCode 4625 事件的单值计数 |
| 随时间变化的失败登录 | 按账户显示失败登录尝试的折线图 |
| 成功登录 | 随时间变化的 EventCode 4624 事件折线图 |
| 登录活动对比 | 同一时间轴上成功与失败登录的对比 |
| 热门安全事件 | 按频率排名前 10 的 EventCode 柱状图 |
| 按主机统计的事件 | 按源主机细分事件的饼图 |
## 主要收获
- 配置了从端点到 SIEM 的端到端日志管道
- 理解了原生 Windows Event Logs 与 Sysmon 遥测之间的区别
- 使用 Splunk SPL (Search Processing Language) 编写了真实的检测规则
- 排查了 VirtualBox 网络连接问题(NAT 与 Host-Only 适配器)
- 理解了为何与单独的 Windows 日志记录相比,Sysmon 能显著提升端点可见性
## 后续计划
- **Kali Linux 虚拟机** – 模拟攻击(端口扫描、密码喷洒)并验证检测
- **Atomic Red Team** – 映射到 MITRE ATT&CK 的自动化攻击模拟
- **Sysmon EventCode 1 检测** – 对可疑进程创建模式发出告警
- **GeoIP 充实** – 为失败登录告警添加攻击者位置上下文
## 参考
- [SwiftOnSecurity Sysmon 配置](https://github.com/SwiftOnSecurity/sysmon-config)
- [Splunk 文档](https://docs.splunk.com)
- [Microsoft Sysinternals – Sysmon](https://learn.microsoft.com/en-us/sysinternals/downloads/sysmon)
- [MITRE ATT&CK 框架](https://attack.mitre.org)
标签:AMSI绕过, HTTP/HTTPS抓包, meg, PE 加载器, Sysmon, VirtualBox, Windows事件日志, 信息安全, 威胁检测, 安全运营中心, 家庭实验室, 态势感知, 端点遥测, 红队行动, 网络安全, 网络映射, 虚拟化环境, 速率限制, 隐私保护