# Performing Soc Tabletop Exercise

> 为 SOC 团队执行桌面推演（Tabletop Exercise），通过基于讨论的场景模拟安全事件， 在不影响生产系统的前提下测试事件响应流程、沟通工作流和压力下的决策能力。 适用于组织需要验证 IR 剧本、培训分析师或满足事件响应测试合规要求的场景。

- Skill: `killvxk/performing-soc-tabletop-exercise` (Agent Skill, multi-file: 4 files)
- Install (CLI): `npx skillmds@latest add killvxk/performing-soc-tabletop-exercise`
- Raw SKILL.md: https://api.skillmd.com/api/skills/killvxk/performing-soc-tabletop-exercise/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- License: Apache-2.0
- Author: killvxk (https://skillmd.com/u/killvxk)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/killvxk/performing-soc-tabletop-exercise

---

# 执行 SOC 桌面推演

## 适用场景

在以下情况使用本技能：
- 需要年度或半年度事件响应测试（NIST、ISO 27001、PCI DSS 合规要求）
- 新 SOC 分析师需要在受控环境中接触重大事件场景
- 更新后的剧本需要在下次真实事件前完成验证
- 跨职能协调（SOC、IT、法务、公关、高管）需要演练
- 事后复盘发现差距，需要基于场景的培训

**不适用于**替代技术性紫队（Purple Team）演练——桌面推演测试流程和决策能力，而非技术检测能力。

## 前置条件

- 具有事件响应经验的演练主持人
- 参与者名单：SOC 分析师（Tier 1-3）、SOC 经理、IT 运维、法务、HR、公关
- 会议室或具备屏幕共享功能的视频会议
- 带定时发布计划的打印或数字场景注入（Inject）卡片
- 用于评估参与者响应的评分表
- 演练期间供参考的现有事件响应计划和剧本

## 工作流程

### 步骤 1：设计演练场景

创建具有递进复杂性的多阶段真实场景：

```yaml
tabletop_exercise:
  title: "暗收割行动——勒索软件攻击场景"
  exercise_id: TTX-2024-Q1
  date: 2024-03-22
  duration: 3 hours (09:00-12:00)
  classification: TLP:AMBER (internal use only)

  objectives:
    1: "测试 SOC 团队检测和分级勒索软件指标的能力"
    2: "验证从 Tier 1 到事件指挥官的升级流程"
    3: "评估与法务、公关和高管领导层的跨职能沟通"
    4: "评估时间压力下的遏制决策能力"
    5: "测试备份恢复流程和业务连续性激活"

  participants:
    - role: SOC Tier 1 Analyst (2 participants)
    - role: SOC Tier 2 Analyst (2 participants)
    - role: SOC Manager / Incident Commander
    - role: IT Operations Lead
    - role: CISO (or delegate)
    - role: Legal Counsel
    - role: Communications / PR
    - role: Business Unit Leader (Finance)

  scenario_background: >
    您的组织是一家拥有 2500 名员工的中型金融服务公司。
    SOC 采用 Splunk ES 和 CrowdStrike Falcon 实行 24/7 轮班，每班 6 名分析师。
    现在是周五下午 3:45，周末 IT 值班人员将于下午 5 点开始。
```

### 步骤 2：创建定时注入

设计按计划间隔发布的场景注入卡片：

```yaml
injects:

  inject_1:
    time: "T+0 (3:45 PM)"
    title: "初始告警"
    content: >
      Splunk ES 生成一条值得关注的事件："Shadow Copy 删除检测"，
      发生在 FILESERVER-03（10.0.10.50，财务部文件服务器）上。
      告警显示：vssadmin.exe delete shadows /all /quiet
      源用户：svc_backup（服务账户）
      这是该主机今天的第一条告警。
    questions:
      - "您对此告警的初步评估是什么？"
      - "您会在 Splunk 中查询哪些额外数据？"
      - "这是 Tier 1 分级项还是需要立即升级？"

  inject_2:
    time: "T+10 minutes"
    title: "升级的指标"
    content: >
      在调查第一条告警期间，又触发了两条告警：
      1. "检测到批量文件修改"——5 分钟内 FILESERVER-03 上 2847 个文件被重命名为 .locked 扩展名
      2. WORKSTATION-118（10.0.5.118）上"可疑 PowerShell 编码命令"
         ——使用了同一 svc_backup 账户
      CrowdStrike 显示进程树：explorer.exe > cmd.exe > powershell.exe -enc [base64]
    questions:
      - "您的更新评估是什么？您会分配什么事件严重等级？"
      - "您会立即采取哪些遏制措施？"
      - "此时需要通知谁？"
      - "您如何确认是否仅限于这两台主机？"

  inject_3:
    time: "T+25 minutes"
    title: "范围扩大"
    content: >
      全企业 Splunk 搜索揭示：
      - 另有 7 台主机显示 .locked 文件扩展名
      - 所有受影响主机均在财务 VLAN（10.0.10.0/24）
      - svc_backup 账户从下午 3:30 开始通过 RDP 访问所有受影响主机
      - 所有受影响主机上均发现勒索说明"README_UNLOCK.txt"
      - 勒索说明要求支付 50 BTC，包含 Tor 支付门户链接
      - IT 报告 svc_backup 密码在 2 天前被更改（非 IT 团队操作）
    questions:
      - "这已是确认的勒索软件事件。您的事件分类是什么？"
      - "阐述您的遏制策略——您将隔离什么以及按什么顺序？"
      - "是否应该完全关闭财务 VLAN？有哪些权衡？"
      - "何时以及如何通知高管层？"

  inject_4:
    time: "T+45 minutes"
    title: "业务影响与外部压力"
    content: >
      CFO 直接致电 SOC 经理：
      "我们本周末正在结算季末账目。财务部门周一早上必须能够访问
      FILESERVER-03，否则我们将错过 SEC 申报截止日期。"
      此外：
      - 法务询问受影响服务器上是否有客户 PII
      - 公关报告有记者致电询问"[公司]的网络安全问题"
      - 勒索说明截止时间为 48 小时
      - IT 报告 FILESERVER-03 最后一次经过验证的备份是周三（3 天前）
    questions:
      - "您如何在遏制安全与来自 CFO 的业务压力之间取得平衡？"
      - "您对支付赎金的建议是什么？谁来做出这一决定？"
      - "法务需要哪些信息来评估违规通知义务？"
      - "您如何处理媒体询问？"
      - "您能从 3 天前的备份中恢复吗？会丢失哪些数据？"

  inject_5:
    time: "T+70 minutes"
    title: "取证发现"
    content: >
      Tier 3 取证分析揭示：
      - 初始访问通过被入侵的 VPN 凭据（svc_backup）
      - 凭据在第三方供应商违规事件的暗网数据泄露中被发现
      - 攻击者在部署勒索软件前已在系统中潜伏 5 天
      - 数据外泄证据：3 天内通过 Mega.nz 上传了 15GB
      - 外泄数据包含 12000 名客户的 PII（SSN、账号）
      - 勒索软件变种被确认为 LockBit 3.0
    questions:
      - "确认数据外泄如何改变您的响应策略？"
      - "法规通知要求是什么？（SEC、州级违规法律）"
      - "客户通知的时间线是什么？"
      - "您是否应该聘请外部 IR 公司？联系执法机构？"
      - "您如何处理作为凭据泄露来源的供应商？"

  inject_6:
    time: "T+90 minutes"
    title: "恢复决策点"
    content: >
      事件发生已 6 小时。当前状态：
      - 所有 9 台受影响主机已隔离
      - 财务 VLAN 已从企业网络中分割
      - LockBit C2 域名已在防火墙和 DNS 层面封锁
      - 目前无 LockBit 3.0 可用解密器
      - 周三备份已验证为干净但缺少 3 天数据
      - CEO 要求在 30 分钟内进行全面情况汇报
    questions:
      - "准备一份 5 分钟高管汇报。您包含哪些内容？"
      - "您的恢复计划和预计时间线是什么？"
      - "您将在恢复期间和之后实施哪些监控？"
      - "您会建议哪些即时安全改进措施？"
```

### 步骤 3：主持演练

**主持人指南：**

```
演练主持协议
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
1. 开场（10 分钟）
   - 说明演练目标和基本规则
   - 强调："没有错误答案——这是测试流程，不是评判个人"
   - 提醒参与者这是模拟——没有实际系统受到影响
   - 确定演练观察员/记录员

2. 注入发布（110 分钟）
   - 在屏幕上展示每个注入，留 2 分钟阅读时间
   - 向每个角色组提出引导性问题
   - 允许讨论但按时间线推进
   - 根据需要注入额外压力/复杂情况
   - 记录决策、依据和发现的差距

3. 讨论规则
   - 参与者以角色身份（其实际职位）响应
   - 在可用时参考实际剧本和流程
   - 如果参与者不确定，这本身就是一个发现
   - 如果讨论停滞，主持人可以添加"热注入"

4. 结束（40 分钟）
   - 热洗（Hot Wash）：每位参与者分享一个做得好的地方和一个差距
   - 主持人总结关键发现
   - 确定前 5 个行动项，附负责人和截止日期
```

### 步骤 4：评估参与者响应

根据预期结果对响应进行评分：

```yaml
evaluation_criteria:

  detection_and_triage:
    expected: "立即识别 Shadow Copy 删除为勒索软件前兆"
    scoring:
      excellent: "2 分钟内正确识别，发起适当升级"
      adequate: "经过讨论后识别，升级路径正确"
      needs_improvement: "未识别重要性，升级延迟"

  containment_decision:
    expected: "通过 EDR 隔离受影响主机，分割财务 VLAN，保全证据"
    scoring:
      excellent: "立即隔离，优先级顺序正确，保全证据"
      adequate: "执行了隔离但延迟或优先级不完整"
      needs_improvement: "考虑关机（会破坏证据）或延迟隔离"

  communication:
    expected: "及时通知链：SOC 经理 -> CISO -> 法务 -> 高管"
    scoring:
      excellent: "在规定 SLA 内完成适当通知，汇报清晰简洁"
      adequate: "完成了通知但略有延迟或不完整"
      needs_improvement: "关键利益相关者未收到通知，沟通不清晰"

  business_continuity:
    expected: "平衡安全遏制与业务恢复需求"
    scoring:
      excellent: "传达了现实的恢复时间线，提出了替代变通方案"
      adequate: "讨论了恢复但时间线不明确"
      needs_improvement: "过度承诺时间线或忽视业务影响"
```

### 步骤 5：生成事后行动报告

```yaml
after_action_report:
  exercise: TTX-2024-Q1 "暗收割行动"
  date: 2024-03-22
  participants: 10
  duration: 3 hours

  executive_summary: >
    桌面推演测试了组织在检测、遏制、沟通和恢复阶段的勒索软件响应能力。
    SOC 团队展示了较强的技术分级技能，但在跨职能沟通和备份恢复流程方面发现了差距。

  strengths:
    - SOC 分析师在第一个注入中正确识别了勒索软件指标
    - 遏制决策迅速且技术上合理
    - 法务团队对违规通知要求准备充分
    - IT 运维对备份恢复流程有清晰了解

  gaps_identified:
    - gap_1:
        finding: "无非工作时间通知 CISO 的书面流程"
        risk: High
        action: "更新升级联系人，添加个人电话和备用联系人"
        owner: SOC Manager
        due_date: 2024-04-05

    - gap_2:
        finding: "备份恢复测试已 6 个月未执行"
        risk: Critical
        action: "安排季度备份恢复演练"
        owner: IT Operations Lead
        due_date: 2024-04-15

    - gap_3:
        finding: "无针对网络事件的预先批准媒体声明模板"
        risk: Medium
        action: "与法务起草并批准 3 个声明模板"
        owner: Communications Lead
        due_date: 2024-04-10

    - gap_4:
        finding: "服务账户（svc_backup）不必要地拥有域管理员权限"
        risk: Critical
        action: "审计所有服务账户，实施最小权限"
        owner: IT Security
        due_date: 2024-04-01

    - gap_5:
        finding: "赎金支付决策权限不明确"
        risk: High
        action: "记录赎金支付决策树，需要 CEO/董事会批准"
        owner: CISO
        due_date: 2024-04-15

  metrics:
    overall_score: "72/100 (Adequate)"
    detection: "85/100 (Excellent)"
    containment: "80/100 (Good)"
    communication: "60/100 (Needs Improvement)"
    recovery: "65/100 (Needs Improvement)"

  next_exercise: "TTX-2024-Q2 — 数据泄露/内部威胁场景（2024 年 6 月）"
```

### 步骤 6：跟踪修复和后续行动

```spl
--- 跟踪桌面推演的行动项
| inputlookup ttx_action_items.csv
| eval days_remaining = round((strptime(due_date, "%Y-%m-%d") - now()) / 86400)
| eval status_flag = case(
    status="Completed", "GREEN",
    days_remaining < 0, "RED — OVERDUE",
    days_remaining < 7, "YELLOW — DUE SOON",
    1=1, "GREEN"
  )
| sort - status_flag, days_remaining
| table gap_id, finding, owner, due_date, days_remaining, status, status_flag
```

## 核心概念

| 术语 | 定义 |
|------|------|
| **桌面推演（Tabletop Exercise）** | 基于讨论的模拟，参与者在不执行技术操作的情况下演练事件场景 |
| **注入（Inject）** | 引入新信息、复杂情况或决策的场景更新，供参与者处理 |
| **热洗（Hot Wash）** | 演练结束后的即时复盘，参与者分享观察结果和初步经验教训 |
| **事后行动报告（AAR，After-Action Report）** | 记录演练发现、差距、优势和修复行动项的正式文件 |
| **主持人（Facilitator）** | 演练领导者，负责发布注入、引导讨论并确保实现目标 |
| **决策点（Decision Point）** | 场景中需要参与者在存在权衡的选项中做出选择的时刻 |

## 工具与系统

- **FEMA HSEEP**：国土安全演练与评估计划，提供演练规划方法论
- **桌面推演框架（NIST SP 800-84）**：NIST IT 安全演练规划与实施指南
- **Immersive Labs**：网络安全危机模拟和桌面推演管理平台
- **Infection Monkey**：用于技术验证桌面推演发现的开源攻击模拟工具
- **Archer**：用于跟踪演练发现和修复行动项的 GRC 平台

## 常见场景

- **勒索软件攻击**：多阶段场景，测试检测、遏制、赎金决策和恢复
- **数据泄露**：客户 PII 暴露，测试通知要求、法律义务和公关响应
- **供应链攻击（Supply Chain Compromise）**：第三方供应商违规影响组织系统和数据
- **内部威胁（Insider Threat）**：员工数据窃取场景，测试 HR、法务和安全团队协调
- **商业电子邮件攻击（BEC，Business Email Compromise）**：CEO 诈骗电汇企图，测试财务控制和验证流程

## 输出格式

```
桌面推演摘要——TTX-2024-Q1
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
场景：     暗收割行动（勒索软件）
日期：     2024-03-22 (09:00-12:00 UTC)
参与者：   10 人（SOC: 5，IT: 1，法务: 1，公关: 1，高管: 2）
持续时间：  3 小时（发布 6 个注入）

评分：
  检测与分级：    85/100  优秀
  遏制：         80/100  良好
  沟通：         60/100  需要改进
  恢复规划：     65/100  需要改进
  总体：         72/100  合格

关键发现：
  [+] 优势：勒索软件指标立即被正确识别
  [+] 优势：EDR 隔离流程掌握良好
  [-] 差距：无非工作时间 CISO 通知流程
  [-] 差距：备份恢复 6 个月未测试
  [-] 差距：无预先批准的媒体声明模板
  [-] 差距：服务账户权限过高（域管理员）
  [-] 差距：赎金支付决策权限未定义

行动项：5 项（严重：2，高危：2，中等：1）
下次演练：TTX-2024-Q2（2024 年 6 月）——内部威胁场景
```

