ramyardaneshgar/Threat-intelligence-investigation-using-OpenCTI
GitHub: ramyardaneshgar/Threat-intelligence-investigation-using-OpenCTI
Stars: 0 | Forks: 0
# 使用 OpenCTI 进行威胁情报调查
使用 OpenCTI 进行威胁情报调查,利用 STIX 2.1、MITRE ATT&CK 和实体关系分析来审查 CaddyWiper 恶意软件和 APT37 威胁行为者。
作者:Ramyar Daneshgar
**重点:** CaddyWiper 恶意软件与 APT37 威胁行为者
**平台:** [OpenCTI](https://www.opencti.io/) – 基于 STIX2 的威胁情报平台
作为一名分析师,我在本次实验中的目标是熟悉 OpenCTI 平台,识别实体,并分析恶意软件、TTP(战术、技术和程序)、威胁行为者和工具之间基于 STIX 定义的关系。每一步都遵循情报驱动的方法论,以提取和验证结构化的威胁信息。
### 任务 1:与 CaddyWiper 相关的最早记录日期是什么?
#### 采取的步骤:
1. 我使用 OpenCTI 的全局搜索栏搜索了 **“CaddyWiper”**,并选择了归类为 **Malware** 的条目。
**原因:** 在 OpenCTI 中,实体分类确保我分析的是正确的 STIX 域对象(`malware`)。这也将我的调查范围限定在相关的属性和关联情报上。
2. 在 CaddyWiper 恶意软件页面内,我选择了 **“Analysis”** 标签。
**原因:** “Analysis” 标签聚合了所有关联的情报报告、事件摘要或分析笔记。这些通常包含诸如 **首次发布日期** 之类的元数据,这对于建立准确的杀伤链时间线和确定对手的作战节奏至关重要。
3. 我找到了具有 **最早发布时间戳** 的报告。
**原因:** 威胁报告的 **发布日期** 通常是活动存在的首个外部证据。追踪首次观测到的日期使我能够将检测机会和历史活动追踪情境化。
#### 答案:
`2022/03/15`
### 任务 2:该恶意软件使用哪种攻击技术进行执行?
#### 采取的步骤:
1. 我导航到 CaddyWiper 配置文件中的 **“Knowledge”** 标签。
**原因:** Knowledge 标签提供了 STIX 2.1 关系的可视化和关系映射。它将恶意软件连接到具体的 MITRE ATT&CK TTP(`uses`、`has`、`implements` 等)。为了进行执行阶段映射,我需要在 ATT&CK 的 “Execution” 战术下定位技术。
2. 我筛选或目视扫描了 **Execution** 战术下的攻击模式。
**原因:** 执行技术描述了恶意代码如何运行。识别确切的 TTP 使防御团队能够根据真实的恶意软件能力编写针对性的检测逻辑(YARA、Sigma、行为检测)。
3. 我识别出了关联的技术:**Native API (T1106)**。
**原因:** “Native API” 意味着通过未公开或文档极少的函数与 OS 内核直接交互 —— 这是隐蔽、低级恶意软件的一个特征。
#### 答案:
`Native API`
### 任务 3:有多少恶意软件关系与此攻击技术相关联?
#### 采取的步骤:
1. 我在 **Attack Patterns** 部分搜索了 **“Native API”** 攻击模式 (T1106)。
**原因:** 每个 ATT&CK 技术都表示为一个 STIX `attack-pattern` 对象。我需要检查有多少 **malware 对象** 使用 `uses` 关系明确链接到 T1106。
2. 我打开了 Native API 配置文件中的 **Knowledge** 标签。
**原因:** 这显示了所有已知关系 —— 包括哪些恶意软件家族与此技术相关联。量化一项技术在恶意软件生态系统中的普及程度至关重要。
3. 我按 **Malware** 实体类型筛选了结果。
**原因:** OpenCTI 存储了多种实体类型(威胁行为者、工具、恶意软件等)的关系。按恶意软件筛选确保我只统计基于软件的对手工具。
#### 答案:
`113`
### 任务 4:2016 年该技术使用了哪 3 种工具?
#### 采取的步骤:
1. 在 Native API (T1106) 配置文件中,我导航到了 Knowledge 标签下的 **Tools** 部分。
**原因:** 诸如 Cobalt Strike、BloodHound 等工具在 OpenCTI 中存储为 `tool` 对象。这些通常被对手使用,并且通常表现出与恶意软件重叠的 TTP。
2. 我按工具的 **首次观测 (Start Time)** 字段进行了排序,并筛选出 **2016 年**。
**原因:** 该任务专门要求查找特定历史时间范围内的工具。关系上的 `start_time` 元数据支持时间过滤 —— 这在分析威胁行为者 TTP 随时间的变化时至关重要。
3. 我记录了 2016 年首次观测到使用 Native API 的工具。
**原因:** 这提供了对攻击性框架和植入程序早期采用特定技术的可见性。
#### 答案:
`BloodHound, Empire, ShimRatReporter`
### 任务 5:APT37 与哪个国家有关联?
#### 采取的步骤:
1. 我搜索了 **APT37** 并打开了 Threat Actor 配置文件。
**原因:** 威胁行为者存储为 `intrusion-set` 或 `threat-actor` 对象。APT37 是公开已知的,其 STIX 配置文件中应有可用的描述性元数据。
2. 我阅读了 **描述** 和相关的 **元数据** 字段。
**原因:** 归因(即民族国家隶属关系)通常在描述或关联的国家身份对象中明确提及。归因是国家层面威胁情报的基础。
#### 答案:
`North Korean`
### 任务 6:APT37 使用哪些攻击技术进行初始访问?
#### 采取的步骤:
1. 在 APT37 配置文件中,我访问了 **Knowledge** 标签以查看 MITRE ATT&CK 矩阵映射。
**原因:** 这通过 APT37 与 TTP 之间建立的 `uses` 关系,提供了对 ATT&CK 对齐技术的直接访问。
2. 我识别了 **Initial Access** 战术下列出的所有技术。
**原因:** Initial Access 代表进入目标网络的切入点。了解对手在此阶段使用的技术有助于定义攻击面暴露并确定边界检测规则的优先级。
3. 我点击进入每个相关技术以验证其 MITRE ID。
**原因:** MITRE 技术 ID(例如 T1189)是标准化的,并在检测平台(EDR、SIEM、XDR)中使用。使用精确的 ID 确保了互操作性和技术准确性。
#### 答案:
`T1189, T1566`
## 汇总表
| 任务 | 目标 | 方法论 | 结果 |
|------|------|-------------|---------|
| 1 | 建立恶意软件起源时间线 | 在 Analysis 标签中审查报告 | 2022/03/15 |
| 2 | 识别执行向量 | 在 Knowledge 标签中进行 ATT&CK 映射 | Native API |
| 3 | 量化技术在恶意软件中的使用情况 | 筛选 T1106 的恶意软件关系 | 113 |
| 4 | 识别历史工具使用情况 | 按 Tool 关系中的 start_time 排序 | BloodHound, Empire, ShimRatReporter |
| 5 | 将行为者归因于民族国家 | 阅读行为者配置文件元数据 | North Korean |
| 6 | 枚举初始访问向量 | 分析 ATT&CK Initial Access 映射 | T1189, T1566 |
## 结论
在这次调查中,我使用 OpenCTI 基于 STIX2 的关系和 MITRE ATT&CK 集成应用了结构化的情报分析方法。每个决策点的驱动需求包括:
- 验证信息来源
- 建立对手 TTP 关联
- 通过 MITRE 对齐保持技术准确性
- 支持检测工程和威胁搜寻用例
标签:APT37, CaddyWiper, Cloudflare, DAST, MITRE ATT&CK, OpenCTI, STIX 2.1, TTP分析, 威胁情报, 安全实验室, 实体关系分析, 开发者工具, 恶意软件分析, 情报调查, 杀伤链, 网络威胁情报