暗度陈仓-四种高级进程注入手法

admin 2026-05-08 04:54:00 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 本文详细介绍了四种高级进程注入技术:早鸟APC注入利用进程初始化阶段的检测盲区,通过QueueUserAPC在挂起线程中执行代码;内存映射注入借助共享内存规避WriteProcessMemory等敏感API监控;注册表注入通过AppInit_DLLs机制实现DLL自动加载;全局钩子注入利用SetWindowsHookEx将DLL注入到所有关联进程中。这些方法旨在规避EDR/AV的行为检测,适用于授权环境下的安全研究。 综合评分: 85 文章分类: 恶意软件,红队,内网渗透,渗透测试,二进制安全


cover_image

暗度陈仓-四种高级进程注入手法

原创

冬夏 冬夏

韭要学JAVA安全

2026年5月7日 13:45 河南

在小说阅读器读本章

去阅读

⚠️ 免责声明

本文内容仅供网络安全技术学习、防御研究及授权环境下的安全测试使用。

严禁用于任何非法目的。

使用者须遵守当地法律法规,因滥用造成的一切后果由行为人自行承担。


本声明适用于本文档内所有技术内容。

1. 早鸟 APC 注入

核心思想

在目标进程主线程尚未执行(或刚启动、未调用敏感 API)时,通过 QueueUserAPC 将恶意代码作为异步过程调用(APC)插入队列,利用进程初始化阶段的检测盲区实现注入。

原理步骤

  1. 以 CREATE_SUSPENDED(挂起状态)标志创建新进程(如 svchost.exe);
  2. 在挂起进程内通过 VirtualAllocEx 分配内存,并写入 Shellcode;
  3. 调用 QueueUserAPC,将 Shellcode 入口点设为主线程的 APC 回调函数;
  4. 调用 ResumeThread 恢复主线程执行。
  • 线程恢复后会优先处理 APC 队列(进入可提醒状态时);
  • 进程刚启动时,用户态 EDR 的 Hook 尚未完全安装(部分 EDR 在进程主入口执行后才注入检测模块);
  • 调用序列(创建挂起进程 → 写入 → 队列 APC → 恢复)比经典注入更隐蔽,规避常规行为检测。

2. 内存映射注入

核心思想

利用共享内存(内存映射文件)实现进程间代码传输,规避 WriteProcessMemoryCreateRemoteThread 等被严密监控的 API。

原理步骤

  1. 使用 CreateFileMapping(配合 INVALID_HANDLE_VALUE)创建匿名/文件支持的映射对象;
  2. 在本地进程通过 MapViewOfFile 获取映射视图,将 Shellcode 写入视图;
  3. 目标进程通过 OpenFileMapping 获取映射句柄,再调用 MapViewOfFile,获取同一块物理内存页的不同地址;
  4. 目标进程映射视图自动包含 Shellcode(共享物理内存),无需调用 WriteProcessMemory
  5. 通过 CreateRemoteThread / QueueUserAPC 在目标进程中执行内存中的代码。

多数 EDR/AV 会挂钩 WriteProcessMemory 和 CreateRemoteThread,而 MapViewOfFile 常用于正常跨进程通信(IPC),白名单信誉度高,不易被拦截。


3. 注册表注入

原理

Windows 提供注册表项 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows\AppInit_DLLs 可指定 DLL 列表;当 user32.dll 加载进进程(几乎所有 GUI 进程)时,系统会强制加载列表中的 DLL。

实现方式

  • 将 AppInit_DLLs 值设置为恶意 DLL 的完整路径;
  • 将 LoadAppInit_DLLs 值设置为 1
  • 新启动的 GUI 进程会自动加载恶意 DLL,完成注入。

现代 Windows(Vista 及以上)要求 DLL 必须具备数字签名,且默认启用 RequireSignedAppInit_DLLs,该技术已半过时,可配合签名绕过实现利用。


4. 全局钩子注入

原理

调用 SetWindowsHookEx 安装全局钩子(如 WH_GETMESSAGEWH_KEYBOARD_LL);系统派发消息时,会自动将钩子 DLL 注入到所有关联目标进程中。

关键参数

  • dwThreadId = 0:表示安装全局钩子
  • hmod:指向钩子函数所在的 DLL 模块句柄。

动态defender

#


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:韭要学JAVA安全 冬夏 冬夏《暗度陈仓-四种高级进程注入手法》

评论:0   参与:  0