DLL侧加载:用微软签名二进制骗过EDR信任链

admin 2026-08-04 07:27:23 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 本文深入解析DLL侧加载绕过EDR的原理与实战。攻击者利用Windows搜索顺序劫持非KnownDLLs模块,使恶意代码借合法签名二进制的信任链免受内存行为检测。文章提供最小化PoC及Hijacklibs利用思路,涵盖持久化与提权场景。防御端建议通过SysmonEventID7监控异常路径加载、启用HVCI与SAC、建立路径白名单及AppLocker隔离,从行为基线层面阻断身份借用。 综合评分: 83 文章分类: 红队,免杀,内网渗透,软文广告


cover_image

DLL侧加载:用微软签名二进制骗过EDR信任链

原创

星夜AI安全 星夜AI安全

星夜AI安全

2026年7月15日 12:37 吉林

在小说阅读器读本章

去阅读

🌈

2026年红队最稳健的EDR绕过手段:DLL侧加载。借微软签名二进制的信任链,让EDR对用户态写入与内存执行视而不见。

一、技术全貌:这是什么?

如果说 2023 年的 EDR 绕过是「直接系统调用 + Unhook」的天下,2024-2025 年是「内核回调移除 + BYOVD」的主场,那么到了 2026 年,在微软驱动黑名单与 HVCI 双重夹击下,一个看似「上古」的技术反而成了红队手里最稳的一张牌——DLL 侧加载(DLL Sideloading)

所谓 DLL 侧加载,是指找到一个微软官方签名、但加载 DLL 时搜索顺序可被劫持的合法二进制,把我们的恶意 DLL 以同名丢进它所在的可写目录,再启动这个签名程序。于是恶意代码借壳运行在「Microsoft 签名进程」的信任光环之下,EDR 对用户态的内存写入、模块加载、线程执行天然「高看一眼」,行为检测阈值被直接拉高。

RingSafe 在 2026 年 7 月的复盘把当前 EDR 绕过划为四大家族,其中明确写道:DLL 侧加载(通过签名二进制)至今仍高度有效(still highly effective)。APT41 借 Trend Micro 签名二进制侧载、Lazarus 借 Sangfor 签名驱动侧载、Sandworm 借合法 VPN 客户端侧载——国家级对手都在用,因为它稳。

二、为什么这个技术如此重要

传统 EDR 压制手段有三个绕不开的死穴:

| 方法 | 致命缺陷 | | — | — | | 防火墙封禁 EDR 进程 | 留下明确规则痕迹,SIEM 一眼看穿 | | WFP 丢包(EDRSilencer 等) | 产生 packet-drop 日志,可溯源 | | 直接杀 EDR 进程 | 触发进程终止告警,立即响应 |

而 DLL 侧加载不杀、不拦、不断,它只是「借一个好人身份干坏事」。更关键的是:绝大多数 EDR 对 Microsoft 签名进程的内存读写、模块加载事件默认信任,侧载进来的 DLL 继承了这份信任,ETW 线程审计、行为关联引擎都很难把它和合法加载区分开。

2024-2025 微软推出的 Smart App Control(Win11 22H2+ / Defender)理论上能拦住「未签名 DLL 注入签名进程」,但现实是——企业环境几乎没开。换句话说,这扇门在 2026 年绝大多数终端上仍是敞开的。

三、技术原理解析

技术要点一:Windows DLL 搜索顺序与信任链漏洞

