文章总结: 本文深入分析了BYOVD(自带漏洞驱动)攻击,这是一种利用合法签名但存在漏洞的驱动来获取内核权限、绕过EDR检测的后渗透攻击策略。文章详细介绍了其攻击流程,并从技术角度进行了剖析,最后提供了包括利用LoLDrivers数据库、监控Windows事件日志、行为特征检测、启用HVCI与WDAC以及使用山石智恺EDR等多种防御方法。 综合评分: 85 文章分类: 恶意软件,漏洞分析,红队,网络安全,应急响应
山石安全能力中心|BYOVD攻击技术分析&防御指南
原创
山石网科 山石网科
山石网科新视界
2026年3月20日 14:00 北京
BYOVD(Bring Your Own Vulnerable Driver,自带漏洞驱动)
一、引言
近年来,随着攻防对抗的升级,越来越多的APT组织、勒索软件团伙采用BYOVD攻击来绕过EDR检测,达成致盲EDR、投放恶意软件、进行勒索等目的。本文将简要介绍BYOVD的攻击链路及其技术底层逻辑,并介绍防御指南(可点击文末“阅读原文”查看深入剖析)。
二、BYOVD介绍
BYOVD(Bring Your Own Vulnerable Driver,自带漏洞驱动)是一种利用带有合法数字签名但存在漏洞的驱动,来获取内核模式(Ring-0)的执行权限的后渗透攻击策略。
BYOVD经典攻击过程
本节以一个典型的驱动漏洞为例,该漏洞源于IOCTL处理函数缺乏校验,可导致任意进程终止,来描绘BYOVD的典型攻击流程。
1)获取管理员权限
加载内核驱动需要目标机器管理员权限,攻击者往往通过网络钓鱼、Web漏洞、本地提权等方式获取管理员权限。
2)投放漏洞驱动
攻击者将带有合法签名但存在漏洞的.sys驱动文件投放到目标机器中,由于该驱动文件本身来源可信且带有合法数字签名,因此不会被杀软或EDR拦截。
3)加载漏洞驱动
攻击者使用Windows SCM或调用NtLoadDriverAPI将漏洞驱动注册为内核服务并加载。
4)提权
漏洞驱动加载到内核后,该驱动即拥有内核(Ring 0)级权限。
5)下发指令
攻击者通过驱动的漏洞点,下发对应的IOCTL指令,指示驱动终止EDR进程。
6)执行恶意操作
此时,免除于EDR的监控与阻断,攻击者可以为所欲为,执行任意操作,包括:投放病毒/勒索软件、禁用ETW监控、在内核中运行rootkit等。
三、BYOVD技术分析
本节以开源项目BlackSnufkin/BYOVD中的漏洞驱动STProcessMonitor作为案例,复现BYOVD攻击,并分析其技术原理。
3.1载荷准备&分析
使用命令编译载荷:
cargo build –release -p STProcessMonitor-Killer
编译后的载荷STProcessMonitor-Killer.exe在target/release目录下,将其拷贝到目标机器,并将.sys文件一并拷贝到同目录(这里使用STProcessMonitor_v114.sys驱动)。右键查看STProcessMonitor_v114.sys文件属性,发现其携带Microsoft Windows Third Party Component CA 2012颁发的有效数字签名证书,尽管有效期为2025.02.12 – 2026.02.19,但证书签发时间戳为2025年5月9日 11:43:46,在有效期范围内,因此,仍然会被微软认定为有效签名。
3.2 载荷执行
目标机器上安装并运行了火绒安全软件,以此作为操作对象。
执行命令尝试杀掉火绒的HipsDaemon.exe进程:
STProcessMonitor-Killer.exe –version 114 -n HipsDaemon.exe
可以看到,执行成功,该进程被成功杀掉:
点开火绒界面,可以看到其显示安全服务异常:
如法炮制,使用命令杀掉火绒的HipsTray.exe进程,也成功了,此时火绒已经成功退出:
STProcessMonitor-Killer.exe –version 114 -n HipsTray.exe
3.3 驱动文件逆向
通过Ghidra对STProcessMonitor_v114.sys文件进行逆向,从DriverEntry入口顺着设备注册逻辑入手,可以看到在处理IOCTL指令的fun_140001b70函数中,存在以下漏洞片段:
当IOCTL设备控制码为0xB822200C时,程序仅校验了缓冲区大小是否大于7字节(近乎于无门槛),即进入了进程终止逻辑。从用户缓冲区获取进程ID,启动ZwOpenProcess以最大权限访问该进程,然后调用ZwTerminateProcess终止目标进程。由于该驱动加载后位于Ring 0,为系统最大权限,使得其可以达成杀死任意进程的目的。
四、BYOVD检测与防御
4.1 LoLDrivers
LoLDrivers(Living Off The Land Drivers)是一个安全社区维护的开源项目,持续收集并记录已被证实存在漏洞、被APT组织或勒索软件滥用的合法签名驱动程序。
LoLDrivers数据库提供了一系列驱动文件哈希(MD5/SHA1/SHA256),可借助以下工具对系统驱动进行哈希匹配扫描:
• Powershell脚本
• LOLDrivers-client客户端程序
• Yara扫描
4.2 Windows事件日志
在BYOVD攻击中,驱动释放、服务注册及模块加载都会在Windows事件日志中存在相应记录,通过配置并收集特定的事件日志,可实现检测:
• Sysmon Event ID 11:文件创建事件日志,监控.sys驱动文件是否由异常进程释放到磁盘。
• System Event ID 7045:服务创建事件日志,当驱动通过SCM注册服务时会触发该日志记录。
• Sysmon Event ID 6:驱动加载日志,记录了驱动加载的文件路径、哈希和签名等重要信息,可用于识别漏洞驱动加载。
• CodeIntegrity Event ID 3004 / 3033:Windows代码完整性日志。驱动因签名无效或命中内核黑名单被系统拦截或审计时会触发该日志,可据此检测。
4.3 基于行为特征检测
基于文件哈希识别的漏洞驱动静态检测存在滞后性,攻击者可能使用尚未被记录的0-day/1-day漏洞驱动,此时可使用基于行为特征的检测方式:
• 异常的IOCTL通信监控:利用 EDR 的底层探针或ETW,监控用户态进程对驱动设备的CreateFile(打开设备句柄)和DeviceIoControl(发送控制码)调用。
• 行为关联分析:监控可疑的进程调用链。
• 敏感API调用与权限提升行为:监控 NtLoadDriver或 ZwLoadDriver等底层 API 的直接调用。
4.4 启用HVCI与WDAC
WDAC是微软提供的原生应用程序控制框架,可通过设置拦截策略,决定哪些驱动能够被加载到内核中。
• 设置微软漏洞驱动拦截列表:通过该名单,开启策略后,系统会在加载驱动时对比文件哈希及特征,阻止拦截列表中的漏洞驱动加载。
• 启用HVCI:其利用Windows虚拟化强制实施内核代码完整性。即使漏洞驱动被加载进内核,也能在硬件层面阻止内核内存页被标记为“可写可执行”,导致恶意rootkit或shellcode注入内核失败,从而降低BYOVD攻击的危害。
4.5 使用山石智恺EDR
面对自带合法签名的 BYOVD 攻击,传统的静态查杀往往无能为力。山石智恺 EDR 在特征匹配的基础上,紧紧盯住 BYOVD 攻击必经的“加载、调用、执行”三大核心阶段,通过高精度的驱动加载监控、强大的行为规则引擎以及细粒度的 API Hooking 技术,为企业终端构建起一道精准、轻量的内核级防御屏障,为您的系统安全保驾护航。
更多详情,请点击“阅读原文”查看深入剖析。
- AI 简讯|重要AI事件:龙虾成为AI领域首要安全威胁;IBM提出Q-Day后量子威胁
- AI Agent(OpenClaw Skills)安全风险分析和防护方案
- 山石安全能力中心|微软2026年3月份漏洞补丁日安全通告
山石网科是中国网络安全行业的技术创新领导厂商,由一批知名网络安全技术骨干于2007年创立,并以首批网络安全企业的身份,于2019年9月登陆科创板(股票简称:山石网科,股票代码:688030)。
现阶段,山石网科掌握30项自主研发核心技术,申请560多项国内外专利。山石网科于2019年起,积极布局信创领域,致力于推动国内信息技术创新,并于2021年正式启动安全芯片战略。2023年进行自研ASIC安全芯片的技术研发,旨在通过自主创新,为用户提供更高效、更安全的网络安全保障。目前,山石网科已形成了具备“全息、量化、智能、协同”四大技术特点的涉及基础设施安全、云安全、数据安全、应用安全、安全运营、工业互联网安全、信息技术应用创新、AI安全、安全服务、安全教育等10大类产品及服务,50余个行业和场景的完整解决方案。
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:山石网科新视界 山石网科 山石网科《山石安全能力中心|BYOVD攻击技术分析&防御指南》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。










评论