UltraDebug

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: A C D R G Y M Z X S P
公益项目,接受捐赠
查看: 129|回复: 0
收起左侧

[原创] Windows 环境下 DLL 劫持的七大实战技法

[复制链接]
laosilaisi

主题

0

回帖

UD

新手上路

UID
47
积分
41
注册时间
2022-5-18
最后登录
1970-1-1
2025-6-20 14:48:00 | 显示全部楼层 |阅读模式

不传之秘:Windows 下的 7 种 DLL 注入技术

在本文中,我将列出 七种可以在 Windows 用户模式进程中使用的 DLL 注入技术。也许还存在更多方式,但我将分享我亲自实践并掌握的一手技术。


1. AppInit_DLLs

过去,很多人依赖于注册表中的 AppInit_DLLs 项。操作系统加载程序会在创建进程时读取该值并加载指定的 DLL。

  • 适用于早期系统(如 Windows XP)
  • 由于恶意软件的广泛使用,该技术已被限制或弃用
  • 新版 Windows 默认不再支持,需手动启用特定策略

2. SetWindowsHookEx API

通过 SetWindowsHookEx() 可以将自定义钩子函数安装到钩子链表中。

  • 适用于键盘、鼠标、窗口消息等事件的钩子
  • 可以使操作系统将你的 DLL 注入到相关进程中
  • 需要配合 USER32.dll 的相关调用才能触发注入

注意:系统将钩子 DLL 注入到其他需要接收钩子的进程中,这使其成为一种经典的用户态注入技术。


3. IFEO(Image File Execution Options)键

IFEO 注册表项可用于:

  • 指定调试器
  • 加载 AppVerifier 插件
  • 更改进程行为(堆选项等)

你可以通过创建一个自定义 AppVerifier 插件,实现 DLL 注入。

示例路径:

HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\YourTargetApp.exe

4. Remote Threads(远程线程注入)

该技术通过创建远程线程的方式向目标进程注入 DLL。

  • 本质是在目标进程中调用 LoadLibrary()
  • 简单高效
  • 但容易被杀软检测,因其属于典型的恶意行为

5. 进程跟踪与批量注入(Implicit Tracking)

原理是 hook 进程创建 API,比如:

  • kernel32!CreateProcessInternalW
  • ntdll!NtCreateProcess*

基本步骤:

  1. 枚举并注入当前所有运行进程
  2. hook 所有进程中的进程创建 API
  3. 在子进程创建时暂停 -> 注入 DLL -> 恢复运行
  4. 子进程将继续 hook 后续新进程,实现“链式注入”

常用于安全产品或持久化后门。通过注入 explorer.exe 可实现对“开始菜单”中所有应用的跟踪注入。


6. AppCompat Shimming(应用兼容层)

这种方式源于微软的 AppCompat 技术和 EMET 项目。

  • 基于 AppPatch.dll.sdb 数据库
  • 支持:

    1. 内存搜索与替换
    2. DLL 加载与注入(支持通配符)
    3. 模拟 API 返回值等

注入方式:

  • 生成自定义 .sdb 兼容性数据库
  • 注册到系统并通过兼容层自动加载指定 DLL

这种方式是“加载过程”的一部分,不是真正意义上的“运行时注入”。


7. Kernel Drivers(内核驱动)

虽然不属于纯用户态方式,但它是最强大的注入技术之一。

  • 驱动可以拦截进程创建事件
  • 注入 DLL 或执行 APC(异步过程调用)
  • 常用于杀毒软件、EDR 等安全产品

注:使用驱动程序需有管理员权限和签名支持,在现代 Windows 系统上受限较多。


结语

DLL 注入是一个引人入胜的技术领域,不同的技术在隐蔽性、兼容性、安全性和持久性方面各具优劣。

技术 兼容性 易用性 检测难度
AppInit_DLLs
SetWindowsHookEx
IFEO 键
Remote Threads
进程跟踪注入
AppCompat Shimming
Kernel Driver

原文参考:7 DLL injection techniques in Microsoft Windows – lallous' lab

UltraDebug免责声明
✅以上内容均来自网友转发或原创,如存在侵权请发送到站方邮件9003554@qq.com处理。
✅The above content is forwarded or original by netizens. If there is infringement, please send the email to the destination 9003554@qq.com handle.
回复 打印

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|站点地图|UltraDebug ( 滇ICP备2022002049号-2 滇公网安备 53032102000034号)

GMT+8, 2025-7-11 00:37 , Processed in 0.030674 second(s), 10 queries , Redis On.

Powered by Discuz X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表