Skip to content

Repository files navigation

Windows 进程注入技术集合

English | 简体中文

全面收集 41 种 Windows 进程注入技术的 C 语言实现,涵盖经典方法到前沿研究。

📖 核心参考: 本项目基于 itaymigdal/awesome-injection 项目中整理的技术列表和研究资料进行实现和测试。

项目介绍

本仓库包含 Windows 进程注入技术的完整实现,从基础概念到高级规避方法系统化组织。每个技术都是独立实现,配有详细文档,解释底层机制、检测策略和实际应用。

这不是渗透测试框架。不是红队工具包。这是用于理解 Windows 内部机制、安全研究和防御性编程的参考实现。

项目统计

  • 41 种技术实现: 100% 真实可用代码
  • 编程语言: 纯 C 语言,最小化依赖
  • 目标平台: Windows x64(部分支持 x86)
  • 构建系统: MinGW/GCC 兼容

技术分类

进程操纵技术 (1-5)

利用 Windows 进程创建机制的高级攻击:

  1. Process Hollowing - 进程镂空 ✅
  2. Transacted Hollowing - 事务镂空 ✅
  3. Process Doppelgänging - 进程伪装 ❌
  4. Process Herpaderping - 进程篡改 ✅
  5. Process Ghosting - 进程幽灵化 ✅

早期执行和回调技术 (6-10)

在进程/线程初始化阶段劫持执行流:

  1. Early Bird APC - 早期鸟 APC 注入 ✅
  2. Entry Point Injection - 入口点注入 ✅
  3. DLL Blocking (Ruy-Lopez) - DLL 阻断注入 ✅
  4. Early Cascade - 早期级联注入 ✅
  5. Kernel Callback Table - 内核回调表注入 ✅

经典注入技术 (11-20)

Windows 注入技术的基础方法:

  1. Advanced Hollowing - 高级镂空 ✅
  2. DLL Injection - DLL 注入 ✅
  3. Shellcode Injection - Shellcode 注入 ✅
  4. SetWindowsHookEx - 钩子注入 ✅
  5. Reflective DLL Injection - 反射式 DLL 注入 ✅
  6. PE Injection - PE 注入 ✅
  7. Mapping Injection - 映射注入 ❌
  8. APC Queue Injection - APC 队列注入 ✅
  9. Thread Hijacking - 线程劫持 ✅
  10. Atom Bombing - 原子轰炸 ❌

高级规避技术 (21-31)

绕过现代安全防护的创新方法:

  1. Mockingjay - RWX 节区注入 ✅
  2. PowerLoaderEx - 共享桌面堆注入 ❌
  3. Threadless Inject - 无线程注入 ✅
  4. EPI - DLL 入口点劫持注入 ✅
  5. DLL Notification Injection - DLL 通知回调注入 ✅
  6. Module Stomping - 模块践踏注入 ✅
  7. Gadget APC Injection - Gadget APC 注入 ✅
  8. Process Forking (Dirty Vanity) - 进程分叉注入 ✅
  9. Function Stomping - 函数践踏注入 ✅
  10. Caro-Kann - 加密 Shellcode 内存扫描规避 ⚠️
  11. Stack Bombing - 栈轰炸注入 ⚠️

现代前沿技术 (32-41)

2023-2024 年最新安全研究成果:

  1. GhostInjector - 幽灵注入器 ❌
  2. GhostWriting - 幽灵写入 ❌
  3. GhostWriting-2 - 改进版幽灵写入 ❌
  4. Mapping Injection - 映射注入(增强版)
  5. SetProcessInjection - ProcessInstrumentationCallback 注入
  6. PoolParty - Windows 线程池注入(TP_WORK/TP_WAIT/TP_TIMER/TP_IO/TP_JOB/TP_ALPC/TP_DIRECT)✅
  7. Thread Name-Calling - 线程名称注入 ❌
  8. Waiting Thread Hijacking - 等待线程劫持 ✅
  9. RedirectThread - CONTEXT-Only 注入(ROP Gadget + DLL 指针注入)⚠️
  10. 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.bat

构建所有技术

for /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 安全内部机制
  • 开发检测策略
  • 改进端点保护
  • 培训安全专业人员

未经授权使用这些技术进行非法访问是违法和不道德的。

参考仓库

本项目的每个技术都基于原始研究实现。以下是所有参考仓库的完整列表(按技术编号排序):

进程操纵技术 (1-5)

  1. m0n0ph1/Process-Hollowing - Process Hollowing
  2. hasherezade/transacted_hollowing - Transacted Hollowing
  3. hasherezade/process_doppelganging - Process Doppelgänging
  4. jxy-s/herpaderping - Process Herpaderping
  5. hasherezade/process_ghosting - Process Ghosting

早期执行和回调技术 (6-10)

  1. S3cur3Th1sSh1t/Caro-Kann - Early Bird APC (包含 Ruy-Lopez/HookForward)
  2. diversenok/Suspending-Techniques - Entry Point Injection (AddressOfEntryPoint-injection)
  3. S3cur3Th1sSh1t/Caro-Kann - DLL Blocking (包含 Ruy-Lopez/DllBlock)
  4. Cracked5pider/earlycascade-injection - Early Cascade
  5. 0xHossam/KernelCallbackTable-Injection-PoC - Kernel Callback Table

