绕过驱动签名的无文件驱动加载技术

一、核心原理:为什么能绕过检测?

 
传统驱动加载(.sys 文件)会留下大量痕迹,极易被查杀:
 
  1. 文件落地:驱动文件写入磁盘,触发 AV/EDR 的文件扫描与特征匹配。
  2. 服务注册:在 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services 创建注册表项。
  3. 标准加载:通过 NtLoadDriver 等公开 API 加载,被系统回调与 EDR 钩子监控。

20260412155640522-image

 

内存加载则完全规避以上路径
 
  • 无文件落地:驱动镜像(PE 数据)直接存在于进程内存或网络流中,不写入硬盘
  • 手动映射:在用户态或内核态手动解析 PE 结构,分配内存、修复重定位、修复导入表。
  • 绕过 DSE:通过内存补丁(如修改 g_CiOptions)或利用漏洞,绕过 Windows 驱动签名强制(DSE) 验证。
  • 无痕注册:不调用标准 IoCreateDriver,不创建 DriverObjectDeviceObject,在内核对象管理器中无痕迹。
 

二、主流实现技术(2026 年现状)

 

1. 反射式驱动加载(Reflective Driver Loading)

 
  • 原理:类似用户态 DLL 反射加载,将驱动二进制数据直接映射到内核内存,手动执行 DriverEntry
  • 关键步骤
    1. 获取驱动 PE 数据(嵌入程序资源、网络下载)。
    2. 在内核空间分配可执行内存(ZwAllocateVirtualMemory)。
    3. 复制 PE 头、节表到内核内存,修复基址重定位。
    4. 手动解析并填充 ntoskrnl.exe 等系统模块的导入表。
    5. 直接调用 DriverEntry,不通过服务管理器(SCM)。
     
  • 绕过点:无文件、无服务、无标准加载 API 调用。
 

2. 内存补丁绕过 DSE(如 DSEFix)

 
  • 原理:Windows x64 强制驱动签名(DSE)。工具通过内核漏洞提权,内存修改内核全局变量 g_CiOptions(代码完整性选项),将其从启用(0x10)改为禁用(0x00)。
  • 效果:系统临时允许未签名驱动加载,加载后可恢复原值,不留系统级修改痕迹
  • 局限:受 PatchGuard (KPP) 监控,修改内核数据可能触发蓝屏。
 
 

四、无法绕过的防御(2026 年)

 
  • 内核回调监控(Ob/Ps/Cm RegisterCallbacks):EDR 在内核注册回调,监控进程 / 线程 / 注册表操作。
  • 内存完整性(HVCI / Memory Integrity):开启后内核内存为只读,禁止内存补丁,DSEFix 等失效。
  • ETW-TI 内核追踪:Windows 事件追踪捕获内核级内存操作、句柄获取。
  • 硬件级防护(DMA 防护、IOMMU):防止外部设备直接读写内存。
 

五、法律与安全警示

 
⚠️ 重要提醒:
 
  • 此类技术常用于恶意软件、游戏外挂、渗透攻击
  • 未经授权在他人计算机上使用,涉嫌非法控制计算机信息系统罪,属刑事犯罪
  • 安全厂商正持续升级内核层、硬件层防护,无文件技术的窗口期正在缩短
 

总结

 
内存加载驱动是成熟且有效的绕过技术,核心是 “无文件、手动映射、绕过签名、无痕注册”。它能轻松绕过传统 AV 和部分 EDR,但在开启 内存完整性(HVCI)内核回调监控 的现代系统中,检测与防御能力已大幅增强。
© 版权声明
THE END
喜欢就支持一下吧
点赞7 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容