skeonte3/soc-analyst-homelab

GitHub: skeonte3/soc-analyst-homelab

基于 Proxmox 构建的 SOC 家庭实验室,集成了 Splunk、Wazuh、Sysmon 和 Atomic Red Team,为安全分析师提供检测工程与威胁狩猎的实战演练环境。

Stars: 0 | Forks: 0

# SOC Analyst 家庭实验室 一个基于 Proxmox 构建的、功能齐全的安全运营中心(SOC)实验室,用于模拟真实的检测与响应环境。旨在练习 SIEM 工作流、攻击检测以及对 Windows 终端的威胁狩猎。 ## 概述 该实验室提供了 SOC 分析师核心技术和工作流的实践经验: - 终端遥测数据收集 (Sysmon) - SIEM 日志聚合与搜索 (Splunk Enterprise) - SIEM 和 XDR 平台 (Wazuh) - 攻击者模拟 (Atomic Red Team) - 网络分段与隔离 - 检测工程 - DNS 过滤与监控 (Pi-hole) ## 架构 [Internet] → [Spectrum Router] → [Proxmox Host (Dell OptiPlex 7020)] │ ┌──────────────────┴──────────────────┐ │ vmbr0 (LAN 192.168.1.0/24) │ │ ├── Pi-hole LXC (CT 100) │ │ ├── Splunk Enterprise VM (101) │ │ └── Wazuh SIEM VM (104) │ │ │ │ vmbr1 (Isolated 10.10.10.0/24) │ │ ├── Kali Linux VM (102) │ │ └── Windows 10 Victim VM (103) │ └─────────────────────────────────────┘ Windows 虚拟机在 vmbr0 上有第二个网卡,用于将日志转发到 Splunk,同时在 vmbr1 上进行攻击模拟时,与家庭网络保持隔离。Kali 也在 vmbr0 上配有第二个网卡,用于 Wazuh agent 的连接。 ## 技术栈 | 组件 | 用途 | |---|---| | **Proxmox VE 8.4** | Hypervisor | | **Splunk Enterprise** | SIEM 和日志分析 | | **Splunk Universal Forwarder** | 从终端发送日志 | | **Wazuh 4.14** | SIEM、XDR 和终端监控 | | **Sysmon** (SwiftOnSecurity config) | Windows 终端遥测 | | **Atomic Red Team** | 对齐 MITRE ATT&CK 的攻击者模拟 | | **Pi-hole** | DNS 过滤和查询日志记录 | | **Kali Linux 2026.1** | 攻击平台 | | **Windows 10 Pro 22H2** | 目标终端 | | **Ubuntu Server 22.04** | Splunk 和 Wazuh 宿主操作系统 | ## 实验室规格 - **宿主硬件:** Dell OptiPlex 7020, 32GB RAM, 1.8TB SSD - **网络:** 双网桥 (LAN + 隔离的实验网络) - **虚拟机资源:** * Splunk: 4 核心, 8GB RAM, 50GB 磁盘 * Wazuh: 4 核心, 8GB RAM, 80GB 磁盘 * Kali: 2 核心, 4GB RAM, 40GB 磁盘 * Windows 10: 4 核心, 8GB RAM, 80GB 磁盘 ## 实验室组件 ### 🔵 Splunk SIEM Splunk Enterprise 通过 Universal Forwarder 接收来自 Windows 10 终端的 Sysmon 日志。用于检测工程、SPL 查询和攻击者模拟验证。 ### 🟠 Wazuh SIEM Wazuh 同时监控所有实验室终端——Proxmox 宿主机、Pi-hole、Kali、Windows 10 和 Splunk。提供文件完整性监控、漏洞检测、配置评估以及映射到 MITRE ATT&CK 的告警。 → 详情请参阅 [/wazuh/README.md](./wazuh/README.md) 获取完整的部署细节。 ### 🟢 Pi-hole DNS 级别的广告和跟踪器拦截,并带有查询日志记录。通过 Proxmox 的本地解析器配置为实验室的主要 DNS 服务器。 ### 🔴 Kali Linux 位于隔离网段 (vmbr1) 上的攻击平台。用于针对 Windows 10 目标进行攻击者模拟。 ### 🪟 Windows 10 安装了 Sysmon (SwiftOnSecurity config)、Splunk Universal Forwarder 和 Wazuh agent 的目标终端。配备双网卡,用于实现隔离的攻击面和日志转发。 ## 设置亮点 1. **网络隔离** — 创建了一个无网关的附加 Linux 网桥 (vmbr1),以将攻击流量与家庭网络和 Internet 完全隔离。 2. **双网卡 Windows 虚拟机** — 一个网卡位于隔离网络上以接收攻击,另一个位于 LAN 上以将遥测数据转发到 Splunk 和 Wazuh。 3. **双网卡 Kali 虚拟机** — 位于 vmbr1 上的隔离网卡用于发起攻击,位于 vmbr0 上的第二个网卡用于 Wazuh agent 连接。 4. **带有 SwiftOnSecurity config 的 Sysmon** — 行业标准的配置,可捕获有意义的事件,而不会让海量噪音淹没 SIEM。 5. **端口 9997 上的 Splunk receiver** — 配置为接收 Windows 终端日志的标准 forwarder 数据接入端点。 6. **Wazuh all-in-one 部署** — 在一个 Ubuntu 虚拟机上完成涵盖 indexer、manager 和 dashboard 的单节点安装。 7. **Atomic Red Team** 用于执行可重复的、映射到 MITRE 的攻击模拟。 ## 检测示例 在此实验室中构建并测试的真实 Splunk 搜索: **PowerShell 创建的进程:** index=main EventCode=1 Image="powershell" **编码的 PowerShell 命令(可疑):** index=main EventCode=1 Image="powershell" CommandLine="-EncodedCommand" **所有 Windows 终端活动(过去一小时内):** index=main host=win10 ## 已测试的技术 | MITRE ATT&CK ID | 技术 | 状态 | |---|---|---| | T1059.001 | PowerShell | ✅ 已检测到 | | (更多内容待更新) | | | ## 经验教训 - **物理层首当其冲。** 一根损坏的以太网线缆迫使网卡以 10 Mbps 的速度协商并伴随不断的链路闪烁,这表现为应用层症状(Proxmox Web UI 上出现 ERR_CONTENT_LENGTH_MISMATCH)。在认定是软件问题之前,请务必检查 `dmesg` 以确认链路速度和稳定性。 - **配置文件编码错误可能导致静默失败。** Splunk 的 Universal Forwarder 会忽略使用记事本默认编码编写的 `inputs.conf` 文件。需通过 PowerShell 以显式的 ASCII 编码重写来解决。 - **默认情况下,Local System 无法访问 Sysmon 日志。** Forwarder 服务需要在管理员账户下运行(或者更新 Sysmon channel 的 SDDL)才能订阅 Sysmon 事件日志。 - **Tamper Protection 会阻止 Defender 的 PowerShell 命令。** Atomic Red Team 要求同时禁用 Tamper Protection(在 Windows 安全 UI 中)和实时保护。 - **SwiftOnSecurity 的 Sysmon config 是正确的起点。** 它能产生高价值事件,而不会让普通的 Windows 噪音淹没 SIEM。 - **CDN 访问限制会影响 LXC 容器内的 agent 下载。** 从 Pi-hole LXC 内部访问 Wazuh 通用的 4.x URL 会返回 Access Denied。需通过使用特定版本的 URL 或添加 apt repository 来解决。 - **Wazuh agent 在启动时会自动注册。** 这在进行手动注册时会导致重复的 agent 名称冲突。解决方法是先停止 agent,清除 `client.keys`,然后在重启前重新注册。 ## 仓库结构 soc-analyst-homelab/ ├── README.md ← 本文件 ├── wazuh/ │ └── README.md ← Wazuh 部署指南和 agent 设置 └── screenshots/ ← 实验室截图 ## 后续工作 - ✅ Wazuh SIEM 已部署 — 参见 [/wazuh](./wazuh/README.md) - 构建可视化仪表盘,展示 Splunk 和 Wazuh 中的终端活动 - 安装 Splunk Security Essentials 和 ES Content Update - 练习 Kali 到 Windows 的网络攻击(nmap、CrackMapExec、Metasploit) - 在 Wazuh 中设置告警和电子邮件通知 - 配置 Pi-hole 日志转发到 Wazuh - 运行 Atomic Red Team 并比较 Splunk 和 Wazuh 的检测效果 - 添加 Wazuh Active Response 以实现自动拦截 - 记录已实现的完整 MITRE ATT&CK 技术覆盖范围 ## 致谢 - [SwiftOnSecurity Sysmon Config](https://github.com/SwiftOnSecurity/sysmon-config) - [Red Canary 的 Atomic Red Team](https://github.com/redcanaryco/atomic-red-team) - [Splunk Free Trial](https://www.splunk.com/) - [Wazuh Open Source](https://wazuh.com/) ## 截图 [首次检测] ![运行 T1059 001-1 Mimikatz Atomic 测试](https://static.pigsec.cn/wp-content/uploads/repos/cas/f8/f89d30bbfcfcbccc045fe5557aa59d88e3edeaca6597df084a76576d9932a6d5.png) [PowerShell 输出 第二次检测] ![Powershell 输出](https://static.pigsec.cn/wp-content/uploads/repos/cas/19/197440b34d09c4c614d88fa96bc8208d090692304db5703bdaa3cff44d3ae948.png) [检测中的 Splunk 输出] ![Screenshot 2026-05-27 210511](https://static.pigsec.cn/wp-content/uploads/repos/cas/2c/2cd41070a3cc49a3537fc0a62c22535a5bf257a190bac1930dd51d74feda4a09.png) ![Screenshot 2026-05-27 210553](https://static.pigsec.cn/wp-content/uploads/repos/cas/32/32a853a496ac0e4569c6d0a2450ad61ada6b1287c0af373b82dbb962b7f9e4f9.png) [Splunk 创建事件] ![Screenshot 2026-05-27 210648](https://static.pigsec.cn/wp-content/uploads/repos/cas/37/376d4addbbdd7b7fc11107c11dc0640d5fbd7dc94a2022522e843aa65bb52add.png) [Splunk 进程执行计数] ![Screenshot 2026-05-27 210710](https://static.pigsec.cn/wp-content/uploads/repos/cas/29/291cb7ee52a4db4f8e9fbd1feda542e638c1673d111722fcb5ee1a5c95181b4a.png)
标签:Proxmox, x64dbg, 安全运营中心, 攻击模拟, 管理员页面发现, 网络映射, 靶场环境, 驱动签名利用