经典注入技术 (11-20)

  1. itaymigdal/PichichiH0ll0wer - Advanced Hollowing
  2. stephenfewer/ReflectiveDLLInjection - DLL Injection (也用于反射式DLL注入)
  3. rapid7/metasploit-framework - Shellcode Injection (参考)
  4. hfiref0x/WinObjEx64 - SetWindowsHookEx (参考)
  5. stephenfewer/ReflectiveDLLInjection - Reflective DLL Injection
  6. AlSch092/PE-Injection - PE Injection
  7. hasherezade/process_doppelganging - Mapping Injection (参考)
  8. 0xflux/Rust-APC-Queue-Injection - APC Queue Injection (Rust)
  9. BreakingMalwareResearch/atom-bombing - Thread Hijacking
  10. BreakingMalwareResearch/atom-bombing - Atom Bombing

高级规避技术 (21-31)

  1. caueb/Mockingjay - Mockingjay
  2. BreakingMalware/PowerLoaderEx - PowerLoaderEx
  3. CCob/ThreadlessInject - Threadless Inject
  4. Kudaes/EPI - EPI
  5. Dec0ne/DllNotificationInjectionShorSec/DllNotificationInjection - DLL Notification Injection
  6. d1rkmtrr/D1rkInject - Module Stomping
  7. LloydLabs/ntqueueapcthreadex-ntdll-gadget-injection - Gadget APC Injection
  8. deepinstinct/Dirty-Vanity - Process Forking
  9. Idov31/FunctionStomping - Function Stomping
  10. S3cur3Th1sSh1t/Caro-Kann - Caro-Kann
  11. maziland/StackBombing - Stack Bombing

现代前沿技术 (32-41)

  1. woldann/GhostInjector - GhostInjector (依赖: NThread, NThreadOSUtils, Neptune)
  2. c0de90e7/GhostWriting - GhostWriting
  3. fern89/ghostwriting-2 - GhostWriting-2
  4. antonioCoco/Mapping-Injection - Mapping Injection (增强版)
  5. OtterHacker/SetProcessInjection - SetProcessInjection
  6. SafeBreach-Labs/PoolParty - PoolParty
  7. hasherezade/thread_namecalling - Thread Name-Calling
  8. hasherezade/waiting_thread_hijacking - Waiting Thread Hijacking
  9. Friends-Security/RedirectThread - RedirectThread
  10. 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 增强版
  • 所有其他研究者 - 在各自领域的贡献

社区资源

开发工具

本项目使用 Claude Code 开发,这是 Anthropic 的官方 AI 编程助手。Claude Code 在以下方面提供了关键支持:

  • 代码实现和调试
  • 技术文档编写
  • 项目结构组织
  • 安全最佳实践建议

为什么选择 C 语言?

  • 最小化依赖: 无运行时、无框架,只有 Windows API
  • 透明性: 每个操作都是显式的
  • 教育性: 准确展示 API 层面发生的事情
  • 可移植性: 适用于任何 C 编译器(MinGW、MSVC、Clang)

发展路线

本项目已完成 41 种技术的实现。未来可能包括:

  • ARM64 Windows 支持
  • 内核模式注入技术
  • 增强的检测规避分析
  • 性能基准测试套件

贡献指南

欢迎以下贡献:

  • 现有实现的 bug 修复
  • 文档改进
  • 新技术实现(需附原始研究归属)
  • 检测策略增强

请确保:

  1. 代码能用 MinGW-w64 编译
  2. 新技术配有详细的 README.md
  3. 正确归属研究来源
  4. 在 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 测试结果汇总

测试环境:

  • 360安全卫士 13.0.10.2001 (核晶模式 - 最高防护)
  • 测试时间: 2025-11
  • 系统版本: Windows 10 Build 26100

测试覆盖率:73.2% (30/41)

技术分类统计

技术类别 总数 ✅ 绕过 ❌ 拦截 未测试 成功率
进程操纵 (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项)

    1. Advanced Hollowing - 避免经典镂空行为模式
    1. Reflective DLL Injection - 内存反射加载
    1. PE Injection - 自复制PE注入
    1. APC Queue Injection - 用户模式APC队列
    1. Thread Hijacking - 线程上下文劫持
    1. Atom Bombing - 全局原子表利用
    1. Threadless Inject - Hook触发,无注入线程
    1. EPI - Entry Point Invocation劫持
    1. DLL Notification Injection - DLL通知回调利用
    1. Module Stomping - 模块植入攻击
    1. Gadget APC Injection - ntdll Gadget利用
    1. Function Stomping - 函数践踏
    1. Process Doppelgänging - 进程伪装(技术已失效但360未拦截)

❌ 被360拦截的技术 (17项)

  • 早期执行技术全部拦截 (6-10号)
  • Process Hollowing、Transacted Hollowing、Shellcode Injection等基础技术
  • Process Herpaderping、Process Ghosting、Mockingjay等已被收录

未测试技术 (11项)

  • 现代前沿技术大部分未测试 (Ghost系列、PoolParty等)

360拦截机制分析

  1. 内核层系统调用监控: NtCreateProcess、NtProtectVirtualMemory、NtWriteVirtualMemory等
  2. 行为序列关联: 关键API调用模式识别(如Process Hollowing的"创建-卸载-写入-恢复"链)
  3. 内存完整性保护: RWX页分配、ntdll修改等高危操作拦截
  4. APC注入专杀: Early Bird APC等APC相关技术全面拦截
  5. 文件-内存一致性校验: 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。


研究、学习、防御。

About

No description, website, or topics provided.

Resources

Stars

45 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages