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), 攻击模拟, 红队行动, 驱动签名利用