# Analyzing Heap Spray Exploitation

> 使用 Volatility3 插件在内存转储中检测和分析堆喷射攻击，识别 NOP sled 模式、shellcode 落地区域以及进程虚拟地址空间中的可疑大型分配。

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

---

# 分析堆喷射（Heap Spray）利用

## 概述

堆喷射（Heap Spray）是一种利用技术，将攻击者控制的数据（通常是 NOP sled 后跟 shellcode）填充到进程堆的大面积区域，以提高代码执行漏洞利用的可靠性。本技能涵盖使用 Volatility3 的 malfind、vadinfo 和 memmap 插件在内存转储中检测堆喷射工件、识别可疑连续内存分配、扫描 NOP sled 模式（0x90、0x0c0c0c0c）以及提取嵌入的 shellcode 进行分析。

## 前置条件

- Python 3.9+，安装 `volatility3` 框架
- 内存转储文件（.raw、.vmem、.dmp 格式）
- 了解虚拟内存布局和 VAD（虚拟地址描述符）树
- 熟悉常见的 shellcode 模式和 NOP sled 编码

## 工作流程

### 步骤 1：识别可疑进程
使用 Volatility3 的 windows.malfind 扫描具有可执行注入内存区域的进程。

### 步骤 2：分析 VAD 条目
使用 windows.vadinfo 检查 VAD 树条目，查找具有 RWX 权限的大型连续分配。

### 步骤 3：扫描 NOP Sled 模式
在可疑内存区域中搜索 NOP sled 签名（0x90 序列、0x0c0c0c0c 模式）。

### 步骤 4：提取和分析 Shellcode
转储可疑内存区域，使用字节模式分析识别 shellcode。

## 输出格式

JSON 报告，包含可疑进程、堆喷射指标、NOP sled 位置、内存区域大小和提取的 shellcode 哈希值。

