performing-soc-tabletop-exercise
为 SOC 团队执行桌面推演(Tabletop Exercise),通过基于讨论的场景模拟安全事件, 在不影响生产系统的前提下测试事件响应流程、沟通工作流和压力下的决策能力。 适用于组织需要验证 IR 剧本、培训分析师或满足事件响应测试合规要求的场景。
Best use case
performing-soc-tabletop-exercise is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
为 SOC 团队执行桌面推演(Tabletop Exercise),通过基于讨论的场景模拟安全事件, 在不影响生产系统的前提下测试事件响应流程、沟通工作流和压力下的决策能力。 适用于组织需要验证 IR 剧本、培训分析师或满足事件响应测试合规要求的场景。
Teams using performing-soc-tabletop-exercise should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/performing-soc-tabletop-exercise/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How performing-soc-tabletop-exercise Compares
| Feature / Agent | performing-soc-tabletop-exercise | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
为 SOC 团队执行桌面推演(Tabletop Exercise),通过基于讨论的场景模拟安全事件, 在不影响生产系统的前提下测试事件响应流程、沟通工作流和压力下的决策能力。 适用于组织需要验证 IR 剧本、培训分析师或满足事件响应测试合规要求的场景。
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# 执行 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 月)——内部威胁场景
```Related Skills
performing-yara-rule-development-for-detection
通过识别可执行文件中的唯一字节模式、字符串和行为指标,开发精准的 YARA 恶意软件检测规则,同时将误报率降至最低。
performing-wireless-security-assessment-with-kismet
使用 Kismet 通过被动射频监控进行无线网络安全评估,检测流氓接入点(Rogue AP)、隐藏 SSID、弱加密和未授权客户端。
performing-wireless-network-penetration-test
执行无线网络渗透测试,通过捕获握手包、破解 WPA2/WPA3 密钥、检测流氓接入点以及使用 Aircrack-ng 和相关工具测试无线网络分段,评估 WiFi 安全性。
performing-windows-artifact-analysis-with-eric-zimmerman-tools
使用 Eric Zimmerman 的开源 EZ Tools 套件(包括 KAPE、MFTECmd、PECmd、LECmd、JLECmd 和 Timeline Explorer)执行全面的 Windows 取证制品分析,解析注册表 hive、预取文件、事件日志和文件系统元数据。
performing-wifi-password-cracking-with-aircrack
在授权无线安全评估中捕获 WPA/WPA2 握手包,并使用 aircrack-ng、hashcat 和字典攻击进行离线密码破解, 以评估密码短语强度和无线网络安全状况。
performing-web-cache-poisoning-attack
在授权安全测试期间,通过未纳入缓存键的头部和参数毒化缓存响应,利用 Web 缓存机制向其他用户投递恶意内容。
performing-web-cache-deception-attack
通过利用 CDN 缓存层与源服务器之间的路径规范化差异,执行 Web 缓存欺骗攻击,从而缓存并获取敏感的已认证内容。
performing-web-application-vulnerability-triage
使用 OWASP 风险评级方法论对 DAST/SAST 扫描器的 Web 应用程序漏洞发现进行分类,区分真阳性和假阳性,并确定修复优先级。
performing-web-application-scanning-with-nikto
Nikto 是一款开源 Web 服务器和 Web 应用程序扫描器,可针对超过 7,000 个潜在危险文件/程序进行测试,检查超过 1,250 个服务器的过期版本,并识别超过 270 个服务器的版本特定问题。
performing-web-application-penetration-test
遵循 OWASP Web 安全测试指南(WSTG)方法论,对 Web 应用程序执行系统化安全测试,识别认证、授权、 输入验证、会话管理和业务逻辑中的漏洞。测试人员以 Burp Suite 作为主要拦截代理,结合手动测试技术 发现自动化扫描器遗漏的缺陷。适用于 Web 应用渗透测试、OWASP 测试、应用安全评估或 Web 漏洞测试等请求场景。
performing-web-application-firewall-bypass
使用编码技术、HTTP 方法操控、参数污染和载荷混淆绕过 Web 应用防火墙保护,将 SQL 注入、XSS 及其他攻击载荷穿透 WAF 检测规则。
performing-vulnerability-scanning-with-nessus
使用 Tenable Nessus 执行认证和未认证漏洞扫描,识别网络基础设施、服务器和应用程序中的已知漏洞、 错误配置、默认凭据和缺失补丁。扫描器将发现与 CVE 数据库和 CVSS 评分关联,生成优先级修复指导。 适用于漏洞扫描、Nessus 评估、补丁合规检查或自动化漏洞检测等请求场景。