mapping-mitre-attack-techniques
将观察到的对手行为、安全告警和检测规则映射到 MITRE ATT&CK 技术和子技术,以量化检测覆盖率并指导控制优先级。当构建基于 ATT&CK 的覆盖热图、为 SIEM 告警标记技术 ID、将安全控制与对手攻击手册对齐,或向高层报告威胁暴露时使用。适用于涉及 ATT&CK Navigator、Sigma 规则、MITRE D3FEND 或覆盖缺口分析的请求。
Best use case
mapping-mitre-attack-techniques is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
将观察到的对手行为、安全告警和检测规则映射到 MITRE ATT&CK 技术和子技术,以量化检测覆盖率并指导控制优先级。当构建基于 ATT&CK 的覆盖热图、为 SIEM 告警标记技术 ID、将安全控制与对手攻击手册对齐,或向高层报告威胁暴露时使用。适用于涉及 ATT&CK Navigator、Sigma 规则、MITRE D3FEND 或覆盖缺口分析的请求。
Teams using mapping-mitre-attack-techniques 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/mapping-mitre-attack-techniques/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How mapping-mitre-attack-techniques Compares
| Feature / Agent | mapping-mitre-attack-techniques | 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?
将观察到的对手行为、安全告警和检测规则映射到 MITRE ATT&CK 技术和子技术,以量化检测覆盖率并指导控制优先级。当构建基于 ATT&CK 的覆盖热图、为 SIEM 告警标记技术 ID、将安全控制与对手攻击手册对齐,或向高层报告威胁暴露时使用。适用于涉及 ATT&CK Navigator、Sigma 规则、MITRE D3FEND 或覆盖缺口分析的请求。
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
# 映射 MITRE ATT&CK 技术
## 适用场景
在以下情况下使用本技能:
- 生成 ATT&CK 覆盖热图,展示检测栈涵盖的技术
- 用 ATT&CK 技术 ID 标记现有 SIEM 用例或 Sigma 规则,用于结构化报告
- 将安全计划路线图与已知针对您所在行业的特定对手组织对齐
**请勿使用**本技能进行实时事件分类——ATT&CK 映射是一项分析活动,最好在检测后或威胁猎捕规划期间执行。
## 前置条件
- 访问 MITRE ATT&CK 知识库(https://attack.mitre.org)或本地 ATT&CK STIX 数据包
- ATT&CK Navigator Web 应用或本地安装(https://mitre-attack.github.io/attack-navigator/)
- 评估当前覆盖率的现有检测规则清单(Sigma、Splunk、Sentinel KQL)
- ATT&CK Python 库:`pip install mitreattack-python`
## 工作流程
### 步骤 1:获取当前 ATT&CK 数据
下载相关矩阵(Enterprise、Mobile、ICS)的最新 ATT&CK STIX 包:
```bash
curl -o enterprise-attack.json \
https://raw.githubusercontent.com/mitre/cti/master/enterprise-attack/enterprise-attack.json
```
使用 mitreattack-python 库以编程方式查询技术:
```python
from mitreattack.stix20 import MitreAttackData
mitre = MitreAttackData("enterprise-attack.json")
techniques = mitre.get_techniques(remove_revoked_deprecated=True)
for t in techniques[:5]:
print(t["external_references"][0]["external_id"], t["name"])
```
### 步骤 2:将现有检测映射到技术
对于每个 SIEM 规则或 Sigma 文件,分配 ATT&CK 技术 ID。Sigma 规则支持原生 ATT&CK 标记:
```yaml
tags:
- attack.execution
- attack.t1059.001 # PowerShell
- attack.t1059.003 # Windows 命令行
```
创建覆盖矩阵:列出每个技术 ID 并标记为:已检测(告警触发)、已记录(数据存在但无告警)、盲点(无数据源)。
### 步骤 3:使用威胁情报优先化覆盖缺口
将覆盖缺口与针对您所在行业的对手组织进行交叉参考。使用 ATT&CK 组织数据:
```python
groups = mitre.get_groups()
apt29 = mitre.get_object_by_attack_id("G0016", "groups")
apt29_techniques = mitre.get_techniques_used_by_group(apt29)
for t in apt29_techniques:
print(t["object"]["external_references"][0]["external_id"])
```
优先为高优先级威胁组织使用的技术添加检测,尤其是覆盖盲点处。
### 步骤 4:构建 Navigator 热图
将覆盖评分导出为 ATT&CK Navigator JSON 层:
```python
import json
layer = {
"name": "SOC 检测覆盖 Q1 2025",
"versions": {"attack": "14", "navigator": "4.9", "layer": "4.5"},
"domain": "enterprise-attack",
"techniques": [
{"techniqueID": "T1059.001", "score": 100, "comment": "Splunk 规则:PS_Encoded_Command"},
{"techniqueID": "T1071.001", "score": 50, "comment": "仅记录,无告警"},
{"techniqueID": "T1055", "score": 0, "comment": "无覆盖——盲点"}
],
"gradient": {"colors": ["#ff6666", "#ffe766", "#8ec843"], "minValue": 0, "maxValue": 100}
}
with open("coverage_layer.json", "w") as f:
json.dump(layer, f)
```
将层导入 ATT&CK Navigator(https://mitre-attack.github.io/attack-navigator/)进行可视化。
### 步骤 5:生成高层覆盖报告
按战术类别(初始访问、执行、持久化等)汇总覆盖率,包含数量和百分比。根据对手组织使用频率提供风险排名的前 10 盲点技术列表。推荐添加数据源(例如"启用 PowerShell 脚本块日志记录以解决 12 个执行子技术缺口")。
## 核心概念
| 术语 | 定义 |
|------|-----------|
| **ATT&CK 技术** | 以 T 号码标识的特定对手方法(例如 T1059 = 命令和脚本解释器) |
| **子技术** | 技术的更细粒度变体(例如 T1059.001 = PowerShell,T1059.003 = Windows 命令行) |
| **战术** | ATT&CK 中的对手目标类别:初始访问、执行、持久化、权限提升、防御规避、凭据访问、发现、横向移动、收集、C&C、数据渗出、影响 |
| **数据源** | ATT&CK v10+ 组件,标识检测技术所需的遥测(例如进程创建、网络流量) |
| **覆盖评分** | 表示技术检测完整性的数值(0-100):0=盲点,50=仅记录,100=已告警 |
| **MITRE D3FEND** | 补充 ATT&CK 的防御对策本体——将防御技术映射到其缓解的攻击技术 |
## 工具与系统
- **ATT&CK Navigator**:基于浏览器的热图可视化工具,用于在 ATT&CK 矩阵上分层显示覆盖评分和注释
- **mitreattack-python**:MITRE 官方 Python 库,用于以编程方式访问 ATT&CK STIX 数据(技术、组织、软件、缓解措施)
- **Atomic Red Team**:提供原子测试用例的 MITRE 对齐测试库,用于验证每种技术的检测
- **Sigma**:支持 ATT&CK 标记的检测规则格式;可转换为 Splunk、Sentinel、QRadar、Elastic
- **ATT&CK Workbench**:用于维护自定义技术扩展的自托管 ATT&CK 知识库
## 常见陷阱
- **过度声明覆盖**:记录数据源(例如进程创建事件)并不意味着检测到相关技术——规则必须实际针对恶意模式触发。
- **仅在战术级别映射**:将规则标记为"attack.execution"而没有具体技术 ID 会阻止细粒度缺口分析。
- **忽视子技术**:许多对手使用特定子技术。T1059(父技术)的覆盖并不意味着 T1059.005(Visual Basic)的覆盖。
- **不更新的静态映射**:ATT&CK 每年发布主要版本。随着技术被添加、修改或弃用,覆盖图会过时。
- **不映射到对手组织**:通用覆盖图无法区分针对您所在行业的 APT 使用的技术与商品恶意软件。Related Skills
recovering-from-ransomware-attack
按照 NIST 和 CISA 框架执行结构化勒索软件事件恢复,包括环境隔离、取证证据保全、 干净基础设施重建、从已验证备份优先还原系统、凭据重置,以及针对再感染的验证。 涵盖 Active Directory 恢复、数据库还原和按依赖顺序重建应用栈。
performing-web-cache-poisoning-attack
在授权安全测试期间,通过未纳入缓存键的头部和参数毒化缓存响应,利用 Web 缓存机制向其他用户投递恶意内容。
performing-web-cache-deception-attack
通过利用 CDN 缓存层与源服务器之间的路径规范化差异,执行 Web 缓存欺骗攻击,从而缓存并获取敏感的已认证内容。
performing-vlan-hopping-attack
在授权环境中使用交换机欺骗(Switch Spoofing)和双标签(Double Tagging)技术模拟 VLAN 跳转攻击, 测试 VLAN 分段有效性,并验证交换机端口安全配置对二层旁路攻击的抵御能力。
performing-supply-chain-attack-simulation
模拟和检测软件供应链攻击,包括通过 Levenshtein 距离检测域名抢注(Typosquatting)、针对私有注册表的依赖混淆(Dependency Confusion)测试、使用 pip 进行包哈希验证,以及使用 pip-audit 扫描已知漏洞。
performing-ssl-stripping-attack
在授权环境中使用 sslstrip、Bettercap 和 mitmproxy 模拟 SSL 剥离(SSL Stripping)攻击, 测试 HSTS 强制执行、证书验证以及保护用户免受加密连接降级攻击的 HTTPS 升级机制。
performing-packet-injection-attack
在授权安全评估中使用 Scapy、hping3 和 Nemesis 构造并注入自定义网络数据包, 测试防火墙规则、IDS 检测、协议处理能力以及网络协议栈对畸形和伪造流量的抵御能力。
performing-kerberoasting-attack
Kerberoasting 是一种后渗透技术,通过为设置了服务主体名称(SPN)的账户请求 Kerberos TGS 票据来针对活动目录中的服务账户。这些票据用服务账户的 NTLM 哈希加密,允许在不产生登录失败事件的情况下进行离线暴力破解。
performing-jwt-none-algorithm-attack
通过操纵 JSON Web Token 中的 alg 头部字段,执行并测试 JWT None 算法攻击,以绕过签名验证。
performing-http-parameter-pollution-attack
执行 HTTP 参数污染(HPP)攻击,通过注入由前端和后端系统以不同方式处理的重复参数,绕过输入验证、WAF 规则和安全控制。
performing-graphql-depth-limit-attack
使用深度嵌套递归查询执行和测试 GraphQL 深度限制攻击,以识别 GraphQL API 中的拒绝服务(DoS)漏洞。
performing-csrf-attack-simulation
在授权安全评估中,通过构造利用已认证用户会话的伪造请求,测试 Web 应用程序的跨站请求伪造(CSRF)漏洞。