10、突破用户模式下的Windows内核通知例程

突破用户模式下的Windows内核通知例程

1. 漏洞验证与利用程序开发

为了验证相关假设,开发了概念验证的利用程序。通过在PcaSvc进程中挂钩OpenProcess函数,将新进程的PID通过共享内存传递给另一个进程,并使用信号量恢复其执行,使其能够调用OpenProcess并获得完全特权的句柄。这一利用程序证实了PcaSvc能够超越反作弊驱动程序使用的内核进程通知例程。

分析PcaSvc的内部机制后发现,它使用作业对象来接收通知。基于此,创建了独立的利用程序hFromJob来复制PcaSvc的行为。此外,还开发了第二个利用程序hThemAll,它限制更少,进一步证实了该漏洞源于进程初始化期间的不安全时间段。

2. 漏洞时间周期测量

测量漏洞时间周期并非易事,因为它取决于硬件特性(如CPU频率、核心数、线程数)以及当前系统状态等难以完全控制的参数。所有实验都在空闲系统的2.40 GHz单核虚拟机中进行。

测量漏洞时间周期的方法是统计在保护机制建立之前能够获取的完全特权句柄数量,并将获得的第一个非完全特权句柄作为利用时间窗口结束的标志。具体使用了以下三种测量方法:
- RDTSC(读取时间戳计数器)CPU指令 :获取CPU周期数。
- QueryPerformanceCounter :微软提供的高分辨率时间戳,可用于时间间隔测量。
- GetTickCount64 :使用CPU时钟给出以毫秒为单位的时间间隔。

2.1 hFromJob测量结果

修改hF

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值