Skip to content
Vol. 1 · Ed. 2026
CyberGlossary
Entry № 332

DLL 注入

DLL 注入 是什么?

DLL 注入一种代码注入技术,强制目标 Windows 进程加载并执行攻击者提供的动态链接库(DLL)。


DLL 注入会迫使目标进程将恶意 DLL 映射到自身地址空间,从而以宿主进程的权限和信任属性运行该 DLL 的 DllMain 或导出函数。经典做法是调用 OpenProcess、VirtualAllocEx 与 WriteProcessMemory 将 DLL 路径写入目标进程,再通过 CreateRemoteThread 调用 LoadLibraryA。变种包括反射式 DLL 加载(磁盘上无文件)、SetWindowsHookEx 和 AppInit_DLLs 注册表滥用。MITRE ATT&CK 将其归为 T1055.001(Process Injection 子项)。常见防御包括具备跨进程 API 追踪能力的 EDR、内核回调(PsSetCreateProcessNotifyRoutineEx)、受保护进程、代码签名、对关键进程禁止远程线程创建,以及监控 Sysmon Event 8。

示例

  1. 01

    Cobalt Strike Beacon 通过 CreateRemoteThread 向 svchost.exe 注入 DLL 实现进程迁移。

  2. 02

    恶意软件滥用 AppInit_DLLs 将凭据窃取 DLL 加载到所有交互式进程。

常见问题

DLL 注入 是什么?

一种代码注入技术,强制目标 Windows 进程加载并执行攻击者提供的动态链接库(DLL)。 它属于网络安全的 攻击与威胁 分类。

DLL 注入 是什么意思?

一种代码注入技术,强制目标 Windows 进程加载并执行攻击者提供的动态链接库(DLL)。

DLL 注入 是如何工作的?

DLL 注入会迫使目标进程将恶意 DLL 映射到自身地址空间,从而以宿主进程的权限和信任属性运行该 DLL 的 DllMain 或导出函数。经典做法是调用 OpenProcess、VirtualAllocEx 与 WriteProcessMemory 将 DLL 路径写入目标进程,再通过 CreateRemoteThread 调用 LoadLibraryA。变种包括反射式 DLL 加载(磁盘上无文件)、SetWindowsHookEx 和 AppInit_DLLs 注册表滥用。MITRE ATT&CK 将其归为 T1055.001(Process Injection 子项)。常见防御包括具备跨进程 API 追踪能力的 EDR、内核回调(PsSetCreateProcessNotifyRoutineEx)、受保护进程、代码签名、对关键进程禁止远程线程创建,以及监控 Sysmon Event 8。

如何防御 DLL 注入?

针对 DLL 注入 的防御通常结合技术控制与运营实践,详见上方完整定义。

相关术语