Windows 进程注入技术集合
English | 简体中文
全面收集 41 种 Windows 进程注入技术的 C 语言实现,涵盖经典方法到前沿研究。
📖 核心参考: 本项目基于 itaymigdal/awesome-injection 项目中整理的技术列表和研究资料进行实现和测试。
本仓库包含 Windows 进程注入技术的完整实现,从基础概念到高级规避方法系统化组织。每个技术都是独立实现,配有详细文档,解释底层机制、检测策略和实际应用。
这不是渗透测试框架。不是红队工具包。这是用于理解 Windows 内部机制、安全研究和防御性编程的参考实现。
- 41 种技术实现: 100% 真实可用代码
- 编程语言: 纯 C 语言,最小化依赖
- 目标平台: Windows x64(部分支持 x86)
- 构建系统: MinGW/GCC 兼容
利用 Windows 进程创建机制的高级攻击:
- Process Hollowing - 进程镂空 ✅
- Transacted Hollowing - 事务镂空 ✅
- Process Doppelgänging - 进程伪装 ❌
- Process Herpaderping - 进程篡改 ✅
- Process Ghosting - 进程幽灵化 ✅
在进程/线程初始化阶段劫持执行流:
- Early Bird APC - 早期鸟 APC 注入 ✅
- Entry Point Injection - 入口点注入 ✅
- DLL Blocking (Ruy-Lopez) - DLL 阻断注入 ✅
- Early Cascade - 早期级联注入 ✅
- Kernel Callback Table - 内核回调表注入 ✅
Windows 注入技术的基础方法:
- Advanced Hollowing - 高级镂空 ✅
- DLL Injection - DLL 注入 ✅
- Shellcode Injection - Shellcode 注入 ✅
- SetWindowsHookEx - 钩子注入 ✅
- Reflective DLL Injection - 反射式 DLL 注入 ✅
- PE Injection - PE 注入 ✅
- Mapping Injection - 映射注入 ❌
- APC Queue Injection - APC 队列注入 ✅
- Thread Hijacking - 线程劫持 ✅
- Atom Bombing - 原子轰炸 ❌
绕过现代安全防护的创新方法:
- Mockingjay - RWX 节区注入 ✅
- PowerLoaderEx - 共享桌面堆注入 ❌
- Threadless Inject - 无线程注入 ✅
- EPI - DLL 入口点劫持注入 ✅
- DLL Notification Injection - DLL 通知回调注入 ✅
- Module Stomping - 模块践踏注入 ✅
- Gadget APC Injection - Gadget APC 注入 ✅
- Process Forking (Dirty Vanity) - 进程分叉注入 ✅
- Function Stomping - 函数践踏注入 ✅
- Caro-Kann - 加密 Shellcode 内存扫描规避
⚠️ - Stack Bombing - 栈轰炸注入
⚠️
2023-2024 年最新安全研究成果:
- GhostInjector - 幽灵注入器 ❌
- GhostWriting - 幽灵写入 ❌
- GhostWriting-2 - 改进版幽灵写入 ❌
- Mapping Injection - 映射注入(增强版)
- SetProcessInjection - ProcessInstrumentationCallback 注入
- PoolParty - Windows 线程池注入(TP_WORK/TP_WAIT/TP_TIMER/TP_IO/TP_JOB/TP_ALPC/TP_DIRECT)✅
- Thread Name-Calling - 线程名称注入 ❌
- Waiting Thread Hijacking - 等待线程劫持 ✅
- RedirectThread - CONTEXT-Only 注入(ROP Gadget + DLL 指针注入)
⚠️ - LdrShuffle - EntryPoint 劫持 ✅
Injection/
├── techniques/
│ ├── 01-process-hollowing/
│ ├── 02-transacted-hollowing/
│ ├── ...
│ └── 41-ldrshuffle/
│ ├── src/
│ │ └── ldrshuffle.c
│ ├── build.bat
│ └── README.md
├── README.md
└── TECHNIQUE_VERIFICATION.md
每个技术目录包含:
- src/: 完整源代码实现
- build.bat/build.sh: 独立构建脚本
- README.md: 详细技术文档
- 可执行文件: 编译后的二进制文件
- MinGW-w64(Windows 版 GCC)
- Windows SDK 头文件
cd techniques\01-process-hollowing
build.batfor /d %d in (techniques\*) do (
if exist "%d\build.bat" (
cd "%d" && call build.bat && cd ..\..
)
)每个技术都是独立可执行文件,演示注入方法:
cd techniques\41-ldrshuffle
ldrshuffle.exe大多数实现包含:
- 详细输出: 显示注入过程的每一步
- 错误处理: 解释操作失败的原因
- 安全检查: 执行前验证前置条件
- README.md: 本文件 - 项目概览(中文)
- README_EN.md: 英文版项目概览
- TECHNIQUE_VERIFICATION.md: 所有 41 种技术的详细技术分解
- techniques/XX-name/README.md: 单个技术的深入解析,包含执行流程图
本仓库仅用于教育和防御性安全研究。
这些技术的实现目的是:
- 理解 Windows 安全内部机制
- 开发检测策略
- 改进端点保护
- 培训安全专业人员
未经授权使用这些技术进行非法访问是违法和不道德的。
本项目的每个技术都基于原始研究实现。以下是所有参考仓库的完整列表(按技术编号排序):
- m0n0ph1/Process-Hollowing - Process Hollowing
- hasherezade/transacted_hollowing - Transacted Hollowing
- hasherezade/process_doppelganging - Process Doppelgänging
- jxy-s/herpaderping - Process Herpaderping
- hasherezade/process_ghosting - Process Ghosting
- S3cur3Th1sSh1t/Caro-Kann - Early Bird APC (包含 Ruy-Lopez/HookForward)
- diversenok/Suspending-Techniques - Entry Point Injection (AddressOfEntryPoint-injection)
- S3cur3Th1sSh1t/Caro-Kann - DLL Blocking (包含 Ruy-Lopez/DllBlock)
- Cracked5pider/earlycascade-injection - Early Cascade
- 0xHossam/KernelCallbackTable-Injection-PoC - Kernel Callback Table
- itaymigdal/PichichiH0ll0wer - Advanced Hollowing
- stephenfewer/ReflectiveDLLInjection - DLL Injection (也用于反射式DLL注入)
- rapid7/metasploit-framework - Shellcode Injection (参考)
- hfiref0x/WinObjEx64 - SetWindowsHookEx (参考)
- stephenfewer/ReflectiveDLLInjection - Reflective DLL Injection
- AlSch092/PE-Injection - PE Injection
- hasherezade/process_doppelganging - Mapping Injection (参考)
- 0xflux/Rust-APC-Queue-Injection - APC Queue Injection (Rust)
- BreakingMalwareResearch/atom-bombing - Thread Hijacking
- BreakingMalwareResearch/atom-bombing - Atom Bombing
- caueb/Mockingjay - Mockingjay
- BreakingMalware/PowerLoaderEx - PowerLoaderEx
- CCob/ThreadlessInject - Threadless Inject
- Kudaes/EPI - EPI
- Dec0ne/DllNotificationInjection 和 ShorSec/DllNotificationInjection - DLL Notification Injection
- d1rkmtrr/D1rkInject - Module Stomping
- LloydLabs/ntqueueapcthreadex-ntdll-gadget-injection - Gadget APC Injection
- deepinstinct/Dirty-Vanity - Process Forking
- Idov31/FunctionStomping - Function Stomping
- S3cur3Th1sSh1t/Caro-Kann - Caro-Kann
- maziland/StackBombing - Stack Bombing
- woldann/GhostInjector - GhostInjector (依赖: NThread, NThreadOSUtils, Neptune)
- c0de90e7/GhostWriting - GhostWriting
- fern89/ghostwriting-2 - GhostWriting-2
- antonioCoco/Mapping-Injection - Mapping Injection (增强版)
- OtterHacker/SetProcessInjection - SetProcessInjection
- SafeBreach-Labs/PoolParty - PoolParty
- hasherezade/thread_namecalling - Thread Name-Calling
- hasherezade/waiting_thread_hijacking - Waiting Thread Hijacking
- Friends-Security/RedirectThread - RedirectThread
- RWXstoned/LdrShuffle - LdrShuffle
- itaymigdal/awesome-injection - 本项目的核心参考资源,提供了全面的Windows进程注入技术列表和研究方向。我们的41种技术实现主要基于该项目整理的技术分类和参考资料。
- @hasherezade - 在 Windows 进程注入领域的多项开创性研究(Process Doppelgänging, Transacted Hollowing, Process Ghosting, Waiting Thread Hijacking, Thread Name-Calling)
- SafeBreach Labs - PoolParty 技术套件的完整实现
- @RWXstoned - LdrShuffle EntryPoint 劫持技术
- Friends-Security - RedirectThread CONTEXT-Only 注入研究
- @stephenfewer - Reflective DLL Injection,现代内存注入的基石
- BreakingMalware Research - AtomBombing 和 PowerLoaderEx
- @jxy-s - Process Herpaderping 时序攻击
- @m0n0ph1 - Process Hollowing 经典实现
- @CCob - Threadless Inject 无线程注入
- @Idov31 - Function Stomping 技术
- @S3cur3Th1sSh1t - Caro-Kann 加密规避
- @antonioCoco - Mapping Injection 增强版
- 所有其他研究者 - 在各自领域的贡献
- Pinvoke.net - Win32 API 参考
- Undocumented NT Functions
- Windows Internals Book Series by Mark Russinovich
- Black Hat 2019 - Process Injection Techniques
- DEF CON 23 - Injection on Steroids
本项目使用 Claude Code 开发,这是 Anthropic 的官方 AI 编程助手。Claude Code 在以下方面提供了关键支持:
- 代码实现和调试
- 技术文档编写
- 项目结构组织
- 安全最佳实践建议
- 最小化依赖: 无运行时、无框架,只有 Windows API
- 透明性: 每个操作都是显式的
- 教育性: 准确展示 API 层面发生的事情
- 可移植性: 适用于任何 C 编译器(MinGW、MSVC、Clang)
本项目已完成 41 种技术的实现。未来可能包括:
- ARM64 Windows 支持
- 内核模式注入技术
- 增强的检测规避分析
- 性能基准测试套件
欢迎以下贡献:
- 现有实现的 bug 修复
- 文档改进
- 新技术实现(需附原始研究归属)
- 检测策略增强
请确保:
- 代码能用 MinGW-w64 编译
- 新技术配有详细的 README.md
- 正确归属研究来源
- 在 Windows 10/11 上测试
测试环境: Windows 10 Build 26100 (MSYS_NT-10.0-26100 x86_64), GCC (MinGW64)
| 状态 | 含义 |
|---|---|
| ✅ | 测试成功或完整文档 |
| ❌ | 测试失败或技术已失效 |
| 部分实现/跳过/需要特殊环境 |
进程操纵技术 (1-5):
- 01. Process Hollowing ✅ - 完整技术文档(手动PE节写入 + PEB ImageBase更新)
- 02. Transacted Hollowing ✅ - 完整技术文档(NTFS事务 + SEC_IMAGE节映射)
- 03. Process Doppelgänging ❌ - Windows 10+ 已失效 (NtCreateThreadEx 返回 ACCESS_DENIED)
- 04. Process Herpaderping ✅ - 镜像节缓存机制有效
- 05. Process Ghosting ✅ - 删除待处理文件机制有效
早期执行和回调技术 (6-10):
- 06. Early Bird APC ✅ - 挂起进程 APC 注入成功
- 07. Entry Point Injection ✅ - 入口点劫持成功
- 08. DLL Blocking ✅ - 完整技术文档(NtCreateSection Hook + Egg替换机制)
- 09. Early Cascade ✅ - PROCESS_CREATE_FLAGS_INHERIT_HANDLES + memset 成功
- 10. Kernel Callback Table ✅ - PEB KernelCallbackTable 劫持成功
经典注入技术 (11-20):
- 11. Advanced Hollowing ✅ - 改进版镂空成功
- 12. DLL Injection ✅ - LoadLibrary 注入成功
- 13. Shellcode Injection ✅ - VirtualAllocEx + WriteProcessMemory 成功
- 14. SetWindowsHookEx ✅ - 消息钩子注入成功
- 15. Reflective DLL Injection ✅ - 反射式加载成功
- 16. PE Injection ✅ - 完整技术文档(自复制PE注入 + 影子进程)
- 17. Mapping Injection ❌ - Windows 10+ 已失效
- 18. APC Queue Injection ✅ - 用户模式 APC 队列成功
- 19. Thread Hijacking ✅ - 线程上下文劫持成功
- 20. Atom Bombing ❌ - Windows 10+ 已失效
高级规避技术 (21-31):
- 21. Mockingjay ✅ - RWX 节区利用成功(msys-2.0.dll)
- 22. PowerLoaderEx ❌ - Windows 10 桌面堆结构变更,已失效
- 23. Threadless Inject ✅ - Hook 函数触发成功
- 24. EPI ✅ - DLL 入口点劫持成功
- 25. DLL Notification Injection ✅ - LdrDllNotification 回调成功
- 26. Module Stomping ✅ - amsi.dll NtOpenFile 覆盖成功
- 27. Gadget APC Injection ✅ - ntdll.dll gadget 利用成功
- 28. Process Forking ✅ - RtlCreateProcessReflection 成功
- 29. Function Stomping ✅ - CreateFileW PAGE_EXECUTE_WRITECOPY 成功
- 30. Caro-Kann
⚠️ - 跳过(需要 NASM + MinGW-w64 + API Hashing) - 31. Stack Bombing
⚠️ - 部分实现(原版 POC 问题 + 可能失效)
现代前沿技术 (32-41):
- 37. PoolParty ✅ - TP_WORK 远程插入成功(SafeBreach Labs 官方实现)
- 38. Thread Name-Calling ❌ - Windows 11 Build 26100 限制 Special User APC(SetThreadDescription APC 超时)
- 39. Waiting Thread Hijacking ✅ - WrQueue 线程栈返回地址劫持成功(ASLR 会话级一致性验证)
- 40. RedirectThread
⚠️ - DLL指针注入成功,NtCreateThread + ROP受Windows 11限制(CreateRemoteThread + SetThreadContext有效) - 41. LdrShuffle ✅ - PEB LDR EntryPoint劫持成功(DLL_THREAD_ATTACH触发,干净调用栈)
详细测试报告见 docs/testing-guides/ 目录。
测试环境:
- 360安全卫士 13.0.10.2001 (核晶模式 - 最高防护)
- 测试时间: 2025-11
- 系统版本: Windows 10 Build 26100
| 技术类别 | 总数 | ✅ 绕过 | ❌ 拦截 | 未测试 | 成功率 |
|---|---|---|---|---|---|
| 进程操纵 (1-5) | 5 | 0 | 5 | 0 | .0% |
| 早期执行 (6-10) | 5 | 0 | 5 | 0 | 0.0% |
| 经典注入 (11-20) | 10 | 5 | 5 | 0 | 50.0% |
| 高级规避 (21-30) | 10 | 6 | 3 | 1 | 66.7% |
| 现代技术 (31-41) | 11 | 0 | 1 | 10 | 0.0% |
| 合计 | 41 | 13 | 17 | 11 | 43.3% |
✅ 成功绕过360的技术 (13项)
-
- Advanced Hollowing - 避免经典镂空行为模式
-
- Reflective DLL Injection - 内存反射加载
-
- PE Injection - 自复制PE注入
-
- APC Queue Injection - 用户模式APC队列
-
- Thread Hijacking - 线程上下文劫持
-
- Atom Bombing - 全局原子表利用
-
- Threadless Inject - Hook触发,无注入线程
-
- EPI - Entry Point Invocation劫持
-
- DLL Notification Injection - DLL通知回调利用
-
- Module Stomping - 模块植入攻击
-
- Gadget APC Injection - ntdll Gadget利用
-
- Function Stomping - 函数践踏
-
- Process Doppelgänging - 进程伪装(技术已失效但360未拦截)
❌ 被360拦截的技术 (17项)
- 早期执行技术全部拦截 (6-10号)
- Process Hollowing、Transacted Hollowing、Shellcode Injection等基础技术
- Process Herpaderping、Process Ghosting、Mockingjay等已被收录
未测试技术 (11项)
- 现代前沿技术大部分未测试 (Ghost系列、PoolParty等)
- 内核层系统调用监控: NtCreateProcess、NtProtectVirtualMemory、NtWriteVirtualMemory等
- 行为序列关联: 关键API调用模式识别(如Process Hollowing的"创建-卸载-写入-恢复"链)
- 内存完整性保护: RWX页分配、ntdll修改等高危操作拦截
- APC注入专杀: Early Bird APC等APC相关技术全面拦截
- 文件-内存一致性校验: Herpaderping、Ghosting等时序攻击失效
推荐技术(高成功率 >60%):
- Gadget APC Injection: 利用ntdll gadget,隐蔽性极高
- Threadless Inject: Hook触发,无传统注入特征
- Module Stomping: 利用合法模块加载时序
- DLL Notification Injection: 合法回调机制利用
谨慎使用(中等成功率 40-50%):
- Reflective DLL Injection、Thread Hijacking、Atom Bombing
- 需要进一步测试和优化
不推荐(低成功率 <40%):
- 早期执行技术(6-10)- 拦截率100%
- 常规DLL Injection、Shellcode Injection - 特征明显
- Process Herpaderping/Ghosting - 已被完全检测
详情请见 techniques/XX-技术名称/README.md 文档的 "杀软测试" 部分,包含:
- 完整测试日志和截图
- 360检测点详细分析
- 内核驱动拦截逻辑解读
- 实战价值和改进建议
注意: 测试在360核晶模式(最高防护)下进行。关闭核晶模式后,拦截率可能显著降低。
本项目用于教育目的。各个技术可能有不同的许可证 - 详见各技术的 README。
研究、学习、防御。