TechPro369/soc-triage-console
GitHub: TechPro369/soc-triage-console
一个零依赖的纯前端 SOC 一线分析师分诊控制台作品集项目,通过模拟真实攻击场景展示告警分诊、ATT&CK 映射、Sigma 规则编写和威胁狩猎等安全运营核心技能。
Stars: 0 | Forks: 0
# Sentinel Watch — SOC Tier-1 分诊控制台
**🔗 在线演示:** [techpro369.github.io/soc-triage-console](https://techpro369.github.io/soc-triage-console/)




## 目录
- [我为什么开发这个项目](#why-i-built-this)
- [展示的技能](#skills-demonstrated)
- [涉及的工具与平台](#tools--platforms-referenced)
- [功能](#features)
- [攻击场景演练](#attack-scenario-walkthroughs)
- [架构](#architecture)
- [技术栈](#tech-stack)
- [快速入门](#getting-started)
- [路线图](#roadmap)
- [参考资料与延伸阅读](#references--further-reading)
## 我为什么开发这个项目
Tier-1 SOC 分析师的职位描述通常都要求相同的核心能力:在海量压力下进行告警分诊、MITRE ATT&CK 技术映射、使用 Sigma 或 KQL 编写检测规则、IOC 富化,以及按照 NIST 800-61 进行结构化的应急响应。阅读这些工作流程是一回事,能够在单一界面中*展示*它们则完全是另一回事。
我开发 Sentinel Watch 是为了让这些工作流程变得具象化。每一个面板都对应着分析师的真实任务。每一个告警都引用了真实的 MITRE 技术。每一个检测规则都遵循真实的 Sigma 语法。这是一个旨在回答一个问题的作品集项目:*“这个人能从第一天起就胜任 SOC 分析师的工作吗?”*
## 展示的技能
本项目展示了以下领域的实操能力:
### 应急响应
- **Tier-1 告警分诊** — 严重程度评分、基于风险的优先级排序、误报识别
- **NIST 800-61 IR 生命周期** — 检测与分析 → 遏制 → 根除 → 恢复 → 经验教训
- **升级条件** — 何时以及如何移交给 Tier-2 / IR 团队
- **案例文档化** — 调查记录、时间线重建、IOC 捕获
### 威胁检测与工程
- **MITRE ATT&CK 框架映射** — 涵盖所有 14 种企业战术的技术识别
- **网络杀伤链分析** — 从侦察到目标行动(洛克希德·马丁模型)
- **Sigma 检测规则编写** — 与厂商无关的检测逻辑
- **检测即代码原则** — 版本可控、可测试、可进行同行评审的规则
### 威胁狩猎
- **假设驱动的狩猎** — 提出并测试威胁假设
- **基于 IOC 的狩猎** — 利用哈希、IP、域名、用户代理、父进程进行追踪
- **基于 TTP 的狩猎** — 搜索对手行为模式而非静态指标
- **威胁情报富化** — 将告警与 CTI 源进行关联
### SIEM 工作流程
- **事件关联** — 合并不同的日志源以揭示攻击
- **查询编写** — 用于过滤和追踪的搜索语法
- **仪表盘设计** — 具备实战价值的视图,而非虚荣指标
- **性能指标** — MTTD(平均检测时间)、MTTR(平均响应时间)、告警疲劳指标
## 涉及的工具与平台
Sentinel Watch 的设计借鉴了行业标准工具的界面和工作流程:
| 功能 | 现实中的平台 |
|---|---|
| SIEM | Splunk Enterprise Security, Microsoft Sentinel, Elastic Security, IBM QRadar |
| EDR | CrowdStrike Falcon, SentinelOne, Microsoft Defender for Endpoint |
| 检测即代码 | Sigma, Splunk SPL, KQL, Elastic EQL |
| 威胁情报 | MISP, OpenCTI, ThreatConnect, VirusTotal Enterprise |
| SOAR | Splunk SOAR (Phantom), Palo Alto Cortex XSOAR, Tines |
| 框架 | MITRE ATT&CK v15, NIST 800-61r2, Lockheed Martin Cyber Kill Chain, Pyramid of Pain |
## 功能
### 🚨 告警分诊队列
实时流式传输的告警流,包含风险评分(0–100)、严重程度分类(严重 / 高 / 中 / 低 / 信息)、MITRE ATT&CK 技术标签、受影响资产详情,以及一键调查操作。支持排序、过滤和批量分配。
### 🗺️ MITRE ATT&CK 覆盖热力图
交互式的 14 种战术矩阵,展示跨企业 ATT&CK 框架的检测覆盖率。单元格根据检测置信度(高 / 中 / 低 / 无覆盖)进行颜色编码,并支持点击穿透至相关的检测规则和最近匹配的告警。
### 📜 Sigma 检测规则库
可浏览的检测规则目录,包含 YAML 源码视图、MITRE 技术映射、误报说明和测试状态。规则遵循官方 Sigma 规范,并按日志源(Windows、Linux、网络、云)进行组织。
### 🔍 威胁狩猎控制台
自由格式的查询界面,支持 IOC 追踪(哈希 → 进程 → 用户 → 主机 → 网络)以及基于 TTP 的狩猎模式。预置的狩猎查询涵盖了常见的对手行为(横向移动、凭证转储、持久化机制、数据打包)。
### 📊 SOC 指标仪表盘
运营指标包括 MTTD、MTTR、每位分析师的告警数、检测规则有效性以及随时间变化的误报率。围绕真正能推动 SOC 改进的指标设计,而非虚荣数字。
## 攻击场景演练
该控制台内置了三个基于真实世界攻击模式的场景,每个场景都演练了从初始检测到经验教训的完整 IR 生命周期。
### 场景 1:网络钓鱼 → 凭证窃取 → 商业电子邮件妥协
**杀伤链阶段:** 初始访问 → 凭证访问 → 收集 → 影响
**主要 ATT&CK 技术:**
- T1566.002 — 鱼叉式网络钓鱼链接
- T1078.004 — 有效账户:云账户
- T1114.002 — 电子邮件收集:远程电子邮件收集
- T1564.008 — 隐藏痕迹:电子邮件隐藏规则
**故事情节:** 用户点击了 Office 365 凭证钓鱼链接。攻击者从可疑的地理位置(不可能的旅行)进行身份验证,创建了自动删除安全警报的收件箱规则,并针对财务团队策划了一起电汇欺诈企图。
**展示的分析师操作:**
1. 分诊不可能旅行的登录告警(风险评分 87)
2. 转移到邮箱审计日志并识别恶意的收件箱规则
3. 将活动映射到 ATT&CK 技术
4. 通过撤销会话和禁用账户进行遏制
5. 记录 IOC 并提交给威胁情报进行富化
### 场景 2:Log4Shell 漏洞利用 → Cobalt Strike → 横向移动
**杀伤链阶段:** 漏洞利用 → 命令与控制 → 发现 → 横向移动
**主要 ATT&CK 技术:**
- T1190 — 利用面向公众的应用 (CVE-2021-44228)
- T1059.004 — 命令和脚本解释器:Unix Shell
- T1071.001 — 应用层协议:Web 协议 (C2)
- T1021.002 — 远程服务:SMB/Windows 管理共享
**故事情节:** 外部暴露的 Java 应用程序通过 Log4Shell 被利用。攻击者建立了 Cobalt Strike beacon,通过 SharpHound 执行 Active Directory 侦察,并尝试使用捕获的凭证横向移动到域控制器。
**展示的分析师操作:**
1. 将 WAF 拦截事件与成功的漏洞利用指标进行关联
2. 通过 JA3 指纹和 beacon 间隔分析识别 Cobalt Strike beacon 活动
3. 通过 LDAP 查询模式追踪 AD 侦察
4. 在网络层阻断横向移动尝试
5. 通过 Cobalt Strike 命名管道 IOC 狩猎其他潜在的入侵
### 场景 3:内部威胁 — 凭证转储 → 数据外发
**杀伤链阶段:** 凭证访问 → 收集 → 外发
**主要 ATT&CK 技术:**
- T1003.001 — 操作系统凭证转储:LSASS Memory
- T1213 — 来自信息存储库的数据
- T1567.002 — 通过 Web 服务外发:云存储
**故事情节:** 特权用户对 LSASS 运行 Mimikatz,访问了超出其正常范围且敏感的 SharePoint 文档库,并在非工作时间将批量数据上传到个人云存储账户。
**展示的分析师操作:**
1. 检测来自非标准进程的 LSASS 访问 (Sysmon Event ID 10)
2. 建立用户行为基线以识别异常的 SharePoint 访问模式
3. 将数据流出量与典型用户配置文件进行关联对比
4. 应用 UEBA 评分提高告警优先级
5. 按照内部威胁 IR 标准操作程序与 HR 和法务协调
## 架构
```
┌────────────────────────────────────────────────────────────┐
│ Sentinel Watch UI │
│ (Single-page application — vanilla HTML/CSS/JavaScript) │
└────────────────────────────────────────────────────────────┘
│
├── Alert Queue Module ──── synthetic event generator
├── ATT&CK Matrix Module ── coverage data (JSON)
├── Sigma Library Module ── rule catalog (YAML embedded)
├── Hunt Console Module ─── query parser + indexed data
└── Metrics Module ──────── time-series KPIs
```
**设计原则:**
- **零依赖** — 可在任何静态主机上运行,无需构建步骤
- **真实数据** — 告警、IOC 和时间线反映了真实的攻击模式
- **教育优先于运营** — 专为学习和演示优化,而非用于生产部署
- **忠实于框架** — MITRE 技术 ID、Sigma 语法、NIST IR 阶段均准确符合当前规范
## 技术栈
- **前端:** 原生 JavaScript (ES2020), HTML5, CSS3 (Grid + Flexbox)
- **可视化:** 自定义基于 canvas 的热力图,SVG 图表
- **数据格式:** JSON 用于事件,YAML 用于 Sigma 规则
- **部署:** GitHub Pages(静态)
- **参考框架:** MITRE ATT&CK v15, Sigma v2, NIST SP 800-61r2
没有构建流水线,没有 npm 依赖,没有外部 API 调用 —— 整个控制台是自包含的,加载后可离线运行。
## 快速入门
### 本地运行
```
git clone https://github.com/TechPro369/soc-triage-console.git
cd soc-triage-console
# 在任意现代浏览器中打开 index.html
# 或通过 Python 提供服务:
python3 -m http.server 8000
# 然后访问 http://localhost:8000
```
### 使用控制台
1. **从告警队列开始** — 查看顶部最高风险的告警
2. **点击告警** 打开调查窗格,查看完整的事件上下文、ATT&CK 映射和建议的操作
3. **尝试各种场景** — 从菜单中加载三个预置攻击场景中的任何一个,以演练完整的 IR 工作流程
4. **探索 ATT&CK 矩阵** 以查看检测覆盖率并识别差距
5. **查阅 Sigma 规则库** 了解检测规则是如何编写的
## 路线图
- [ ] 为狩猎控制台添加 CrowdStrike Falcon LogScale 查询语法支持
- [ ] 扩展至 10 个攻击场景,涵盖勒索软件、APT 和供应链
- [ ] 集成实时的 MITRE ATT&CK Navigator 导出功能以生成覆盖率报告
- [ ] 为每个场景添加 SOAR 风格的 playbook 可视化
- [ ] 构建一个 Sigma → KQL / SPL 规则转换器演示
## 参考资料与延伸阅读
**框架与标准**
- [MITRE ATT&CK 企业矩阵](https://attack.mitre.org/matrices/enterprise/)
- [NIST SP 800-61r2 — 计算机安全应急处理指南](https://csrc.nist.gov/publications/detail/sp/800-61/rev-2/final)
- [Lockheed Martin 网络杀伤链](https://www.lockheedmartin.com/en-us/capabilities/cyber/cyber-kill-chain.html)
- [痛苦金字塔 — David Bianco](https://detect-respond.blogspot.com/2013/03/the-pyramid-of-pain.html)
**检测工程**
- [Sigma — 用于 SIEM 系统的通用签名格式](https://github.com/SigmaHQ/sigma)
- [SigmaHQ 规则库](https://github.com/SigmaHQ/sigma/tree/master/rules)
- [Florian Roth — 检测工程资源](https://github.com/Neo23x0)
**SOC 与威胁狩猎**
- [SANS FOR508 — 高级 IR 与威胁狩猎](https://www.sans.org/cyber-security-courses/advanced-incident-response-threat-hunting-training/)
- [威胁狩猎手册](https://github.com/OTRF/ThreatHunter-Playbook)
- [Atomic Red Team — 对手模拟](https://github.com/redcanaryco/atomic-red-team)
## 关于作者
由 **Biruk Aregu** 开发 — 网络安全专业人士,拥有 CompTIA Security+、AWS Solutions Architect Associate 认证以及有效的 DoD 秘密级许可。目前担任 IT 专家 (Tier II),支持国防后勤局。
- 🌐 [birukaregu.com](https://birukaregu.com)
- 💼 [LinkedIn](https://www.linkedin.com/in/birukaregu)
- 📧 通过作品集联系
## 许可证
MIT 许可证 — 可免费复刻、学习和改编,用于您自己的学习或作品集。感谢注明出处,但非必须。
如果这个项目帮助您获得了面试机会或通过了 SOC 分析师的技能评估,我很乐意听听您的经历。
标签:Homebrew安装, HTML, 前端, 后端开发, 威胁告警, 安全演练, 安全运营, 扫描框架