0xKern3lCrush-M4te-CVE-2026-0828Windows BYOVD研究与终端侦察笔记严格用于教育/安全研究目的。目标通过公开披露文档理解和研究自带易受攻击驱动技术——不包含任何可工作的漏洞利用代码。⚠️ 关键道德与法律警告操作前必读本项目不是漏洞利用交付机制。切勿在任何系统上加载包含的驱动样本——即使在实验室环境中也需要隔离的虚拟机快照回滚。未经明确授权加载已签名的易受攻击驱动程序或发送恶意IOCTL在大多数国家属于重罪计算机欺诈/滥用、未经授权访问等。仅用于您拥有或具有书面测试权限的系统。即使是研究活动也可能导致机器损坏、操作系统安装损坏或触发不可逆的EDR警报。项目动机EDR/AV产品越来越注重保护自身进程PPL、受保护进程、受限令牌。攻击者通过BYOVD进行绕过投放合法但易受攻击的已签名驱动→滥用弱IOCTL处理程序→实现内核级任意进程终止/内存读写等。本项目帮助红蓝队识别恶意软件中的BYOVD模式MedusaLocker、Qilin、Storm-2603等理解弱驱动设计缺陷构建更好的检测机制驱动程序阻止列表、WDAC规则、IOCTL监控功能特性核心功能模块安全用户模式侦察代码使用Toolhelp32 API进行进程枚举列出常见EDR/AV/安全服务名称静态分析文档包含真实BYOVD案例的分析记录和静态分析工件漏洞研究文档详细分析CVE-2026-0828和CVE-2025-7771等技术细节驱动哈希验证提供已知易受攻击驱动的SHA256哈希值用于验证研究内容覆盖BYOVD常见模式2024-2026年Safetica ProcessMonitorDriver.sys漏洞分析ThrottleStop.sys在MedusaLocker勒索软件中的滥用分析安全研究和负责任披露流程安装指南系统要求Windows操作系统Windows 10 x64及以上版本C编译器支持Windows API管理员权限用于驱动相关研究但代码本身不依赖依赖项项目主要包含C代码依赖以下Windows APIWindows.htlhelp32.h标准C库stdio.h, string.h等环境配置研究环境设置使用完全隔离的虚拟机环境配置虚拟机快照以便随时回滚禁用网络连接以防止意外传播代码编译使用Visual Studio或MinGW编译研究代码确保链接正确的Windows库使用说明基础研究代码示例项目包含一个用于进程枚举的安全研究代码示例演示如何识别潜在的安全产品进程#include0xtargets.h// 示例遍历目标进程列表仅用于研究目的staticconstchar*target_processes[]{MsMpEng.exe,// Microsoft DefenderNisSrv.exe,// Defender Network InspectionAvastSvc.exe,// Avast serviceWRSA.exe,// Webroot SecureAnywherecsfalconservice.exe,// CrowdStrike FalconSentinelAgent.exe,// SentinelOne agentNULL// 列表结束标记};研究流程进程侦察阶段使用Toolhelp32 API枚举系统进程驱动分析阶段分析已加载驱动识别易受攻击的驱动模式识别阶段匹配已知的BYOVD攻击模式防御策略制定基于发现制定相应的防御策略驱动验证项目提供已知易受攻击驱动的SHA256哈希值用于验证# 验证驱动文件哈希PowerShellGet-FileHash.\ProcessMonitorDriver.sys-Algorithm SHA256已知哈希包括ProcessMonitorDriver.sys版本11.11.4.0ProcessMonitorDriver.sys版本10.5.75.0Safetica终端客户端安装程序核心代码1. 进程枚举与目标识别0xtargets.h#ifndef_0XTARGETS_H_#define_0XTARGETS_H_// 常见EDR/AV/安全产品进程名称// 仅用于教育侦察研究// 灵感来自真实世界的BYOVD和勒索软件目标列表// Safetica、MedusaLocker风格的终止列表等// 可根据实验室/研究目标自由扩展staticconstchar*target_processes[]{MsMpEng.exe,// Microsoft DefenderNisSrv.exe,// Defender Network InspectionAvastSvc.exe,// Avast serviceWRSA.exe,// Webroot SecureAnywherecsfalconservice.exe,// CrowdStrike FalconSentinelAgent.exe,// SentinelOne agentcb.exe,// Carbon Black (旧命名)CylanceSvc.exe,// Cylance Protectmcshield.exe,// McAfee Endpoint SecurityccSvcHst.exe,// Symantec / Nortonavp.exe,// Kasperskyekrn.exe,// ESETbdagent.exe,// BitdefenderSAVService.exe,// Sophosmbamservice.exe,// MalwarebytesSafeticaAgent.exe,// Safetica (与CVE-2026-0828研究相关)NULL// 列表结束标记——请勿删除};#endif// _0XTARGETS_H_2. 安全研究主程序框架0xPoC.c片段#includestdio.h#includewindows.h#includetlhelp32.h#includestring.h#include0xtargets.h// 定义Safetica驱动使用的IOCTL代码仅用于研究分析#defineIOCTL_KILL_PROCESS0xB822200Cintmain(void){HANDLE hDeviceINVALID_HANDLE_VALUE;BOOL bResultFALSE;DWORD bytesReturned0;// 注意C字符串中的反斜杠必须转义hDeviceCreateFileA(\\\\.\\STProcessMonitorDriver,GENERIC_READ|GENERIC_WRITE,0,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL);if(hDeviceINVALID_HANDLE_VALUE){printf([-] 无法打开驱动句柄。错误码%lu\n,GetLastError());printf([!] 驱动是否已加载尝试运行sc start STProcessMonitor\n);return-1;}printf([] 成功连接到Safetica驱动。\n);// 注意此代码仅用于研究目的实际执行需要相应权限和环境// 在实际研究中此部分代码会被注释或替换为安全的研究逻辑printf([*] 研究模式仅分析驱动接口不执行实际操作\n);CloseHandle(hDevice);return0;}3. 进程枚举功能实现// 安全进程枚举功能示例voidenumerate_processes(){HANDLE hSnapshotCreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);if(hSnapshotINVALID_HANDLE_VALUE){printf([-] 无法创建进程快照。错误码%lu\n,GetLastError());return;}PROCESSENTRY32 pe32;pe32.dwSizesizeof(PROCESSENTRY32);if(Process32First(hSnapshot,pe32)){printf([*] 系统进程列表\n);printf(%-30s %-10s\n,进程名称,PID);printf(------------------------------------------\n);do{printf(%-30s %-10lu\n,pe32.szExeFile,pe32.th32ProcessID);}while(Process32Next(hSnapshot,pe32));}CloseHandle(hSnapshot);}4. BYOVD模式分析代码框架// BYOVD模式分析框架typedefstruct{chardriver_name[256];chardevice_path[256];unsignedlongvulnerable_ioctl;chardescription[512];}byovd_pattern;// 常见BYOVD模式定义byovd_pattern common_patterns[]{{ProcessMonitorDriver.sys,\\\\.\\STProcessMonitorDriver,0xB822200C,Safetica风格简单IOCTL滥用通过PID终止任意进程},{ThrottleStop.sys,\\\\.\\ThrottleStop,0x9C40A040,MedusaLocker风格物理内存R/W通过MmMapIoSpace进行内核补丁}};voidanalyze_byovd_patterns(){intpattern_countsizeof(common_patterns)/sizeof(byovd_pattern);printf([*] BYOVD常见模式分析2024-2026\n);printf(\n);for(inti0;ipattern_count;i){printf(\n模式 %d:\n,i1);printf( 驱动名称%s\n,common_patterns[i].driver_name);printf( 设备路径%s\n,common_patterns[i].device_path);printf( 漏洞IOCTL0x%lX\n,common_patterns[i].vulnerable_ioctl);printf( 描述%s\n,common_patterns[i].description);}}5. 驱动安全状态检查// 检查驱动安全状态的实用函数typedefenum{DRIVER_STATUS_UNKNOWN,DRIVER_STATUS_SAFE,DRIVER_STATUS_VULNERABLE,DRIVER_STATUS_MALICIOUS}driver_security_status;driver_security_statuscheck_driver_safety(constchar*driver_path){// 注意这是一个框架函数实际实现需要集成哈希验证和签名检查printf([*] 检查驱动安全状态%s\n,driver_path);printf([!] 警告此功能仅为框架需要完整实现\n);// 实际实现应包括// 1. 计算驱动文件SHA256哈希// 2. 与已知易受攻击驱动哈希列表比对// 3. 检查驱动数字签名有效性// 4. 验证发行者证书returnDRIVER_STATUS_UNKNOWN;}这些核心代码示例展示了项目的研究框架和安全分析方法所有代码都遵循安全研究的最佳实践强调教育目的和防御性安全研究的重要性。FINISHED6HFtX5dABrKlqXeO5PUv/01wuE7zR26u4WM2rXdx9gF5yjZ/R9JlAdY0/y7IEg0ffvjgsJHDhAahZrIFempw更多精彩内容 请关注我的个人公众号 公众号办公AI智能小助手对网络安全、黑客技术感兴趣的朋友可以关注我的安全公众号网络安全技术点滴分享