大家好,致力于系统化分析的安全研究员们! 🕵️♂️
直到上次,我们拆解了恶意代码(静态分析),执行了它(动态分析),并通过可视化日志揭露了犯罪事实的每一个细节。现在,你的笔记里可能充满了诸如“向注册表Run键写入了值”、“用cmd.exe删除了卷影副本”之类的原始证据。
但是,如果你需要将这些内容报告给美国的安保团队,或者我们公司的管理层,该怎么办呢?如果只说,“呃……那个文件乱写乱删了一些东西!”,肯定没人能听懂吧? 😅
这时,就需要一种全球安全专家通用的“标准语言”。它就是MITRE ATT&CK(迈特攻击)框架。
今天,我们将详细了解这个像百科全书一样整理了黑客攻击技术的框架是什么,以及我们如何将发现的恶意行为“映射(Mapping)”到这个框架中。 🗺️

1. 什么是MITRE ATT&CK? 🌍
MITRE ATT&CK是Adversarial Tactics, Techniques, and Common Knowledge的缩写。简单来说,它是一个“汇集了敌方(黑客)在攻击时使用的战术和技术的全球通用知识库”。
如果化学有“元素周期表”,那么网络安全就有“ATT&CK矩阵”。它将黑客从入侵到窃取信息的所有过程按阶段进行了分类。
该框架的核心结构由三个要素组成,被称为TTPs。
📌 TTPs结构(核心!)
- Tactic (战术 – WHY): 攻击者的目标是什么?
- 例:“我想持续留在这个系统里(持久化)”,“我想窃取密码(凭据访问)”
- Technique (技术 – HOW): 为了实现该目标,使用了什么方法?
- 例:“我将把文件藏在启动程序文件夹里”,“我将进行键盘记录”
- Procedure (步骤 – EXACTLY HOW): 实现该技术的具体行为是什么?
- 例:setup.exe在注册表HKCURun键中输入了malware.exe的路径。
2. 概览14种主要战术 (Tactics) 🏗️
根据攻击流程(生命周期),共有14个阶段。我们首先需要确定我们分析的行为属于其中哪一个。
- Reconnaissance (侦察): 攻击前的信息收集
- Resource Development (资源开发): 准备攻击工具(如购买服务器)
- Initial Access (初始访问): 首次进入系统的阶段(如钓鱼邮件等)
- Execution (执行): 恶意代码执行
- Persistence (持久化): 重启后仍能存活 ⭐ (在恶意代码分析中常见)
- Privilege Escalation (权限提升): 获取管理员权限
- Defense Evasion (防御规避): 躲避杀毒软件或日志检测 ⭐
- Credential Access (凭据访问): 窃取ID/密码
- Discovery (发现): 了解内部网络结构
- Lateral Movement (横向移动): 移动到相邻的PC或服务器
- Collection (收集): 收集重要数据
- Command and Control (C2): 与黑客服务器通信并接收命令 ⭐
- Exfiltration (数据窃取): 将数据传出外部
- Impact (影响): 系统破坏(如勒索软件加密等)
3. [实践理论] 将我的分析结果转换为ID(映射方法) 🔄
好了,现在让我们模拟一下将我们在之前的实践中发现的日志转换为MITRE ATT&CK ID的过程。这个过程就是“映射”。
📝 案例1:注册表自动运行注册
- 观察到的行为: malware.exe向HKCUSoftwareMicrosoftWindowsCurrentVersionRun键添加了值。
- 第1步 (Why – 战术): 为什么这么做? ➡️ 为了重启后也能执行! ➡️ Persistence (TA0003)
- 第2步 (How – 技术): 怎么做的? ➡️ 动了注册表运行键! ➡️ Boot or Logon Autostart Execution (T1547)
- 第3步 (Detail – 详细技术): 更具体地说? ➡️ Registry Run Keys / Startup Folder (T1547.001)
👉 结果: 此行为是T1547.001技术。
📝 案例2:删除卷影副本
- 观察到的行为: 执行命令:cmd.exe /c vssadmin.exe Delete Shadows /All /Quiet。
- 第1步 (Why – 战术): 为什么这么做? ➡️ 为了阻止恢复! (对系统造成影响) ➡️ Impact (TA0040)
- 第2步 (How – 技术): 怎么做的? ➡️ 破坏了系统恢复功能! ➡️ Inhibit System Recovery (T1490)
👉 结果: 此行为是T1490技术。
4. 为什么非要这样映射呢? 🤷
“直接写出来不就行了吗,为什么要记住T1547这样的编号呢?”
- 全球通用语言: 如果韩国的分析师写下“发现T1547”,美国的监控人员也会立即明白:“啊,注册表被动过了。”
- 攻击组织归因 (Attribution):
- 恶意代码A:使用T1059, T1547, T1071
- 朝鲜黑客组织(Lazarus):平时喜欢使用T1059, T1547, T1071
- 结论: 可以推断,“此恶意代码很可能是Lazarus所为!”
- 制定防御策略: 可以制定具体的对策,例如:“我们公司容易受到T1547(注册表)攻击。让我们制定检测规则来阻止它。”
- MITRE ATT&CK官网: 在搜索框中输入“Registry”、“PowerShell”等关键词,它会帮你找到相应的技术ID。
- MITRE ATT&CK Navigator: 一个可视化工具,可以在网页上像Excel一样对攻击技术进行着色和整理。
- 利用AI: 这是我们最擅长的,对吧?让AI“找出与此日志行为对应的MITRE ATT&CK ID”,它会在一秒钟内找到。
- Before: “文件被随意创建,注册表被修改,并与一个奇怪的服务器通信。”
- After: “该样本正在执行持久化(T1547.001),并建立了C2(T1071)通道。”
5. 小贴士:不要全部记住!使用工具 🛠️
你不可能记住所有14种战术和600多种技术。(我也记不住!😵)
🎉 结语:报告撰写的最后一块拼图 🧩
今天,我们学习了将恶意行为转换为“标准化ID”的理论。
现在,你的分析笔记将变成这样:
是不是听起来很专业? 😎
现在,所有准备工作都已完成。下期,万众期待的结局篇!我们将在[实践]“整合所有分析信息和ATT&CK ID,自动生成完美的恶意代码分析报告”一集中再见。
直到你的分析成为世界标准的那一天!加油! 🛡️✨
发表回复