raj-1819/Home-SOC-Lab-Splunk-SIEM

GitHub: raj-1819/Home-SOC-Lab-Splunk-SIEM

基于Splunk SIEM的家用SOC实验室,用于威胁检测和实战演练。

Stars: 0 | Forks: 0

# 🛡️ 家用 SOC 实验室 — 使用 Splunk SIEM 进行威胁检测 ![许可证](https://img.shields.io/badge/license-MIT-blue.svg) ![平台](https://img.shields.io/badge/platform-VirtualBox-orange.svg) ![SIEM](https://img.shields.io/badge/SIEM-Splunk%20Enterprise%2010.2.3-green.svg) ![Sysmon](https://img.shields.io/badge/Sysmon-v15.20-blue.svg) ![MITRE](https://img.shields.io/badge/MITRE%20ATT%26CK-T1110%20%7C%20T1059%20%7C%20T1046-red.svg) ![状态](https://img.shields.io/badge/status-Active-brightgreen.svg) ![事件](https://img.shields.io/badge/events%20ingested-6%2C209%2B-orange.svg) ## 📋 目录 - [项目概述](#-project-overview) - [实验室架构](#-lab-architecture) - [使用的技术](#-technologies-used) - [实验室指标](#-lab-metrics) - [设置阶段](#-setup-phases) - [检测规则](#-detection-rules) - [MITRE ATT&CK 覆盖范围](#-mitre-attck-coverage) - [项目截图](#-project-screenshots) - [挑战与解决方案](#-challenges-and-solutions) - [主要贡献](#-key-contributions) - [许可证](#-license) ## 🎯 项目概述 该项目通过从头构建完整的威胁检测环境,展示了 SOC 分析员的实战技能。实验室包括: - **3 个虚拟机**在隔离的内部网络(SOC-Lab)上 - **Splunk Enterprise SIEM** 消费 6,209+ 个实时事件 - **Sysmon v15.20** 收集详细的 Windows 遥测数据 - **4 个自定义 SPL 检测规则**映射到 MITRE ATT&CK - **每 5 分钟运行一次的自动警报** - **Splunk Dashboard Studio 中的 SOC 仪表板**带有实时面板 ## 🏗️ 实验室架构 ``` ┌─────────────────────────────────────────────────────────┐ │ SOC-Lab Internal Network │ │ 192.168.10.0/24 │ │ │ │ ┌──────────────────┐ ┌──────────────────┐ │ │ │ Windows 10 Pro │ │ Kali Linux │ │ │ │ Victim │ │ Attacker │ │ │ │ 192.168.10.10 │ │ 192.168.10.20 │ │ │ │ │ │ │ │ │ │ ✅ Sysmon v15 │ │ ✅ Nmap │ │ │ │ ✅ Splunk UF │ │ ✅ Metasploit │ │ │ └────────┬─────────┘ └──────────────────┘ │ │ │ logs (port 9997) │ │ ▼ │ │ ┌──────────────────┐ │ │ │ Ubuntu Server │ │ │ │ Splunk SIEM │ │ │ │ 192.168.10.30 │ │ │ │ │ │ │ │ ✅ Splunk 10.2 │ │ │ │ ✅ Port 8000 │ │ │ │ ✅ Port 9997 │ │ │ └──────────────────┘ │ └─────────────────────────────────────────────────────────┘ ``` ## 🛠️ 使用的技术 | 工具 | 版本 | 目的 | |------|---------|---------| | VirtualBox | 7.0.20 | 虚拟化平台 | | Windows 10 Pro | 22H2 | 目标/受害者机器 | | Kali Linux | 2026.1 | 攻击模拟 | | Ubuntu Server | 26.04 LTS | SIEM 主机操作系统 | | Splunk Enterprise | 10.2.3 | SIEM 平台 | | Splunk Universal Forwarder | 10.4.0 | 日志传输代理 | | Sysmon | v15.20 | Windows 遥测 | | SwiftOnSecurity Config | 最新版 | Sysmon 规则集 | ## 📊 实验室指标 ``` ╔══════════════════════════════════════════════════════╗ ║ SOC LAB — KEY METRICS ║ ╠══════════════════════════════════════════════════════╣ ║ Total Events Ingested │ 6,209+ ║ ║ Sysmon Events (index=sysmon)│ 2,167+ ║ ║ Windows Security Events │ 4,042+ ║ ║ Detection Rules Authored │ 4 ║ ║ MITRE ATT&CK Techniques │ 4 (T1110/T1059/T1046)║ ║ Scheduled Alerts │ 4 (every 5 min) ║ ║ Dashboard Panels │ 3 ║ ║ VMs Built │ 3 ║ ║ Snapshots Taken │ 9 ║ ╚══════════════════════════════════════════════════════╝ ``` ### 事件分布 ``` Events by Source ════════════════════════════════════════ Windows Security ████████████████░░░░ 65% (4,042 events) Sysmon Operational ████████████░░░░░░░░ 35% (2,167 events) ════════════════════════════════════════ Detection Coverage by MITRE Technique ════════════════════════════════════════ T1110 Brute Force ██████████ HIGH T1059 Command Scripting ██████████ HIGH T1059.001 PowerShell ██████████ HIGH T1046 Network Scanning ████████░░ MEDIUM ════════════════════════════════════════ Sysmon EventCode Breakdown ════════════════════════════════════════ EventCode 1 Process Create ████████████████ 75% EventCode 3 Network Connect ████░░░░░░░░░░░░ 10% EventCode 13 Registry ███░░░░░░░░░░░░░ 8% Other codes ███░░░░░░░░░░░░░ 7% ════════════════════════════════════════ ``` ## ⚙️ 设置阶段 ### 第 1 阶段 — 实验室基础设施 | 步骤 | 操作 | 结果 | |------|--------|--------| | 1 | 安装 VirtualBox 7.0.20 | 虚拟化平台就绪 | | 2 | 将 D:\SOC-Lab\VMs 配置为默认文件夹 | 所有虚拟机存储在 D 驱动器上 | | 3 | 下载 3 个 OS ISO | Windows 10、Kali 2026.1、Ubuntu 26.04 | | 4 | 创建并安装 3 个虚拟机 | 所有操作系统安装完成 | | 5 | 安装 Guest Additions | 虚拟机性能流畅 | | 6 | 设置内部网络 "SOC-Lab" | 隔离的实验室网络 | | 7 | 分配静态 IP | .10、.20、.30 已确认 | | 8 | 验证所有虚拟机之间的 ping | 网络连接已确认 | | 9 | 拍摄快照 | 清洁基线已保存 | ### 第 2 阶段 — Splunk SIEM | 步骤 | 操作 | 结果 | |------|--------|--------| | 1 | 将 Ubuntu 暂时切换到 NAT | 下载 Splunk 的互联网访问 | | 2 | 修复 DNS(8.8.8.8) | 名称解析正常工作 | | 3 | 下载 Splunk 10.2.3 .deb | 357MB 软件包已下载 | | 4 | 安装 Splunk | dpkg -i 成功 | | 5 | 创建管理员账户 | admin / Splunk@Lab1 | | 6 | 创建 sysmon + windows 索引 | 索引就绪 | | 7 | 启用端口 9997 接收 | Splunk 正在监听 | | 8 | 切换回内部网络 | 实验室隔离已恢复 | | 9 | 验证 192.168.10.30:8000 的 UI | Splunk 可访问 ✅ | ### 第 3 阶段 — 日志转发 | 步骤 | 操作 | 结果 | |------|--------|--------| | 1 | 安装 Sysmon v15.20 | 应用 SwiftOnSecurity 配置 | | 2 | 安装 Splunk Universal Forwarder | 指向 .30:9997 | | 3 | 创建 inputs.conf | 安全、系统、Sysmon 日志 | | 4 | 更改为 LocalSystem 账户 | Sysmon 日志权限已修复 | | 5 | 验证日志流 | 2,167 个 Sysmon + 4,042 个 Windows 事件 ✅ | ### 第 4 阶段 — 检测规则和仪表板 | 步骤 | 操作 | 结果 | |------|--------|--------| | 1 | 编写 4 个 SPL 检测规则 | 所有映射到 MITRE ATT&CK | | 2 | 使用真实数据测试规则 | 结果已确认 | | 3 | 保存为计划警报 | 5 分钟间隔 | | 4 | 构建 SOC 仪表板 | Dashboard Studio 中的 3 个面板 | ## 🔍 检测规则 ### 规则 1 — 暴力破解登录检测 | `T1110` ``` index=windows EventCode=4625 | bucket _time span=5m | stats count as failed_logins by _time, Account_Name | where failed_logins >= 2 | eval severity="HIGH" | eval mitre_technique="T1110 - Brute Force" | table _time, Account_Name, failed_logins, severity, mitre_technique ``` **检测:** 5 分钟窗口内多次失败的登录尝试(事件代码 4625)。 ### 规则 2 — PowerShell 执行检测 | `T1059.001` ``` index=sysmon EventCode=1 | rex field=_raw "Image: (?[^\n]+)" | rex field=_raw "CommandLine: (?[^\n]+)" | search Image="*powershell*" OR CommandLine="*EncodedCommand*" OR CommandLine="*bypass*" | eval severity="HIGH" | eval mitre_technique="T1059.001 - PowerShell" | table _time, ComputerName, Image, CommandLine, severity, mitre_technique | sort -_time ``` **检测:** 由恶意软件和攻击者使用的 PowerShell 进程和编码命令执行。 ### 规则 3 — 可疑进程创建 | `T1059` ``` index=sysmon EventCode=1 | rex field=_raw "Image: (?[^\n]+)" | rex field=_raw "CommandLine: (?[^\n]+)" | search Image="*cmd.exe*" OR Image="*whoami*" | eval severity=case( Image LIKE "%whoami%","HIGH", Image LIKE "%cmd.exe%","MEDIUM", 1=1,"LOW") | eval mitre_technique="T1059 - Command and Scripting" | table _time, ComputerName, Image, CommandLine, severity, mitre_technique | sort -_time ``` **检测:** 后渗透命令 — whoami、ipconfig、net user — 用于枚举系统。 ### 规则 4 — 网络连接检测 | `T1046` ``` index=sysmon EventCode=3 | rex field=_raw "Image: (?[^\n]+)" | rex field=_raw "DestinationIp: (?[^\n]+)" | rex field=_raw "DestinationPort: (?[^\n]+)" | where isnotnull(DestinationIp) | stats count as connections by Image, DestinationIp, DestinationPort | eval severity=case( DestinationPort="4444","CRITICAL", DestinationPort="443" OR DestinationPort="80","LOW", 1=1,"MEDIUM") | eval mitre_technique="T1046 - Network Service Scanning" | table Image, DestinationIp, DestinationPort, connections, severity, mitre_technique | sort -connections ``` **检测:** 出站网络连接 — 捕获恶意软件 C2 通信和端口扫描。 ## 🎯 MITRE ATT&CK 覆盖范围 | 技术 ID | 名称 | 规则 | 严重性 | 检测到的事件 | |-------------|------|------|----------|-----------------| | T1110 | 暴力破解 | 失败登录检测 | 🔴 高 | 6 个事件 | | T1059.001 | PowerShell | PowerShell 执行 | 🔴 高 | 357 个事件 | | T1059 | 命令脚本 | 进程创建 | 🟠 中-高 | 311 个事件 | | T1046 | 网络扫描 | 网络连接 | 🟡 中 | 2 个事件 | ## 📸 项目截图 ### 实验室基础设施 | 截图 | 描述 | |-----------|-------------| | ![](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/ebf0a82778031443.png) | 所有 3 个虚拟机同时在 SOC-Lab 网络上运行 | | ![](https://raw.githubusercontent.com/raj-1819/Home-SOC-Lab-Splunk-SIEM/main/screenshots/02_installing_windows.png) | Windows 10 Pro 在 VirtualBox 中安装 | | ![](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/0974938639031444.png) | Kali Linux 图形安装程序 | | ![](https://raw.githubusercontent.com/raj-1819/Home-SOC-Lab-Splunk-SIEM/main/screenshots/04_vm1_done_snapshot.png) | VM 1 清洁安装后保存快照 | | ![](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/a9c2811754031446.png) | Windows 虚拟机已安装 VirtualBox Guest Additions | ### 网络配置 | 截图 | 描述 | |-----------|-------------| | ![](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/780e158746031446.png) | Windows 虚拟机上的静态 IP 192.168.10.10 | | ![](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/61e9ebcc3d031447.png) | Kali 虚拟机上的静态 IP 192.168.10.20 | | ![](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/5e7b37d4ce031448.png) | Ubuntu 虚拟机上的静态 IP 192.168.10.30 | | ![](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/92db51fe1b031449.png) | Kali 成功 ping Windows 虚拟机 | | ![](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/16f33d8b22031451.png) | Ubuntu 成功 ping Windows 虚拟机 | | ![](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/a62203df35031452.png) | 所有 3 个虚拟机的快照 — 网络配置 | ### Splunk 安装和访问 | 截图 | 描述 | |-----------|-------------| | ![](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/3b57e866d8031453.png) | Ubuntu 虚拟机具有互联网访问权限以下载 Splunk | | ![](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/c1fe9ca1c5031454.png) | Splunk Enterprise 安装正在进行中 | | ![](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/cab3fa8e68031455.png) | 从 Windows 虚拟机浏览器访问 Splunk 网页 UI | ### 实时日志摄入 | 截图 | 描述 | |-----------|-------------| | ![](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/34216233f8031456.png) | 2,167 个 Sysmon 事件在 Splunk 中(索引=sysmon) | | ![](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/cd19935481031457.png) | 4,042 个 Windows 安全事件(索引=windows) | ### 检测规则在行动 | 截图 | 描述 | |-----------|-------------| | ![](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/c2556db86a031457.png) | 规则 1 — 暴力破解检测(T1110) — 6 个事件 | | ![](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/8de3b4b7ba031458.png) | 规则 2 — PowerShell 检测(T1059.001) — 357 个事件 | | ![](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/74ae305a70031459.png) | 规则 3 — 进程创建检测(T1059) — 311 个事件 | | ![](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/51177a6ea5031500.png) | 规则 4 — 网络连接检测(T1046) | | ![](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/7dee150b94031501.png) | 所有 4 个检测警报已保存,每 5 分钟计划一次 | | ![](https://raw.githubusercontent.com/raj-1819/Home-SOC-Lab-Splunk-SIEM/main/screenshots/20_detect_T1110_alert.png) | DETECT-T1110-BruteForce 警报在 Splunk 中触发 | ### SOC 仪表板 | 截图 | 描述 | |-----------|-------------| | ![](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/a757e8f821031502.png) | SOC 检测仪表板 — 面板视图 1 | | ![](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/910cff604b031503.png) | SOC 检测仪表板 — 面板视图 2 | ## ⚡ 挑战与解决方案 | # | 挑战 | 原因 | 解决方案 | |---|-----------|-----------|----------| | 1 | Ubuntu 没有互联网 | 内部网络有意隔离 | 暂时切换到 NAT,使用 8.8.8.8 修复 DNS,下载 Splunk,切换回 | | 2 | Splunk 下载返回 HTML | 需要认证 URL — 直接链接会过期 | 使用 Splunk 网站登录后直接复制的带令牌的认证链接 | | 3 | netplan 配置失败 | 文件权限太开放,YAML 语法错误 | 手动创建 /etc/netplan 目录,使用 chmod 600,正确的 2 个空格缩进 | | 4 | 共享文件夹不工作 | Guest Additions v6.0.0 对于 Ubuntu 26.04 来说太旧 | 使用 NAT 下载方法代替 — 更简单且更可靠 | | 5 | Splunk 中没有 Sysmon 事件 | 传输代理没有权限读取 Sysmon 日志 | 通过 sc.exe config SplunkForwarder obj= LocalSystem 将传输代理更改为 LocalSystem | | 6 | SPL 规则返回 0 个结果 | Sysmon 字段存储在原始 _raw 字段中未解析 | 使用 rex field=_raw 与正则表达式从原始事件文本中提取 Image 和 CommandLine | | 7 | 传输代理登录失败 | 传输代理具有与 Splunk 不同的单独管理员账户 | 使用 SPLUNKPASSWORD 参数重新安装,并直接配置 outputs.conf | ## 📝 主要贡献 - 在内部 VirtualBox 网络上构建了一个 3-VM 隔离的 SOC 实验室(Windows 10、Kali Linux、Ubuntu/Splunk),模拟真实的企业攻击和检测场景 - 部署了 Splunk Enterprise SIEM,实时消费 Sysmon 和 Windows 安全日志中的 6,000+ 个实时事件,通过 Splunk Universal Forwarder 转发 - 编写了 4 个自定义 Splunk SPL 检测规则,映射到 MITRE ATT&CK 技术T1110、T1059、T1046,每 5 分钟自动计划警报 - 在 Windows 终端上配置了 Sysmon v15.20,使用 SwiftOnSecurity 配置收集进程创建、网络连接和文件系统遥测数据 - 在 Splunk Dashboard Studio 中构建了 SOC 检测仪表板,实时可视化实验室环境中的失败登录、进程活动和网络连接 ## 📄 许可证 本项目采用 MIT 许可证 — 有关详细信息,请参阅 [LICENSE](LICENSE) 文件。 ## 👤 作者 **Rajkumar Jangam** [![LinkedInhttps://img.shields.io/badge/LinkedIn-Connect-blue?logo=linkedin)](https://linkedin.com/in/rajkumar-jangam-559827228) [![GitHub](https://img.shields.io/badge/GitHub-raj--1819-black?logo=github)](https://github.com/raj-1819) [![Portfolio](https://img.shields.io/badge/Portfolio-Visit-green)](https://raj-1819.github.io/Portfolio) *作为网络安全组合作品的一部分构建,以展示在威胁检测、SIEM 操作、日志分析和 MITRE ATT&CK 框架应用方面的 SOC 分析员技能.*
标签:AMSI绕过, Cloudflare, MITRE ATT&CK, Splunk Dashboard Studio, Splunk SIEM, Sysmon, 事件收集, 威胁检测, 安全事件响应, 安全实验室, 安全运营中心, 开放策略代理, 插件系统, 生成式AI安全, 网络映射, 网络隔离, 自动化警报, 虚拟机, 速率限制