文章总结: 本文深入解析DLL侧加载绕过EDR的原理与实战。攻击者利用Windows搜索顺序劫持非KnownDLLs模块,使恶意代码借合法签名二进制的信任链免受内存行为检测。文章提供最小化PoC及Hijacklibs利用思路,涵盖持久化与提权场景。防御端建议通过SysmonEventID7监控异常路径加载、启用HVCI与SAC、建立路径白名单及AppLocker隔离,从行为基线层面阻断身份借用。 综合评分: 83 文章分类: 红队,免杀,内网渗透,软文广告
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 会按固定顺序搜索:
- 应用程序所在目录(可被我们控制)
- 系统目录
System32 16 位系统目录Windows目录- 当前工作目录
PATH环境变量目录
只要程序没有把 foo.dll 列入 KnownDLLs 注册表(这些 DLL 只会从 System32 加载、不受侧载影响),且程序所在目录可写,我们就能把恶意 foo.dll 丢进去——程序启动时会优先加载我们的版本。
EDR 的盲区在于:它看到的是「svchost/msbuild/vscode 等签名进程加载了一个 DLL」,而不是「这个 DLL 是攻击者放的」。进程信任链一旦建立,后续的内存分配、shellcode 执行都被当成「程序正常行为」。
技术要点二:寻找脆弱签名二进制(Hijacklibs 项目)
手工挖太慢,社区早已把活儿干完了。Hijacklibs.net 持续维护一份「已知可被侧载 DLL 的签名二进制」清单,按 DLL 名、签名厂商、加载方式分类。红队只需:
- 在目标环境确认 EDR + AV 组合;
- 从 Hijacklibs 挑一个该环境未加白、且二进制文件本身在磁盘上(或可通过合法途径落地)的条目;
- 部署同名恶意 DLL + 签名二进制到可写目录。
注意:只能劫持非 KnownDLLs 的模块。KnownDLLs 列表里的 kernel32.dll、user32.dll 等核心库无法被侧载,但大量「边缘 DLL」(日志组件、遥测 SDK、语言包)不在其列,数量极其可观。
技术要点三:实战 PoC(最小可用恶意 DLL)
下面是一个最小化的侧载 DLL,在 DllMain 中执行我们的逻辑(此处以弹出计算器演示载荷落地,实战替换为 shellcode 注入或 C2 上线):
// evil_payload.c —— 编译为与签名二进制同名的 DLL
#include <windows.h>
// 实际红队中此处替换为 VirtualAlloc + 解密后的 shellcode
// 或反射式加载 Cobalt Strike / Sliver beacon
void RunPayload() {
WinExec("calc.exe", SW_SHOW); // 演示用,实战替换为 beacon
}
BOOL WINAPI DllMain(HINSTANCE hinst, DWORD fdwReason, LPVOID lpvReserved) {
if (fdwReason == DLL_PROCESS_ATTACH) {
// 延迟到主线程稳定后再执行,降低早期行为噪声
CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)RunPayload, NULL, 0, NULL);
}
return TRUE;
}
部署结构(以某签名二进制 legit.exe 依赖 version.dll 为例):
C:\ProgramData\Vendor\legit.exe <- 复制来的微软/厂商签名二进制
C:\ProgramData\Vendor\version.dll <- 我们的 evil_payload.dll(同名)
启动 legit.exe 后,进程加载我们伪造的 version.dll,DllMain 触发,载荷在签名进程上下文中运行。配合 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 侧加载并非无懈可击,重点在「行为基线」而非「特征」:
- 监控 ImageLoad(Sysmon EventID 7):过滤
Microsoft 签名二进制从 %APPDATA% / %TEMP% / ProgramData 加载 DLL的事件,结合父进程异常判定; - 启用 HVCI + Smart App Control:从架构上掐断未签名 DLL 注入签名进程的路径(虽企业落地率低,但应作为基线目标);
- 建立已知签名二进制哈希 + 路径白名单:某个
legit.exe本不该出现在ProgramData下,出现即告警; - Driver Load 与模块加载基线:对「从非标准路径映射 ntdll.dll」等异常做 ETW hunt;
- 应用隔离:用 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信任链》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。










评论