yugg755i/soc-detection-lab
GitHub: yugg755i/soc-detection-lab
基于 Splunk Enterprise 的 SOC 检测工程实验室,通过模拟真实攻击验证跨平台检测规则、告警和分析员手册的完整管道。
Stars: 0 | Forks: 0
# SOC 检测实验室
一个使用 Splunk Enterprise 构建的安全运营中心 (SOC) 检测工程实验室。它模拟 Windows 和 Linux 端点上的真实攻击者活动,利用真实的端点遥测数据(而非合成事件)来构建和验证完整的检测管道(包含 MITRE 映射的检测、告警和分析员手册)。
- **12** 个已记录的检测,已映射至 MITRE ATT&CK
- **12** 个分析员手册,**12** 个计划告警
- 跨平台遥测:Sysmon、Windows Security Logs、Linux auth.log
- 攻击从专用的 Kali Linux 攻击者虚拟机执行
- 交互式 SOC 概览仪表板(Splunk Dashboard Studio)
## 目录
- [预览](#preview)
- [架构](#architecture)
- [检测工作流](#detection-workflow)
- [检测覆盖范围](#detection-coverage)
- [功能](#features)
- [项目结构](#project-structure)
- [文档](#documentation)
- [设置](#setup)
- [项目统计](#project-statistics)
## 预览
### SOC 概览仪表板
环境的集中运营视图 —— 身份验证活动、端点遥测、持久化事件和高级 KPI。

### Linux 身份验证监控
SSH 身份验证失败、密码猜测活动、用户名枚举以及其他 Linux 特定的检测。

### Windows 端点监控
Sysmon 进程执行遥测、与持久化相关的活动以及可疑的命令执行。

### 告警概览
每个已记录的检测都有一个关联的计划 Splunk 告警,用于端到端验证完整的检测管道。

## 架构
集中式 Splunk Enterprise 部署运行在 Arch Linux 主机上。Windows 10 和 Ubuntu Server 端点通过 Splunk Universal Forwarders 转发遥测数据,而专用的 Kali Linux 虚拟机生成攻击活动,用于验证检测、告警、仪表板和手册。

详见 [docs/architecture.md](docs/architecture.md) 中的完整分解。
## 检测工作流
每个检测都遵循相同的验证循环:从 Kali 模拟攻击 → 在目标端点上生成真实遥测 → Splunk 对其进行索引并运行 SPL 检测 → 触发告警 → 手册记录分析员的响应。

详见 [docs/workflow.md](docs/workflow.md) 中的完整分解。
## 检测覆盖范围
| 平台 | 检测 | 数据源 | ATT&CK 技术 |
|----------|-----------|-------------|------------------|
| Windows | PowerShell Execution | Sysmon – Process Creation | T1059.001 |
| Windows | Encoded PowerShell | Sysmon – Process Creation | T1059.001 |
| Windows | CMD Execution | Sysmon – Process Creation | T1059.003 |
| Windows | LOLBin Execution | Sysmon – Process Creation | T1218, T1105, T1197 |
| Windows | Scheduled Task Creation | Sysmon – Process Creation | T1053.005 |
| Windows | Service Creation | Sysmon – Process Creation | T1543.003 |
| Windows | Local User Creation | Windows Security Log | T1136.001 |
| Linux | SSH Brute Force | Linux Auth Log | T1110.001 |
| Linux | Password Guessing Success | Linux Auth Log | T1110.001 |
| Linux | Username Enumeration | Linux Auth Log | T1589.001 |
| Linux | User Creation | Linux Auth Log | T1136.001 |
| Linux | Privileged Command Execution | Linux Auth Log | T1548.003 |
## 功能
### 检测工程
- 12 个涵盖 Windows 和 Linux 攻击场景的生产级 SPL 检测
- 检测调优指导和误报考量
- MITRE ATT&CK 技术和战术映射
### 端点监控
- Windows:Sysmon – Process Creation、Windows Security Log
- Linux:Linux Auth Log(SSH、用户管理、权限提升)
- 通过 Splunk Universal Forwarders 进行集中收集
### 告警
- 为每个记录的检测配置了计划的 Splunk 告警
- 基于检测上下文的告警严重性分类
- 随每个检测记录的告警配置
### SOC 仪表板
- 使用 Splunk Dashboard Studio 构建
- 环境摘要 KPI,Linux + Windows 监控面板
- 按操作系统和时间范围进行交互式过滤
### 文档
- 每个检测的文档:目标、SPL 查询、验证、调优、参考
- 为每个检测提供分析员调查手册
- 架构、工作流、设置、遥测和仪表板文档
## 项目结构
```
soc-detection-lab/
├── detections/ # Detection documentation
├── playbooks/ # Analyst investigation playbooks
├── diagrams/ # Architecture and workflow diagrams
├── screenshots/
├── docs/
│ ├── architecture.md # Lab architecture
│ ├── dashboards.md # Dashboard implementation
│ ├── detections.md # Detection catalog
│ ├── setup.md # Environment deployment
│ ├── telemetry.md # Collected telemetry
│ └── workflow.md # Detection validation workflow
└── README.md
```
## 文档
| 文档 | 描述 |
|----------|-------------|
| [设置](docs/setup.md) | 部署和配置实验室环境 |
| [架构](docs/architecture.md) | 基础设施和数据流 |
| [工作流](docs/workflow.md) | 检测验证工作流 |
| [遥测](docs/telemetry.md) | 收集的遥测和数据源 |
| [检测目录](docs/detections.md) | 所有已实施检测的概述 |
| [仪表板](docs/dashboards.md) | Dashboard Studio 实现 |
| [检测](detections/) | 单个检测文档 |
| [手册](playbooks/) | 分析员调查程序 |
## 设置
```
git clone https://github.com/yugg755i/soc-detection-lab.git
cd soc-detection-lab
```
然后:
- 安装 Splunk Enterprise
- 配置 Splunk Universal Forwarders
- 在 Windows 上部署 Sysmon
- 配置 Ubuntu 日志转发
- 验证遥测数据接入
完整的部署说明详见 [docs/setup.md](docs/setup.md)。
## 项目统计
| 指标 | 数值 |
| --- | ---: |
| 受监控端点数 | 2 |
| 攻击者虚拟机数 | 1 |
| 检测规则数 | 12 |
| 分析员手册数 | 12 |
| 计划告警数 | 12 |
| Dashboard Studio 仪表板数 | 1 |
| Windows 检测数 | 7 |
| Linux 检测数 | 5 |
| 主要数据源 | Sysmon、Windows Security、auth.log |
| 检测框架 | MITRE ATT&CK |
标签:安全运营, 安全防御实验室, 扫描框架