aayushthakur001/SOC-home-lab
GitHub: aayushthakur001/SOC-home-lab
一个基于 Splunk SIEM 的企业 SOC 监控家庭实验室,涵盖日志收集、攻击模拟、威胁检测与 MITRE ATT&CK 映射的完整安全运营工作流。
Stars: 0 | Forks: 0
# 使用 Splunk SIEM 进行企业 SOC 监控
## 目录
- [项目概述](#project-overview)
- [目标](#objectives)
- [核心功能](#key-features)
- [实验室环境](#lab-environment)
- [使用的技术](#technologies-used)
- [架构](#architecture)
- [项目工作流](#project-workflow)
- [Splunk 配置](#splunk-configuration)
- [检测用例](#detection-use-cases)
- [SOC 仪表板](#soc-dashboard)
- [告警规则](#alert-rules)
- [MITRE ATT&CK 映射](#mitre-attck-mapping)
- [事件响应工作流](#incident-response-workflow)
- [展示的技能](#skills-demonstrated)
- [学习成果](#learning-outcomes)
- [项目结构](#project-structure)
- [未来改进](#future-improvements)
- [参考](#references)
## 项目概述
现代组织每天都会产生数以千计的安全事件。安全分析师必须持续监控这些日志,以检测可疑活动、调查事件,并在威胁升级之前做出响应。
本项目展示了使用 **Splunk Enterprise** 构建的**完整的企业安全运营中心 (SOC) 监控实验室**。该实验室通过 Splunk Universal Forwarder 收集 Windows 安全日志、Sysmon 日志和端点遥测数据。安全检测通过 **SPL (Search Processing Language)** 实现,所有发现均通过全面的 SOC 仪表板进行可视化。
### 项目范围
该项目模拟了 **SOC 分析师**的日常职责,包括:
- ✓ 安全事件监控
- ✓ 威胁检测
- ✓ 告警分析
- ✓ 事件调查
- ✓ 仪表板监控
- ✓ MITRE ATT&CK 映射
- ✓ 安全报告
- ✓ 检测工程
**目标受众**:寻求实际 SOC 经验、开发作品集以及准备面试的网络安全专业人员。
## 目标
本项目的主要目标是:
- ✓ 将 Splunk Enterprise 部署为 SIEM 平台
- ✓ 收集并解析 Windows 事件日志
- ✓ 集成 Microsoft Sysmon 进行高级端点监控
- ✓ 配置 Splunk Universal Forwarder 以进行日志摄取
- ✓ 实时监控端点安全事件
- ✓ 检测常见的攻击者技术和战术、技术与程序 (TTPs)
- ✓ 构建健壮的 SPL 检测查询
- ✓ 创建用于集中可见性的 SOC 监控仪表板
- ✓ 配置自动化安全告警
- ✓ 将检测映射到 MITRE ATT&CK 框架
- ✓ 模拟真实的 SOC 调查工作流
- ✓ 生成专业的安全文档
## 核心功能
### 日志收集与摄取
- Windows 安全事件日志
- Windows 系统日志
- Windows 应用程序日志
- Microsoft Sysmon 日志
- 通过 Universal Forwarder 进行实时日志流式传输
### 安全监控能力
- 失败登录检测
- 暴力破解攻击检测
- PowerShell 脚本执行监控
- 用户账户创建与修改检测
- 服务创建与安装检测
- 计划任务持久化检测
- USB 设备活动监控
- 文件完整性监控 (FIM)
### 威胁检测与响应
- 可疑的 PowerShell 执行检测
- 持久化技术识别
- 未经授权的账户创建告警
- 恶意服务安装检测
- 计划任务持久化告警
- 暴力破解尝试检测
- 未经授权的 USB 活动告警
- 异常进程执行检测
### SOC 仪表板与可视化
通过以下功能集中查看安全事件:
- 安全事件总数计数器
- 失败登录事件追踪
- PowerShell 执行事件
- 用户创建事件日志
- 服务创建事件日志
- 计划任务事件追踪
- USB 活动监控
- 文件完整性事件
- 实时安全事件时间线
- 告警分布图
- 严重程度分布可视化
- 地理事件映射
## 实验室环境
| 组件 | 详情 |
|-----------|---------|
| **SIEM 平台** | Splunk Enterprise |
| **操作系统** | Windows 10 Pro / Windows Server 2019+ |
| **端点代理** | Splunk Universal Forwarder |
| **端点监控** | Microsoft Sysmon v14+ |
| **日志来源** | Windows 事件日志 |
| **仪表板** | Splunk Dashboard Studio |
| **检测语言** | SPL (Search Processing Language) |
| **威胁框架** | MITRE ATT&CK v13+ |
| **项目类型** | 蓝队 / SOC 监控 |
| **部署模式** | 本地 / 虚拟实验室 |
## 使用的技术
| 技术 | 用途 |
|-----------|---------|
| **Splunk Enterprise** | SIEM 平台和日志分析引擎 |
| **Splunk Universal Forwarder** | 日志收集和转发代理 |
| **Microsoft Sysmon** | 高级端点事件记录 |
| **Windows 事件查看器** | 事件日志管理 |
| **PowerShell** | 安全监控和事件模拟 |
| **SPL** | 检测查询语言 |
| **MITRE ATT&CK 框架** | 攻击技术映射和分类 |
| **Dashboard Studio** | SOC 仪表板开发 |
| **Windows 安全日志** | 安全事件来源 |
| **Sysmon 事件日志** | 高级进程和网络事件来源 |
## 架构
```
┌─────────────────────────────────────────────────────┐
│ SPLUNK ENTERPRISE (SIEM) │
│ ┌──────────────────────────────────────────────┐ │
│ │ Search & Detection Engine (SPL) │ │
│ │ - Detection Queries │ │
│ │ - Alert Rules │ │
│ │ - Scheduled Searches │ │
│ └──────────────────────────────────────────────┘ │
│ ┌──────────────────────────────────────────────┐ │
│ │ Dashboard & Visualization Layer │ │
│ │ - SOC Dashboards │ │
│ │ - Alert Management │ │
│ │ - Incident Investigation │ │
│ └──────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────┘
▲ ▲
│ │
┌────┴─────┐ ┌────┴──────┐
│ │ │ │
┌───────────┐ ┌─────────────────┐ ┌─────────────┐
│ Universal │ │ Windows Event │ │ Sysmon │
│ Forwarder │ │ Logs │ │ Logs │
└───────────┘ └─────────────────┘ └─────────────┘
▲ ▲ ▲
└──────────────┴───────────────────┘
│
┌─────────────────────────────┐
│ WINDOWS ENDPOINT (10 PRO) │
│ - Security Events │
│ - System Events │
│ - Application Events │
│ - Process Execution │
│ - Network Connections │
└─────────────────────────────┘
```
## 项目工作流
### 阶段 1:环境设置
1. 部署 Splunk Enterprise 实例
2. 在 Windows 端点上安装 Microsoft Sysmon
3. 配置 Windows 事件日志转发
4. 安装并配置 Universal Forwarder
### 阶段 2:日志收集与解析
1. 为日志源配置 inputs.conf
2. 创建用于事件规范化的解析规则
3. 按类型和严重程度标记事件
4. 验证数据摄取
### 阶段 3:检测工程
1. 基于攻击 TTPs 设计检测查询
2. 实施 SPL 检测规则
3. 创建关联搜索
4. 配置告警阈值
### 阶段 4:仪表板开发
1. 创建 SOC 监控仪表板
2. 添加事件可视化
3. 配置实时搜索面板
4. 实施事件调查视图
### 阶段 5:事件响应
1. 告警分类和调查
2. 事件严重性评估
3. 根本原因分析
4. 文档和报告
## Splunk 配置
### 数据输入配置
```
inputs.conf - Windows Security Events
inputs.conf - Sysmon Event Logs
props.conf - Event parsing rules
transforms.conf - Field extraction
```
### 索引结构
- **Main 索引**:主要安全事件存储库
- **Sysmon 索引**:高级端点遥测
- **Audit 索引**:合规和访问日志
- **Alert 索引**:告警和事件记录
### Sourcetype 定义
- `wineventlog:security` - Windows 安全事件
- `wineventlog:system` - Windows 系统事件
- `wineventlog:application` - Windows 应用程序事件
- `sysmon` - Microsoft Sysmon 事件
## 检测用例
### 1. 暴力破解攻击检测
- **目标**:识别多次失败的登录尝试
- **数据源**:事件 ID 4625(登录失败)
- **阈值**:每个用户在 5 分钟内失败 5 次以上
- **MITRE ATT&CK**:T1110(暴力破解)
### 2. 可疑的 PowerShell 执行
- **目标**:检测恶意的 PowerShell 使用模式
- **数据源**:事件 ID 4688,Sysmon 进程创建
- **指标**:编码命令,可疑参数
- **MITRE ATT&CK**:T1059.001(命令行界面)
### 3. 未经授权的账户创建
- **目标**:监控新用户账户创建
- **数据源**:事件 ID 4720(已创建用户账户)
- **告警触发器**:任何新账户创建
- **MITRE ATT&CK**:T1136.001(本地账户)
### 4. 恶意服务安装
- **目标**:检测未经授权的服务创建
- **数据源**:事件 ID 7045(服务安装)
- **指标**:可疑的服务名称和路径
- **MITRE ATT&CK**:T1543.003(Windows 服务)
### 5. 计划任务持久化
- **目标**:识别可疑的计划任务
- **数据源**:事件 ID 106,Sysmon 任务注册
- **指标**:隐藏任务,可疑可执行文件
- **MITRE ATT&CK**:T1053.005(计划任务)
### 6. USB 设备监控
- **目标**:追踪 USB 设备连接
- **数据源**:事件 ID 20001(移动存储检测)
- **告警触发器**:首次设备连接
- **MITRE ATT&CK**:T1091(通过可移动媒体进行复制)
## SOC 仪表板
主 SOC 仪表板提供:
### 仪表板板块
**板块 1:事件摘要**
- 安全事件总数(24小时)
- 按严重程度划分的事件
- 常见事件类型
- 告警状态概述
**板块 2:威胁检测**
- 失败登录尝试
- 暴力破解事件
- 可疑的 PowerShell 执行
- 未经授权的账户更改
**板块 3:端点活动**
- 服务创建事件
- 计划任务活动
- USB 设备连接
- 进程执行时间线
**板块 4:调查**
- 实时事件日志查看器
- 事件时间线
- 用户活动追踪
- 异常检测结果
## 告警规则
### 严重告警
1. **暴力破解攻击** - 5 分钟内 5 次登录失败
2. **未经授权的账户创建** - 检测到新用户账户
3. **可疑的 PowerShell** - 编码命令或可疑参数
4. **恶意软件服务安装** - 可疑的服务创建
### 高危告警
1. **多次登录失败** - 用户在 10 分钟内失败 3 次以上
2. **计划任务持久化** - 可疑任务创建
3. **权限提升尝试** - 授予了权限令牌
### 中危告警
1. **已连接 USB 设备** - 检测到新的可移动存储
2. **系统事件异常** - 异常的系统事件模式
3. **应用程序崩溃** - 意外的应用程序终止
## MITRE ATT&CK 映射
| 检测 | MITRE ATT&CK 战术 | MITRE ATT&CK 技术 | 严重程度 |
|-----------|-------------------|----------------------|----------|
| 暴力破解检测 | 凭证访问 | T1110 | 严重 |
| PowerShell 执行 | 执行 | T1059.001 | 高危 |
| 账户创建 | 持久化 | T1136.001 | 严重 |
| 服务安装 | 持久化 | T1543.003 | 严重 |
| 计划任务 | 持久化 | T1053.005 | 高危 |
| USB 监控 | 初始访问 | T1091 | 中危 |
| 进程执行 | 执行 | T1059 | 中危 |
## 事件响应工作流
### 步骤 1:告警生成
- 检测规则根据定义的阈值触发
- 告警通知发送至 SOC 团队
- 自动创建事件工单
### 步骤 2:告警分类
- 安全分析师审查告警详情
- 确定告警是真正还是误报
- 分配严重级别
### 步骤 3:调查
- 分析师搜索相关事件
- 审查用户和端点上下文
- 与其他安全数据进行关联
### 步骤 4:遏制
- 采取证据保留措施
- 如有必要,隔离受影响的端点
- 如有需要,禁用受损账户
### 步骤 5:根除与恢复
- 移除恶意工件
- 重置受损凭证
- 恢复受影响的系统
### 步骤 6:文档记录
- 记录调查结果和采取的措施
- 更新事件工单
- 生成事件报告
- 分享经验教训
## 项目结构
```
SOC-home-lab/
├── README.md
├── docs/
│ ├── setup-guide.md
│ ├── detection-queries.md
│ ├── dashboard-guide.md
│ └── incident-response-guide.md
├── splunk/
│ ├── inputs.conf
│ ├── props.conf
│ ├── transforms.conf
│ └── alerts/
│ ├── brute-force-detection.xml
│ ├── powershell-detection.xml
│ ├── account-creation-detection.xml
│ └── service-installation-detection.xml
├── dashboards/
│ ├── soc-main-dashboard.xml
│ ├── threat-detection-dashboard.xml
│ ├── user-activity-dashboard.xml
│ └── incident-investigation-dashboard.xml
├── detection-queries/
│ ├── brute-force.spl
│ ├── suspicious-powershell.spl
│ ├── account-changes.spl
│ ├── service-creation.spl
│ └── usb-activity.spl
└── scripts/
├── event-simulator.ps1
└── log-generator.ps1
```
## 展示的技能
本项目展示了以下方面的实践专业技能:
### 安全运营
- ✓ 安全信息和事件管理 (SIEM)
- ✓ 日志收集与摄取
- ✓ 实时安全监控
- ✓ 告警管理和分类
- ✓ 事件调查与响应
### 技术技能
- ✓ Windows 事件日志分析
- ✓ Sysmon 配置与监控
- ✓ SPL (Splunk Processing Language) 查询开发- ✓ 仪表板设计与可视化
- ✓ 告警规则配置
### 安全知识
- ✓ Windows 安全事件理解
- ✓ MITRE ATT&CK 框架应用
- ✓ 威胁检测工程
- ✓ 攻击技术识别
- ✓ 事件响应程序
### 专业能力
- ✓ 安全文档记录
- ✓ 根本原因分析
- ✓ 问题解决与故障排除
- ✓ 跨职能沟通
- ✓ 持续学习与改进
## 学习成果
完成本项目后,您将具备:
1. **实践经验丰富的 SIEM** - 深入了解 Splunk Enterprise 功能
2. **检测工程技能** - 能够构建有效的安全检测规则
3. **日志分析熟练度** - 专家级的 Windows 和 Sysmon 日志分析
4. **事件响应知识** - 真实环境下的事件响应工作流经验
5. **仪表板专业知识** - 专业的 SOC 仪表板开发能力
6. **精通 MITRE ATT&CK** - 能够将攻击映射到框架技术
7. **安全思维模式** - 了解攻击者策略和防御策略
8. **文档记录技能** - 专业的安全报告能力
## 未来改进
### 计划的增强功能
- [ ] 基于机器学习的异常检测
- [ ] 自动化威胁情报源集成
- [ ] 用于多阶段攻击的高级关联规则
- [ ] SOAR(安全编排、自动化与响应)集成
- [ ] 自定义 Splunk 应用开发
- [ ] 实时合规监控(NIST, CIS)
- [ ] 高级的用户行为分析 (UEBA)
- [ ] 欺骗技术(蜜罐)集成
- [ ] 自动化事件响应剧本
- [ ] 指标和 KPI 跟踪仪表板
### 扩展机会
- 与其他数据源集成(防火墙、代理、端点)
- 多平台支持(Linux, macOS)
- 云环境监控(AWS, Azure, GCP)
- 容器和 Kubernetes 安全监控
- API 和基础设施即代码 安全监控
## 参考
### 官方文档
- [Splunk Enterprise 文档](https://docs.splunk.com/Documentation/Splunk)
- [Microsoft Sysmon 文档](https://docs.microsoft.com/en-us/sysinternals/downloads/sysmon)
- [MITRE ATT&CK 框架](https://attack.mitre.org/)
- [Windows 事件日志参考](https://docs.microsoft.com/en-us/windows/security/threat-protection/auditing/windows-security-event-ids)
### 学习资源
- Splunk University
- NIST 网络安全框架
- SANS Institute SEC504(黑客工具与事件处理)
- CompTIA Security+
- EC-Council CEH(认证道德黑客)
### 相关项目与社区
- Splunk 社区论坛
- OWASP Top 10
- CIS 关键安全控制
- OpenCTI - 开源网络威胁情报平台
## 许可
本项目作为网络安全学习和专业发展的教育资源提供。
## 作者与维护
**作者**:Aayush Thakur
**代码库**:[aayushthakur001/SOC-home-lab](https://github.com/aayushthakur001/SOC-home-lab)
**最后更新**:2026 年 7 月
## 免责声明
本项目仅供教育和授权的安全测试目的使用。在进行任何安全监控或测试活动之前,请确保您已获得适当的授权。作者不对本项目提供的信息或技术的任何滥用负责。
**祝学习愉快! 🔒**
标签:AI合规, Cloudflare, MITRE ATT&CK, 安全运营中心 (SOC), 攻击模拟, 红队行动, 驱动签名利用