Entry № 368
DLL 劫持
DLL 劫持 是什么?
DLL 劫持一种滥用 Windows DLL 搜索顺序的攻击,使合法程序加载攻击者控制的库,而不是预期的库。
DLL 劫持(MITRE ATT&CK T1574.001)利用 Windows 解析动态链接库的方式:当应用程序按名称请求 DLL 但未指定完整路径时,加载器会按可预测的顺序在多个目录中查找。攻击者只要能将恶意 DLL 写入优先级更高的位置(应用程序目录、可写的 PATH 项或 side-by-side 文件夹),就能在受信任且通常已签名的进程上下文中执行代码。该技术同时提供执行与持久化能力,并可绕过许多应用程序白名单。常见防御包括使用完全限定路径、启用 SafeDllSearchMode、应用 WDAC/AppLocker 规则、通过 Sysmon 事件 7 监控镜像加载,以及修补存在缺陷的安装程序。
● 示例
- 01
在签名安装程序所在目录放置恶意 version.dll,使其优先加载。
- 02
在可写的 PATH 目录中植入 DLL,由系统服务加载。
● 常见问题
DLL 劫持 是什么?
一种滥用 Windows DLL 搜索顺序的攻击,使合法程序加载攻击者控制的库,而不是预期的库。 它属于网络安全的 攻击与威胁 分类。
DLL 劫持 是什么意思?
一种滥用 Windows DLL 搜索顺序的攻击,使合法程序加载攻击者控制的库,而不是预期的库。
如何防御 DLL 劫持?
针对 DLL 劫持 的防御通常结合技术控制与运营实践,详见上方完整定义。
DLL 劫持 还有哪些其他名称?
常见的别称包括: DLL 搜索顺序劫持, DLL 预加载。