KuRo0x/vSOC-Lab
GitHub: KuRo0x/vSOC-Lab
一套专注于检测工程的虚拟安全运营中心实验室,模拟真实 SOC 工作流程,集成 ELK 技术栈、Sysmon 和 Suricata,提供从数据摄入到事件响应的完整实践环境。
Stars: 1 | Forks: 0
# vSOC 检测实验室
## 一个专注于检测的虚拟安全运营中心 实验室,模拟真实的 SOC 遥测数据摄入、调查以及与 MITRE ATT&CK 对齐的检测,包括一项经 SOC 验证的钓鱼意识培训演练
## 系统架构

*图 1:用于检测工程和意识验证的高级 vSOC 架构。*
## 🎯 项目目标
- 构建真实的 SOC 风格检测环境
- 集中化并规范化来自多个来源的遥测数据
- 设计基于行为的检测
- 以合理的方式将检测映射到 MITRE ATT&CK
- 清晰地记录架构和设计决策
## 🧱 实验室架构(高层)
**网络模型**
- 隔离的虚拟网络 (`VMnet3`)
- 无主机到实验室的直接访问
- 单一强制网关
**核心组件**
- **pfSense** — 防火墙、DNS 强制执行、网络遥测
- **Ubuntu Server** — SIEM (Elasticsearch, Logstash, Kibana, Suricata)
- **Windows 10** — 受监控端点 (Sysmon + Winlogbeat)
所有遥测数据在到达 Elasticsearch 之前都流经 **Logstash**。
**视觉概览**
网络和 SIEM 管道的视觉概览可在 `evidence/network/architecture-diagram.png` 中找到。
## 🔁 遥测与数据源
### 端点
- Windows 安全日志
- Sysmon(进程执行、网络活动、注册表更改)
- 通过 Winlogbeat 转发 (TCP 5044)
### 网络
- pfSense 防火墙日志
- DNS 强制执行事件
- 通过 Syslog 转发
### IDS
- Suricata 网络警报
- 基于 JSON 的结构化输出
## 🚨 已实现的检测
实验室包含针对以下内容的基于行为的检测:
- 可疑的 PowerShell 执行(编码 / 内存中)
- LOLBin 滥用 (`certutil`)
- 基于注册表的持久化 (Run 键)
- 主机和用户发现命令
- DNS 策略违规
- 未授权的本地用户创建(基于 Sigma)
所有检测都与 **MITRE ATT&CK** 对齐并附有理由说明。
## 🧯 事件响应案例研究
除了检测工程外,该实验室还包含记录详尽的
事件响应案例研究,旨在模拟真实的 SOC 工作流程,
从初始检测到遏制以及事后改进。
### 记录的事件
#### INC-001 – 钓鱼驱动的恶意软件投递尝试
一次基于钓鱼的恶意软件投递尝试,通过端点遥测检测到,
并在载荷执行前使用网络级防火墙控制进行了遏制。
**关键要素:**
- 使用 Elastic (Winlogbeat + Sysmon) 进行检测
- 调查浏览器下载痕迹 (`.crdownload`, `Zone.Identifier`)
- 通过 pfSense 使用基于 IOC 的防火墙别名进行网络遏制
- 基于证据的文档记录和 SOC 风格的 Playbook
📁 案例文档:`incidents/INC-001-phishing/`
这些案例研究通过展示警报如何在 SOC 环境中落地,
补充了检测逻辑。
## 📸 证据(精选)
以下截图展示了实验室按文档描述运行的情况:
- **端点检测:** 基于 PowerShell 的行为在 Windows 端点上触发检测
→ `evidence/endpoint/`
- **SIEM 告警:** Kibana 中的警报可见性和分析
→ `evidence/siem/`
- **网络强制执行:** 通过 pfSense 进行的 DNS 策略强制执行和防火墙日志记录
→ `evidence/network/`
这些工件作为支持性证据提供,并有意保持精简以维持清晰度。
## 🧠 MITRE ATT&CK 覆盖范围(摘要)
| 战术 | 技术 |
|------|-----------|
| Execution | T1059.001 |
| Persistence | T1547.001, T1136.001 |
| Discovery | T1033 |
| Command & Control | T1071.004 |
| Tool Transfer | T1105 |
映射基于**观察到的行为**,而非假设。
## 📂 文档
详细文档可在 `/docs` 中找到:
- **INVENTORY.md** — 实验室组件和服务
- **NETWORK.md** — 网络拓扑和信任边界
- **PIPELINE.md** — 日志摄入和处理设计
- **DETECTIONS.md** — 检测逻辑和原理
- **ATTACK_MAPPING.md** — MITRE ATT&CK 理由说明
## ✅ 快速验证(审查者路径)
使用此检查清单端到端验证实验室流程并确认记录的检测。
1. **确认数据摄入**
- 打开 Kibana 并验证以下内容中的近期事件:
- `winlogbeat-*`
- `pfsense-*`
- `suricata-*`
2. **验证端点检测**
- 查看 `docs/DETECTIONS.md` 中的检测逻辑和复现步骤
- 确认警报带有命令行上下文和 Sysmon 字段出现
3. **验证网络检测**
- 从端点触发 DNS 策略违规
- 验证 pfSense 拒绝日志到达 Elasticsearch
4. **审查证据工件**
- 参见 `evidence/endpoint/`、`evidence/siem/` 和 `evidence/network/`
此路径有意简短,以帮助审查者快速验证实验室。
## 🛠️ 自动化(可选层)
仓库包含一个自动化层,其功能包括:
- 汇总检测
- 将其映射到 MITRE ATT&CK 技术
- 可生成兼容 ATT&CK Navigator 的数据
此逻辑与文档有意分离。
## 🔒 范围与限制
- 仅限防御性监控
- 不涉及利用或恶意软件部署
- 无自动响应;遏制操作为手动实施并记录
- 非生产环境的实验室环境
- 展示了从检测到遏制和事件关闭的推进能力
重点在于**可见性、检测和可解释性**。
## 📌 为什么这个实验室很重要
该项目展示了:
- SOC 式思维
- 清晰的关注点分离
- 检测工程基础
- 解释*为什么*检测某些内容的能力,而不仅仅是*如何*检测
它旨在**经得起面试推敲**,且既能被技术评审理解,也能被非技术评审理解。
## 📄 许可证
本项目用于教育和作品集展示目的。
标签:Cloudflare, Elastic Stack, LOLBins, Metaprompt, MITRE ATT&CK, pfSense, PowerShell 检测, RFI远程文件包含, Suricata, Sysmon, Windows 安全, 仿真环境, 内容过滤, 安全架构, 安全运营, 实验室环境, 意识培训, 扫描框架, 日志聚合, 流量重放, 现代安全运营, 网络安全, 越狱测试, 遥测数据, 钓鱼演练, 防御工程, 隐私保护