0
1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9
0x00 简介
在2020年12月中旬发现的蔓灵花(BITTER)组织的攻击组件的分析过程中发现其利用了win32kfull模块的一个0day漏洞,该漏洞是在 win32kfull.sys 中的可以实现内核提权的漏洞,该漏洞利用Windows操作系统win32k内核模块一处用户态回调机会,破坏函数正常执行流程,造成窗口对象扩展数据的属性设置错误,最终导致内核空间的内存越界读写。
0x01 漏洞概述
该漏洞的根本原因是Windows窗口创建(CreateWindowEx)过程中,在 Windows 图形驱动 win32kfull!xxxCreateWindowEx 函数调用win32kfull!xxxClientAllocWindowClassExtraBytes 后而导致可以获得一次修改基于内核态桌面堆起始地址+指定offset地址数据的机会,从而实现任意地址读写,然后获取内核地址,通过遍历EPROCESS链查找system进程,并拷贝system进程token值本进程来完成提权。
0x02 影响版本
0x03 环境搭建
1.安装Vmware Workstation Pro或其他虚拟机软件.
2.安装受影响版本的Windows系统。
本次测试使用的是 Windows 10 Version 1903 x64。
0x04 漏洞复现
1.下载exp程序
https://github.com/Ascotbe/Kernelhub/blob/master/CVE-2021-1732/CVE-2021-1732.exe
2.关闭win10虚拟机的Windows Defender的保护,防止拷贝exp程序进去就被清理掉。
打开Windows安全中心。如下图所示:
点击关闭 “实时防护” 和 “自动提交样本”。如下图所示:
2.将下载的exp程序拷贝到虚拟机桌面或其他位置。如下图所示:
3.Win键 + R 快捷键运行 “cmd” 来打开命令窗口,执行以下指令进入exp程序所在目录
cdC:\Users\zeeker\Desktop\CVE-2021-1732
4.执行以下指令(可以将参数 "whoami" 替换为任意指令)
CVE-2021-1732.exewhoami
可以看到exp程序成功利用漏洞以系统权限执行了"whoami"指令,在最下方返回的结果来看,该进程成功获得了系统权限。
0x05 修复建议
微软官方已于2021年2月发布该漏洞相应的补丁包,可通过以下链接获取相关安全补丁进行安装:
https://msrc.microsoft.com/update-guide/vulnerability/CVE-2021-1732
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)