KuRo0x/vSOC-Lab

GitHub: KuRo0x/vSOC-Lab

一套专注于检测工程的虚拟安全运营中心实验室,模拟真实 SOC 工作流程,集成 ELK 技术栈、Sysmon 和 Suricata,提供从数据摄入到事件响应的完整实践环境。

Stars: 1 | Forks: 0

# vSOC 检测实验室 ## 一个专注于检测的虚拟安全运营中心 实验室,模拟真实的 SOC 遥测数据摄入、调查以及与 MITRE ATT&CK 对齐的检测,包括一项经 SOC 验证的钓鱼意识培训演练 ## 系统架构 ![vSOC 系统架构](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/c73d44a805071746.png) *图 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 安全, 仿真环境, 内容过滤, 安全架构, 安全运营, 实验室环境, 意识培训, 扫描框架, 日志聚合, 流量重放, 现代安全运营, 网络安全, 越狱测试, 遥测数据, 钓鱼演练, 防御工程, 隐私保护