Microsoft Windows Win32k本地提权漏洞分析

本文详细分析了Microsoft Windows Win32k本地提权漏洞CVE-2015-2546,涉及UAF错误,影响多个Windows版本。漏洞利用可能导致内核模式下任意代码执行。文章讲解了漏洞成因、受影响版本、解决方法,并提供了静态与动态分析,包括漏洞触发流程、补丁对比和EXP利用流程。
摘要由CSDN通过智能技术生成

漏洞信息

1 漏洞简介

漏洞名称:Microsoft Windows Win32k本地提权漏洞

漏洞编号:CVE-2015-2546

漏洞类型:UAF

影响范围:Windows 7 Service Pack 1

                  Windows Vista SP2

                  Windows Server 2008 sp2

                  Windows Server 2008 r2 x64 sp1

CVSS3.0:N/A   

CVSS2.0: 6.9

2 组件概述

win32k.sys是Windows的多用户管理的sys文件

MicrosoftWindows是美国微软(Microsoft)公司发布的一系列操作系统。kernel-modedrivers是其中的一个内核驱动管理软件。Graphics是其中的一个图形驱动器组件。MicrosoftWindows内核模式驱动程序中存在特权提升漏洞,该漏洞源于程序没有正确地处理内存中的对象。本地攻击者可利用该漏洞在内核模式下运行任意代码奇热

3 影响版本

Windows 7 Service Pack 1

Windows Vista SP2

Windows Server 2008 sp2

Windows Server 2008 r2 x64 sp1

4 解决方案

http://technet.microsoft.com/security/bulletin/MS15-097

漏洞复现

1 环境搭建

Windows:Windows 7 sp1 x86

win32k.sys:6.1.7601.17154

2 复现过程

获取exp,编译cpp文件,获得可执行文件。在编译过程中只有x86的编译成功了x64的暂未成功

之后在靶机上面执行exp

Microsoft Windows Win32k本地提权漏洞分析

漏洞分析

1 基本信息

· 漏洞文件win32k.sys

· 漏洞函数xxxMNMouseMove

· 漏洞对象pPopupMenu

2 背景知识

在xxxMNMouseMove函数中,xxxSendMessage(pwnd, 0x1F0,…)发起了一次用户模式回调。在这次回调中,攻击者可以销毁Menu窗口,释放tagPOPUPMENU对象并占位重用。当回调返回内核之后,补丁前的xxxMNmouseMove并没有对已释放的pPopupMenu进行验证。之后pPopupMenu被传入xxxMNHideNextHierarchy,xxxMNHideNextHierarchy会对tagPOPUPMENU.spwndNextPopup发送消息,攻击者创建合适的对象占用被释放的tagPOPUPMENU内存,构造好tagPOPUPMENU.spwndNextPopup的数据,即可实现内核任意代码执行。

3 补丁对比

bindiff进行比较,可以发现在调用SendMessage函数之后增加了一层判断。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值