ankef123/splunk-soc-detection-lab

GitHub: ankef123/splunk-soc-detection-lab

这是一个基于 Splunk 的 SOC 检测实验室,通过模拟分段企业网络环境,帮助用户从零开始构建日志采集流程、开发 SPL 检测规则并验证暴力破解及可疑 PowerShell 等攻击场景。

Stars: 0 | Forks: 0

# Splunk SOC Detection Lab 一个用于展示技能的实践 SOC 实验室:**日志收集、SIEM 事件分析、基于 SPL 的检测开发、Windows 事件调查、网络遥测处理以及监控用例验证**。 该项目模拟了一个具有**分段网络**、**以 Splunk 作为 SIEM**、**Windows 终端与身份验证遥测**,以及 **Suricata IPS**(内联部署用于网络监控与观察)的小型类企业基础设施。 ## 我为什么要构建这个实验室 构建这个实验室是为了超越理论,获得贴近实际 SOC 任务的实践经验: - 从多个来源收集遥测数据; - 分析 Windows 和网络安全事件; - 在 Splunk 中构建并测试检测规则; - 关联网络与主机活动; - 将用例和结果整理为结构化的技术文档。 该仓库的主要目标是搭建一个**规模虽小但逻辑合理的监控环境**,使基础设施、日志、检测和活动仿真串联成一个统一的工作流。 ## 实验室中展示的技能 本实验室展示了以下实践技能: - **基于 Splunk 的 SIEM 基础操作** - **Windows Event Logs 分析** - **通过 Sysmon 实现 endpoint visibility** - **PowerShell logging 与可疑执行分析** - **通过 Windows Server / AD 事件进行身份验证监控** - **通过 Suricata IPS 进行网络监控与基础阻断** - **detection engineering 基础** - **基于 SPL 构建用例** - **MITRE ATT&CK 映射** - **基础事件调查工作流** - **结构化的技术文档编写** ## 实验室目标 实验室围绕 SOC 分析师的实际任务展开: 主要任务: - 部署分段的 SOC 实验室; - 在 Splunk 中集中管理日志; - 收集 host、authentication 和 network telemetry; - 实现若干检测用例; - 在受控场景下进行验证; - 记录局限性、误报以及可能的改进方向。 ## 实验室架构 ![screenshots/topology.png](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/121c521144071208.png) 实验室设计为一个包含多个区域的小型类企业环境: - **NET** — 外部 / 攻击者区域 - **DMZ** — 承载外部 Web 服务的区域 - **LAN** — 内部网络,包含工作站与 Windows Server - **MGMT** — 管理 / 监控网段 ### 关键节点 - **Splunk Enterprise** — 中央 SIEM - **Windows Client** — endpoint 遥测来源 - **Windows Server** — authentication 与 infrastructure 遥测来源 - **Suricata IPS** — 内联网络控制与 network alerts 来源 - **Linux Web Server (DMZ)** — 用于 web/network 场景的外部服务 - **Kali Linux** — 用于受控攻击仿真的主机 - **Admin host** — MGMT 网段内的管理节点 ### 架构设计 - Splunk 被部署在独立的 **management 网段**; - Web 服务器位于 **DMZ**; - Windows Client 和 Windows Server 位于 **LAN**; - **Suricata 以 IPS 形式内联部署**在外部区域与内部路由之间; - **MGMT 与 LAN 通过 VLAN 隔离**。 这种结构使实验室比普通的“扁平”网络更加真实,并能更准确地构建监控与调查场景。 ## 模拟的攻击与可疑活动场景 实验室模拟的不是随机操作,而是一系列**场景**,用于验证遥测收集、检测质量以及 host、authentication 与 network 来源之间的基础关联。 ### 1. Brute force / password spraying 并随后成功登录 **场景核心:** 一系列失败的认证尝试,随后是成功的登录。 **验证内容:** 发现围绕账户的可疑活动,并在失败与成功登录事件之间建立关联的能力。 **来源:** Windows Security Logs, Windows Server。 **实践价值:** SOC 中最典型的场景之一。 ### 2. Encoded PowerShell 执行 **场景核心:** 运行带有混淆特征的 PowerShell,例如 `-enc` / `-encodedcommand`。 **验证内容:** 进程级别的可见性、命令行分析以及基础 endpoint detection logic。 **来源:** Sysmon, Windows Client。 **实践价值:** 展示对 suspicious execution patterns 的理解。 ### 3. Suspicious PowerShell 下载活动 **场景核心:** 执行与远程内容下载相关的 PowerShell 命令。 **验证内容:** PowerShell activity 分析、可疑下载命令以及可能的网络活动关联。 **来源:** Sysmon, PowerShell logs, Suricata。 **实践价值:** 将 host telemetry 与 network context 关联为一个整体用例。 ### 4. Office → PowerShell / cmd 执行链 **场景核心:** 从 Office 应用或其他非典型父进程启动 PowerShell 或 `cmd.exe`。 **验证内容:** parent-child process relationships 分析与行为检测。 **来源:** Sysmon, Windows Client。 **实践价值:** 展示比单事件搜索更成熟的 detection engineering 方法。 ### 5. 从 Temp / AppData / 用户可写目录执行 **场景核心:** 从用户目录或临时目录运行可执行文件或脚本。 **验证内容:** 基于可执行对象非典型位置的 detection logic。 **来源:** Sysmon, Windows Client。 **实践价值:** 寻找 suspicious execution 的有效基础场景。 ### 6. 针对 DMZ 服务的可疑流量 **场景核心:** 指向 DMZ 中 Web 服务器的可疑或非典型网络活动。 **验证内容:** IPS 侧的网络活动可见性以及与 exposed service 相关事件的调查能力。 **来源:** Suricata IPS, DMZ web host。 **实践价值:** 展示网络事件处理及 DMZ 在架构中的作用。 ### 7. Inline IPS 警报 / 阻止演示 **场景核心:** 受控的测试流量,其中 Suricata 不仅检测活动,还展示其作为 IPS 的功能。 **验证内容:** detection 与 prevention 之间的区别,以及 IPS 在拓扑中部署的正确性。 **来源:** Suricata IPS。 **实践价值:** 表明实验室中的网络不仅用于 visibility,也用于基础 prevention。 ### 8. 可疑账户管理活动 **场景核心:** Windows Server 上与账户、组或权限变更相关的操作。 **验证内容:** identity-related events 与基础 administrative changes 的监控。 **来源:** Windows Security Logs, Windows Server。 **实践价值:** 为实验室引入除 endpoint 与 network 场景之外的 identity-focused monitoring。 ## 主要数据来源 该项目侧重于从多个来源收集并分析数据。 ### Windows 客户端 - Windows Security logs - Sysmon - PowerShell Operational / Script Block logs - process execution telemetry ### Windows 服务器 - Security logs - authentication events - account management events - domain / infrastructure-related activity ### Suricata IPS - alert events - flow metadata - protocol-related records(如 HTTP / DNS / TLS,视情况而定) ### Linux / DMZ 主机 - web server logs - SSH / system logs - 服务器网络活动 ## 实验室侧重点 本实验室并非围绕“工具集”,而是围绕**实用的 SOC 检测**构建。也就是说,重点不仅在于软件安装,而在于完整链条: **基础设施 -> 遥测 -> 检测 -> 验证 -> 文档** 项目涵盖的示例如下: - **Brute force 并随后成功登录** - **Encoded PowerShell execution** - **通过 PowerShell 进行可疑下载** - **非典型的 process execution chains** - **endpoint 与 network 事件的关联** - **针对内部或 DMZ 服务的可疑活动** 项目的重点不仅仅是编写搜索查询,而是理解: - 遥测从何而来; - 检测需要哪些日志; - 为什么该场景重要; - 如何对其进行验证; - 可能出现的误报有哪些; - 规则存在哪些局限性; - 如何从多个来源调查 suspicious activity; - 如何围绕观察到的 attacker techniques 构建检测; - 以技术准确的方式记录结果。 ## 仓库结构 ``` . ├── README.md ├── docs/ ├── architecture/ ├── detections/ ├── spl/ ├── attack-simulations/ ├── reports/ ├── screenshots/ ├── config/ └── portfolio/ ```
标签:AI合规, AMSI绕过, IPS, IPv6, Metaprompt, OpenCanary, PoC, PowerShell, SPL, Suricata, Use Case, Windows 遥测, 主机监控, 企业安全, 关联分析, 威胁检测, 威胁检测与响应, 安全实验室, 安全运营, 扫描框架, 攻击模拟, 日志收集, 暴力破解, 检测规则, 现代安全运营, 网络分段, 网络安全, 网络资产发现, 网络资产管理, 防御工程, 隐私保护, 驱动签名利用