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

AppInit_DLLs

AppInit_DLLs 是什么?

AppInit_DLLsWindows 早期持久化技术,通过滥用注册表值,将指定 DLL 加载到所有链接 user32.dll 的用户态进程中。


AppInit_DLLs 滥用(MITRE ATT&CK T1546.010)针对 HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows\AppInit_DLLs(及其 WOW6432Node 对应项)。当 LoadAppInit_DLLs 设为 1 时,user32.dll 加载器会将 AppInit_DLLs 中列出的任何 DLL 映射到每个链接 user32.dll 的进程中,几乎涵盖所有交互式应用。攻击者只需一次注册表写入即可获得广泛执行和持久化。自 Windows 8 起,Secure Boot 默认禁用 AppInit_DLLs,除非 DLL 已签名且放宽了签名要求,但该技术仍出现在遗留或配置不当的主机上。防御措施:保持 Secure Boot 启用、要求签名 AppInit DLL、使用 Autoruns 建立基线,并通过 Sysmon 注册表事件监控变化。

示例

  1. 01

    在 Windows 7 服务器的 AppInit_DLLs 中加入恶意 DLL 路径,以跨进程记录键盘输入。

  2. 02

    在禁用 Secure Boot 的环境中结合 AppInit_DLLs 部署用户态 rootkit。

常见问题

AppInit_DLLs 是什么?

Windows 早期持久化技术,通过滥用注册表值,将指定 DLL 加载到所有链接 user32.dll 的用户态进程中。 它属于网络安全的 攻击与威胁 分类。

AppInit_DLLs 是什么意思?

Windows 早期持久化技术,通过滥用注册表值,将指定 DLL 加载到所有链接 user32.dll 的用户态进程中。

AppInit_DLLs 是如何工作的?

AppInit_DLLs 滥用(MITRE ATT&CK T1546.010)针对 HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows\AppInit_DLLs(及其 WOW6432Node 对应项)。当 LoadAppInit_DLLs 设为 1 时,user32.dll 加载器会将 AppInit_DLLs 中列出的任何 DLL 映射到每个链接 user32.dll 的进程中,几乎涵盖所有交互式应用。攻击者只需一次注册表写入即可获得广泛执行和持久化。自 Windows 8 起,Secure Boot 默认禁用 AppInit_DLLs,除非 DLL 已签名且放宽了签名要求,但该技术仍出现在遗留或配置不当的主机上。防御措施:保持 Secure Boot 启用、要求签名 AppInit DLL、使用 Autoruns 建立基线,并通过 Sysmon 注册表事件监控变化。

如何防御 AppInit_DLLs?

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

AppInit_DLLs 还有哪些其他名称?

常见的别称包括: AppInit DLL 注入, user32 AppInit 持久化。

相关术语