StillLearning415/Splunk-Labs
GitHub: StillLearning415/Splunk-Labs
一个蓝队检测工程实验合集,使用 Sysmon 和 Splunk Enterprise 从零构建针对真实攻击技术的检测能力。
Stars: 0 | Forks: 0
# 🛡️ Splunk + Sysmon 检测实验室
这是一个使用 **Sysmon** 和 **Splunk Enterprise** 从零开始构建的蓝队检测工程实验室合集。每个实验室都模拟了一种真实的攻击者技术,通过自定义的 Sysmon 配置捕获遥测数据,并通过手写的 SPL 查询将其展现出来——没有使用预构建的内容包,也没有引导式演练。
## 🗂️ 实验室索引
| 实验室 | 技术 | MITRE | Sysmon Event IDs |
|-----|-----------|-------|-----------------|
| [Lab 1 — Sysmon + Splunk 基线关联](Lab-01_Sysmon-Correlation.md) | 进程、DNS 和网络关联 | — | 1, 3, 22 |
| [Lab 2 — 多阶段 PowerShell 关联](Lab-02-Multi-Stage-PowerShell-Correlation.md) | 多阶段执行链 | — | 1, 3, 11, 22 |
| [Lab 3 — 文件时间戳篡改](Lab-03-File-Timestamp-Manipulation.md) | Timestomping / 反取证 | T1070.006 | 2 |
| [Lab 4 — 注册表持久化检测](Lab-04-Registry-Persistence-Detection.md) | Run 键持久化 | T1547.001 | 13 |
| [Lab 5 — LSASS 凭据访问检测](Lab-05-LSASS-Credential-Access-Detection.md) | 凭据转储检测 | T1003.001 | 10 |
## 🔬 实验室摘要
### Lab 1 — Sysmon + Splunk 基线关联
验证了 Sysmon 和 Splunk 的端到端配置正确无误。通过单个 PowerShell 会话触发了进程创建、DNS 解析和出站网络活动,并确认所有三种事件类型都在 Splunk 中关联显示。
**关键 SPL:** 针对 EventCode 1、3 和 22 的带有 `coalesce` 字段规范化的多 EventCode 查询。
### Lab 2 — 多阶段 PowerShell 关联
使用 `Invoke-WebRequest` 模拟了一个真实的下载并执行链。将四种 Sysmon 事件类型关联回单个 PowerShell PID —— 展示了单个进程如何在进程、文件、DNS 和网络遥测数据中生成完整的攻击足迹。
**关键 SPL:** 基于正则的字段脱敏、多源 `eval` 规范化、进程树关联。
### Lab 3 — 文件时间戳篡改 (T1070.006)
使用 PowerShell 将文件的创建时间戳倒签三年,模拟了 Timestomping —— 一种常见的反取证技术。Sysmon Event ID 2 捕获了伪造的和原始的时间戳,使防御者能够检测到差异。
**关键 SPL:** 跨多个时间戳字段名变体的 `coalesce`,从原始事件中进行 `rex` 提取以实现字段规范化。
### Lab 4 — 注册表持久化检测 (T1547.001)
添加了一个良性的 Run 键条目以模拟后渗透持久化,然后通过 Splunk 中的 Sysmon Event ID 13 进行检测。查询过滤掉了嘈杂的合法条目(例如 Microsoft Edge 自动启动),以专注于可疑的修改。
**关键 SPL:** 通过正则进行 SID 脱敏、Run 键路径规范化、针对已知良好条目的排除过滤。
### Lab 5 — LSASS 凭据访问检测 (T1003.001)
通过 PowerShell 访问 LSASS 进程信息,并分析生成的 Sysmon Event ID 10 日志。记录了 `GrantedAccess` 值,以区分良性枚举(`0x1000`)与与 Mimikatz 等工具相关的高风险访问模式(`0x1fffff`,`0x1010`)。
**关键 SPL:** 针对 lsass.exe 的 `TargetImage` 过滤器、`GrantedAccess` 字段分析、CallTrace 提取。
## ⚙️ 环境
| 组件 | 详情 |
|-----------|---------|
| OS | Windows 10 |
| Sysmon | v14+ (schema 4.90), 自定义 `sysmon_lab.xml` 配置 |
| SIEM | Splunk Enterprise, `windows` 索引 |
| Log Source | `XmlWinEventLog:Microsoft-Windows-Sysmon/Operational` |
## 🔐 隐私与脱敏
所有实验室输出均已脱敏处理:
- 用户名替换为 `REDACTED_USER`
- 文件路径规范化为 `C:\REDACTED_PATH\`
- IP 地址替换为 `REDACTED_IP`
- SID 替换为 `REDACTED_SID`
- DNS 查询规范化为 `example.com`
脱敏是通过 SPL `eval` + `replace()` 和 `rex mode=sed` 内联执行的 —— 在移除个人身份信息的同时保持了分析的完整性。
## 🎯 目的
这些实验室是独立构建的,旨在开发和展示实用的蓝队技能:
- 端点遥测收集与验证
- SIEM 查询开发与字段规范化
- 映射到 MITRE ATT&CK 的真实攻击者技术检测
- 行为基线化与误报减少
- 证据处理与文档记录实践
每个实验室都反映了直接适用于 SOC 分析师和检测工程角色的技能。
标签:AI合规, Cloudflare, Kung Fu, MITRE ATT&CK, PowerShell 攻击检测, SPL 查询, Sysmon, 互联网扫描, 企业安全, 关联分析, 凭据转储, 可视化仪表盘, 后端开发, 安全运营, 扫描框架, 持久化检测, 数字取证, 数据接入, 时间戳篡改, 管理员页面发现, 网络安全实验室, 网络资产管理, 自动化脚本, 防御分析