# Detecting Process Hollowing Technique

> 通过分析内存映射节区、进程镂空指标以及 EDR 遥测中的父子进程异常，检测进程镂空技术（T1055.012）。

- Skill: `killvxk/detecting-process-hollowing-technique` (Agent Skill, multi-file: 8 files)
- Install (CLI): `npx skillmds@latest add killvxk/detecting-process-hollowing-technique`
- Raw SKILL.md: https://api.skillmd.com/api/skills/killvxk/detecting-process-hollowing-technique/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/detecting-process-hollowing-technique

---


# 检测进程镂空技术

## 适用场景

- 调查疑似无文件恶意软件或内存驻留威胁时
- EDR 告警进程注入或可疑内存操作后
- 在已遭入侵的环境中狩猎防御规避技术时
- 威胁情报显示活跃攻击活动中使用进程镂空技术时
- 紫队演练验证 T1055.012 检测覆盖范围期间

## 前置条件

- 具备内存保护监控能力的 EDR（CrowdStrike、MDE、SentinelOne）
- 配置了事件 ID 1（进程创建）、8（CreateRemoteThread）、25（ProcessTampering）的 Sysmon v13+
- 进程镂空的 Windows ETW 提供程序（Microsoft-Windows-Kernel-Process）
- 内存取证能力（Volatility、WinDbg）
- 进程完整性监控工具

## 工作流程

1. **了解镂空机制**：进程镂空（Process Hollowing）包括以挂起状态创建合法进程、取消映射其内存、写入恶意代码，然后恢复执行。
2. **监控挂起进程创建**：狩猎以 CREATE_SUSPENDED 标志创建的进程，随后跟随内存写入和线程恢复操作。
3. **检测内存节区异常**：识别内存中映像与磁盘上二进制文件不一致的进程（镜像不匹配）。
4. **分析父子进程树**：标记行为与其二进制名称不符的进程（例如，svchost.exe 发起异常网络连接）。
5. **检查进程完整性**：将进程内存节区与磁盘上的合法二进制文件进行比对。
6. **与网络活动关联**：被镂空的进程通常会建立 C2 连接，将可疑进程行为与网络日志相关联。
7. **记录并遏制**：报告发现结果，隔离受影响的终端，并更新检测规则。

## 核心概念

| 概念 | 描述 |
|------|------|
| T1055.012 | 进程注入：进程镂空（Process Hollowing） |
| T1055 | 进程注入（父技术） |
| T1055.001 | DLL 注入 |
| T1055.003 | 线程执行劫持 |
| T1055.004 | 异步过程调用 |
| CREATE_SUSPENDED | 以挂起状态创建进程的 Windows 标志 |
| NtUnmapViewOfSection | 取消映射进程内存节区的 API |
| WriteProcessMemory | 向其他进程内存写入数据的 API |
| ResumeThread | 恢复挂起线程的 API |
| 镜像不匹配 | 进程内存内容与磁盘上的二进制文件不同 |
| 进程替身（Process Doppelganging） | 使用 NTFS 事务的相关技术（T1055.013） |

## 工具与系统

| 工具 | 用途 |
|------|------|
| CrowdStrike Falcon | 内存保护和镂空检测 |
| Microsoft Defender for Endpoint | ProcessTampering 告警 |
| Sysmon v13+ | 事件 ID 25 ProcessTampering 检测 |
| Volatility | 内存取证——malfind 插件 |
| pe-sieve | 扫描被镂空进程的内存 |
| Hollows Hunter | 自动化被镂空进程检测 |
| Process Hacker | 实时进程内存检查 |
| API Monitor | 监控 NtUnmapViewOfSection 调用 |

## 常见场景

1. **场景 1**：Svchost.exe 镂空——恶意软件以挂起状态创建 svchost.exe，对其镂空并注入后门代码，进程看起来合法但行为恶意。
2. **场景 2**：Explorer.exe 镂空——攻击者镂空 explorer.exe 以继承其网络权限和受信进程上下文。
3. **场景 3**：Rundll32 镂空——恶意加载程序创建 rundll32.exe，用植入代码替换其内存以进行 C2 信标通信。
4. **场景 4**：多阶段镂空——加载程序将进程镂空作为第一阶段，随后对服务执行额外注入。

## 输出格式

```
Hunt ID: TH-HOLLOW-[DATE]-[SEQ]
Technique: T1055.012
Hollowed Process: [进程名和 PID]
Original Binary: [磁盘上的预期路径]
Parent Process: [父进程名和 PID]
Memory Mismatch: [是/否]
Suspicious APIs: [NtUnmapViewOfSection、WriteProcessMemory 等]
Network Activity: [C2 连接（如有）]
Host: [主机名]
User: [账户上下文]
Risk Level: [Critical/High/Medium/Low]
```