当一个程序调用 LoadLibrary("foo.dll") 且只给文件名时,Windows 会按固定顺序搜索:

  1. 应用程序所在目录(可被我们控制
  2. 系统目录 System32
  3. 16 位系统目录
  4. Windows 目录
  5. 当前工作目录
  6. PATH 环境变量目录

只要程序没有foo.dll 列入 KnownDLLs 注册表(这些 DLL 只会从 System32 加载、不受侧载影响),且程序所在目录可写,我们就能把恶意 foo.dll 丢进去——程序启动时会优先加载我们的版本。

EDR 的盲区在于:它看到的是「svchost/msbuild/vscode 等签名进程加载了一个 DLL」,而不是「这个 DLL 是攻击者放的」。进程信任链一旦建立,后续的内存分配、shellcode 执行都被当成「程序正常行为」。

技术要点二:寻找脆弱签名二进制(Hijacklibs 项目)

手工挖太慢,社区早已把活儿干完了。Hijacklibs.net 持续维护一份「已知可被侧载 DLL 的签名二进制」清单,按 DLL 名、签名厂商、加载方式分类。红队只需:

  1. 在目标环境确认 EDR + AV 组合;
  2. 从 Hijacklibs 挑一个该环境未加白、且二进制文件本身在磁盘上(或可通过合法途径落地)的条目;
  3. 部署同名恶意 DLL + 签名二进制到可写目录。

注意:只能劫持非 KnownDLLs 的模块。KnownDLLs 列表里的 kernel32.dlluser32.dll 等核心库无法被侧载,但大量「边缘 DLL」(日志组件、遥测 SDK、语言包)不在其列,数量极其可观。

技术要点三:实战 PoC(最小可用恶意 DLL)

下面是一个最小化的侧载 DLL,在 DllMain 中执行我们的逻辑(此处以弹出计算器演示载荷落地,实战替换为 shellcode 注入或 C2 上线):

// evil_payload.c —— 编译为与签名二进制同名的 DLL
#include&nbsp;<windows.h>

//&nbsp;实际红队中此处替换为&nbsp;VirtualAlloc&nbsp;+&nbsp;解密后的&nbsp;shellcode
//&nbsp;或反射式加载&nbsp;Cobalt&nbsp;Strike&nbsp;/&nbsp;Sliver&nbsp;beacon
void&nbsp;RunPayload()&nbsp;{
&nbsp;&nbsp;&nbsp;&nbsp;WinExec("calc.exe",&nbsp;SW_SHOW);&nbsp;&nbsp;&nbsp;//&nbsp;演示用,实战替换为&nbsp;beacon
}

BOOL&nbsp;WINAPI&nbsp;DllMain(HINSTANCE&nbsp;hinst,&nbsp;DWORD&nbsp;fdwReason,&nbsp;LPVOID&nbsp;lpvReserved)&nbsp;{
&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(fdwReason&nbsp;==&nbsp;DLL_PROCESS_ATTACH)&nbsp;{
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;延迟到主线程稳定后再执行,降低早期行为噪声
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CreateThread(NULL,&nbsp;0,&nbsp;(LPTHREAD_START_ROUTINE)RunPayload,&nbsp;NULL,&nbsp;0,&nbsp;NULL);
&nbsp;&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;TRUE;
}

部署结构(以某签名二进制 legit.exe 依赖 version.dll 为例):

C:\ProgramData\Vendor\legit.exe&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<-&nbsp;复制来的微软/厂商签名二进制
C:\ProgramData\Vendor\version.dll&nbsp;&nbsp;&nbsp;&nbsp;<-&nbsp;我们的&nbsp;evil_payload.dll(同名)

启动 legit.exe 后,进程加载我们伪造的 version.dllDllMain 触发,载荷在签名进程上下文中运行。配合 spawn-then-inject 模式(先起一个良性签名进程,Unhook 其 ntdll,再注入),可以进一步抹平用户态可见度。

进阶玩法:间接系统调用 + 侧载组合。侧载解决「身份信任」,间接 syscall 解决「内核回调检测」,两者叠加后,连 Sophos、部分 Trend Micro 这类只 Hook 用户态的 EDR 都基本失明。

四、实战应用场景

  • 持久化:把签名二进制 + 恶意 DLL 落到 ProgramData / 用户 AppData,配合计划任务或注册表 Run 键,每次登录自动侧载;
  • 提权链跳板:部分签名二进制以 NT AUTHORITY\SYSTEM 或高权限服务身份运行,侧载的 DLL 直接继承高权限;
  • 红队演练无文件落地变体:把恶意 DLL 藏在合法安装目录,作为「第二通道」,即使主 beacon 被清理也能随时复活;
  • 绕过 Smart App Control:若目标开启了 SAC,可选择 SAC 允许列表内的签名二进制(如部分系统自带工具),或先用其他手段临时禁用 SAC 策略再侧载。

五、防御对抗建议

蓝队视角,DLL 侧加载并非无懈可击,重点在「行为基线」而非「特征」:

  1. 监控 ImageLoad(Sysmon EventID 7):过滤 Microsoft 签名二进制从 %APPDATA% / %TEMP% / ProgramData 加载 DLL 的事件,结合父进程异常判定;
  2. 启用 HVCI + Smart App Control:从架构上掐断未签名 DLL 注入签名进程的路径(虽企业落地率低,但应作为基线目标);
  3. 建立已知签名二进制哈希 + 路径白名单:某个 legit.exe 本不该出现在 ProgramData 下,出现即告警;
  4. Driver Load 与模块加载基线:对「从非标准路径映射 ntdll.dll」等异常做 ETW hunt;
  5. 应用隔离:用 AppLocker / WDAC 限制非白名单目录的可执行与 DLL 加载。

六、技术延伸阅读

  • Hijacklibs.net:最全的 DLL 侧载条目数据库,按 DLL / 厂商 / 加载方式检索;
  • LOLDrivers:追踪仍可被 BYOVD 利用的未上黑名单驱动,配合侧载做「用户态→内核态」两段式绕过;
  • RingSafe《EDR Bypass Techniques 2026》:四大家族全景复盘,含 Sigma 规则与蓝队检测优先级;
  • MITRE ATT&CK T1574.002(DLL Side-Loading):标准化战术映射。

🌈

一句话总结:当 EDR 把注意力放在「系统调用是否干净」时,DLL 侧加载绕开了整条检测逻辑——它不跟你比技术,它直接「借用身份」。2026 年,这依然是红队工具箱里性价比最高的一招。

圈子介绍

现任职于某头部网络安全企业攻防研究部,核心红队成员。2021-2023年间累计参与40+场国家级、行业级攻防实战演练,精通漏洞挖掘、红蓝对抗策略制定、恶意代码分析、内网横向渗透及应急响应等技术领域。在多次大型演练中,主导突破多个高防护目标网络,曾获”最佳攻击手””突出贡献个人”等荣誉。

已产出的安全工具及成果包括:

  • 多款主流杀软通杀工具(兼容卡巴斯基、诺顿、瑞星、360等终端防护,无感知运行,突破多引擎联合检测)
  • XXByPassBehinder v1.1 冰蝎免杀生成器(定制化冰蝎免杀工具,绕过主流终端防护与EDR动态检测,支持自定义载荷)
  • 哥斯拉二开免杀定制版(二开优化,深度免杀,突破终端防护与EDR检测,适配多场景植入)
  • NeoCS4.9终极版(高级免杀加载工具,强化载荷注入与进程劫持,适配多系统版本,无兼容问题)
  • WinDump_免杀版(浏览器凭证窃取工具,支持Chrome/Edge/Firefox等主流浏览器,一键提取敏感数据,免杀过防护)
  • DumpBrowser_V1_免杀版(浏览器凭证窃取工具,专攻浏览器密码、Cookie、历史记录提取,免杀性能拉满)
  • fscan二开版(二开优化内网扫描工具,增强指纹精度、弱口令爆破与结果标准化输出,适配复杂内网)
  • RingQ加载器二开版(二开优化免杀加载器,支持Shellcode内存执行,绕过各类终端防护与EDR检测)
  • 多款免杀Webshell集合(覆盖PHP/JSP/ASPX,过主流WAF与终端防护,适配不同Web场景)
  • 免杀360专属加载器(支持Shellcode内存执行,针对性绕过360全系防护检测,无感知运行)
  • 一键Kill 火绒 defender 工具 HDKiller(包含源码)
  • win11 一键kill 360工具 InjectKill(包含源码)
  • win11 一键kill defender工具win11_df-killer(包含源码)
  • 免杀火绒6.0内存防护加载器BypassMemLoader
  • 单文件过360 免杀loader exe_bypass_360
  • 单文件过火绒 df 免杀loader exe_bypass_df(包含源码)
  • LNK钓鱼文件生成工具V1.0
  • EXE捆绑启动器 v2.0
  • 火绒6内存免杀加载器bypasshr6
  • 火绒一键Kill专杀工具HRKiller
  • Ring3 内存免杀工具Ring3bypasshr.exe

后续将不断更新到内部圈子中 欢迎加入圈子


免责声明:

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

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

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

本文转载自:星夜AI安全 星夜AI安全 星夜AI安全《DLL侧加载:用微软签名二进制骗过EDR信任链》

数据中心是如何工作的? 网络安全文章

数据中心是如何工作的?

文章总结: 数据中心是数字社会核心基础设施,通过服务器、存储和网络设备协同工作,为互联网服务提供计算、存储和网络能力。它并非简单机房,而是包含电力、制冷等复杂配
评论:0   参与:  0