Windows本地权限提升漏洞可以在Windows 10系统获得管理员权限。
2022年1月微软补丁日,微软修复了一个Win32k权限提升漏洞,CVE编号为CVE-2022-21882,该漏洞是之前CVE-2021-1732漏洞补丁的绕过。CVE-2022-21882是一个本地权限提升漏洞,攻击者利用该漏洞可以在Windows 10系统上获得管理员权限、创建新的管理员账户、执行特权命令。漏洞影响所有Windows 10版本。
CVE-2022-21882:win32k权限提升漏洞
攻击者在用户模式调用相关的GUI API来进行kernel调用,如xxxMenuWindowProc、xxxSBWndProc、xxxSwitchWndProc和xxxTooltipWndProc。这些kernel函数调用会触发xxxClientAllocWindowClassExtraBytes回调。攻击者可以通过hook KernelCallbackTable 中的xxxClientAllocWindowClassExtraBytes来拦截回调,使用NtUserConsoleControl 方法来设置tagWND 对象的ConsoleWindow flag,这一步操作可以修改窗口类型。
回调后,系统不会检查窗口的类型是否修改,由于类型混淆会导致错误的数据被应用。Flag修改前系统会将tagWND.WndExtra保存为一个用户模式指针,flag设置后,系统会将tagWND.WndExtra 看作为kernel desktop heap的偏移量,攻击者控制了该偏移量后,就可以引发越界读和写。
漏洞利用
近日,研究人员公开了该漏洞的PoC利用,CERT/CC安全研究人员Will Dormann确认了该漏洞利用可以实现权限提升。BleepingComputer也测试了该漏洞利用,并在Windows 10系统上实现了权限提升,以system权限打开了Notepad,如下图所示:
但是该漏洞利用在Windows 11操作系统上并未成功。
该漏洞2年前就被发现
早在2年前,以色列安全研究人员就发现了该漏洞,但由于微软漏洞奖励计划给予的漏洞奖励过少而未公开该漏洞。
CVE-2022-21882技术细节参见:https://googleprojectzero.github.io/0days-in-the-wild//0day-RCAs/2022/CVE-2022-21882.html