# Hunting Advanced Persistent Threats

> 在企业环境中使用基于假设的搜索，跨终端遥测、网络日志和内存产物，主动猎捕高级持续性威胁（APT）活动。适用于开展定期威胁猎捕周期、调查 UEBA 标记的异常行为，或验证已知 APT TTP 在环境中不存在时。适用于涉及 MITRE ATT&CK、Velociraptor、osquery、Zeek 或威胁猎捕剧本的请求。

- Skill: `killvxk/hunting-advanced-persistent-threats` (Agent Skill, multi-file: 4 files)
- Install (CLI): `npx skillmds@latest add killvxk/hunting-advanced-persistent-threats`
- Raw SKILL.md: https://api.skillmd.com/api/skills/killvxk/hunting-advanced-persistent-threats/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/hunting-advanced-persistent-threats

---

# 猎捕高级持续性威胁

## 适用场景

在以下情况下使用本技能：
- 基于新发布的 APT 情报开展主动威胁猎捕冲刺（通常为 2-4 周周期）
- UEBA 告警或异常检测系统标记需要深入调查的行为偏差
- 同行组织或 ISAC 共享合作伙伴报告活跃 APT 入侵，需要验证自身暴露情况

**请勿使用**本技能替代确认泄露正在进行时的事件响应——应上报至 IR 程序（NIST SP 800-61）。

## 前置条件

- 具有遥测数据保留的 EDR 平台（CrowdStrike Falcon、Microsoft Defender for Endpoint 或 SentinelOne），覆盖 30 天以上
- 可访问 MITRE ATT&CK Navigator 用于假设开发
- 在可查询 SIEM 中的网络流数据（NetFlow、Zeek 或 Suricata 日志）
- 威胁猎捕平台或查询界面（Velociraptor、osquery 集群或 Splunk ES）

## 工作流程

### 步骤 1：制定猎捕假设

使用 MITRE ATT&CK 组织（https://attack.mitre.org/groups/）选择与您所在行业相关的威胁行为者。查看该组织已知的 TTP 映射到 ATT&CK 技术。示例假设："APT29（Cozy Bear）使用带 ISO 附件的鱼叉式网络钓鱼（T1566.001）和离地攻击二进制文件（T1218）——测试异常的 mshta.exe 和 rundll32.exe 父子关系。"

使用威胁猎捕循环框架记录假设：假设 → 数据收集 → 模式分析 → 响应。

### 步骤 2：识别所需数据源

使用 ATT&CK 数据源分类将每个 ATT&CK 技术映射到所需日志源：
- 进程创建（T1059）：Windows 安全事件 4688 或 Sysmon 事件 ID 1
- 网络连接（T1071）：Zeek conn.log、NetFlow、EDR 网络遥测
- 注册表修改（T1547）：Sysmon 事件 ID 13、Windows 安全 4657
- 内存注入（T1055）：EDR 内存扫描遥测、Volatility 输出

使用 ATT&CK 覆盖率计算器或自定义数据源矩阵验证日志覆盖情况。

### 步骤 3：使用 Velociraptor 或 osquery 执行猎捕

**Velociraptor VQL 猎捕**异常 PowerShell 执行：
```vql
SELECT Pid, Ppid, Name, CommandLine, CreateTime
FROM pslist()
WHERE Name =~ "powershell.exe"
AND CommandLine =~ "-enc|-nop|-w hidden"
```

**osquery** 检测通过计划任务实现的持久化：
```sql
SELECT name, action, enabled, path
FROM scheduled_tasks
WHERE action NOT LIKE '%System32%'
AND enabled = 1;
```

**Splunk SPL** 检测通过 PsExec 的横向移动：
```spl
index=windows EventCode=7045 ServiceFileName="*PSEXESVC*"
| stats count by ComputerName, ServiceName, ServiceFileName
```

### 步骤 4：分析结果并进行枢纽

对于识别出的每个异常，在多个维度进行枢纽：
- 时间：这是否发生在已知 IOC 时间戳之前或之后？
- 主机：有多少终端表现出此行为？
- 用户：关联账户是服务账户、特权用户还是普通用户？
- 网络：该主机是否与不在基线中的外部 IP 通信？

应用菱形模型（对手、能力、基础设施、受害者）构建调查发现。

### 步骤 5：记录并将发现运营化

如果猎捕发现确认的恶意活动，激活 IR 程序。如果猎捕发现缺口（猎捕未发现任何内容但数据覆盖不足），记录覆盖缺口并进行修复。

将成功的猎捕查询转换为 Sigma 格式的 SIEM 检测规则，以实现跨平台可移植性。

## 核心概念

| 术语 | 定义 |
|------|------|
| **TTP** | 战术、技术和过程——MITRE ATT&CK 中定义的对手行为模式 |
| **菱形模型** | 包含四个顶点（对手、能力、基础设施、受害者）的分析框架，用于构建入侵分析 |
| **离地攻击（LotL）** | 攻击者使用合法操作系统工具（PowerShell、WMI、certutil）规避检测的技术 |
| **UEBA** | 用户和实体行为分析——基于 ML 检测异常行为基线 |
| **Sigma** | 与 SIEM 无关的检测规则格式的开放标准，类似于网络/日志检测中的 YARA |
| **猎捕假设** | 基于威胁情报和环境知识，对对手存在的可测试预测 |

## 工具与系统

- **Velociraptor**：具有 VQL 查询语言的开源 DFIR 平台，可在数千个系统上进行可扩展的终端猎捕
- **osquery**：基于 SQL 的 OS 检测框架，用于实时终端遥测查询
- **MITRE ATT&CK Navigator**：基于 Web 的工具，用于可视化 ATT&CK 覆盖率和技术优先级
- **Zeek（前身为 Bro）**：生成结构化日志（conn、dns、http、ssl）的网络流量分析器，适合猎捕
- **Elastic Security**：EQL（事件查询语言）支持针对多阶段攻击模式的基于序列的猎捕
- **Sigma**：带有 Splunk、QRadar、Sentinel 和 Elastic 转换器的检测规则格式

## 常见陷阱

- **确认偏见**：开始猎捕时期望发现某些内容，并将良性数据解读为恶意。记录空结果——它们验证了控制措施。
- **日志保留不足**：许多 APT 技术需要 90 天以上的日志历史才能识别缓慢低调的模式。默认保留期通常太短。
- **无基线猎捕**：在不了解正常情况的前提下无法识别异常。在猎捕前花时间进行基线文档化。
- **查询性能影响**：在工作时间对生产 SIEM 执行大范围查询可能降低分析师工作流效率。在非高峰时段安排密集猎捕。
- **系统性忽视误报**：跟踪每个查询的误报率。误报率 >80% 的查询在运营化前应进行优化或淘汰。

