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;
- 实现若干检测用例;
- 在受控场景下进行验证;
- 记录局限性、误报以及可能的改进方向。
## 实验室架构

实验室设计为一个包含多个区域的小型类企业环境:
- **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 遥测, 主机监控, 企业安全, 关联分析, 威胁检测, 威胁检测与响应, 安全实验室, 安全运营, 扫描框架, 攻击模拟, 日志收集, 暴力破解, 检测规则, 现代安全运营, 网络分段, 网络安全, 网络资产发现, 网络资产管理, 防御工程, 隐私保护, 驱动签名利用