千家信息网

怎么进行CVE-2019-1132详细分析

发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,今天就跟大家聊聊有关怎么进行CVE-2019-1132详细分析,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。CVE-2019-1132详细分析
千家信息网最后更新 2026年10月31日怎么进行CVE-2019-1132详细分析

今天就跟大家聊聊有关怎么进行CVE-2019-1132详细分析,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

CVE-2019-1132详细分析

一 、背景

ESET研究人员发现了Buhtrap组织在针对东欧的APT攻击中使用的样本,样本使用了Windows的0 DAY漏洞。微软发布了针对此漏洞的补丁,这个漏洞是CVE-2019-1132。因为该漏洞被长期使用在APT攻击中,所以这次事件也引起了很大的影响。本文的主要目的是对CVE-2019-1132这个漏洞做一个详细的分析,利用的PoC来自于SHIVAM TRIVEDI。

安全人员发现该漏洞是一个提权漏洞,利用了win32k.sys中的空指针间接引用。SHIVAM TRIVEDI提供的PoC在Windows 7 32(Win7 32Bit Build 7601版本)位上可以成功利用。

漏洞描述:

漏洞编号:CVE-2019-1132

漏洞描述:当Win32k组件无法正确处理内存中的对象时,Windows中存在一个提权漏洞,即"Win32k提权漏洞"

受影响版本:

Windows 7 for 32-bit Systems Service Pack 1

Windows 7 for x64-based Systems Service Pack 1

Windows Server 2008 for 32-bit Systems Service Pack 2

Windows Server 2008 for Itanium-Based Systems Service Pack 2

Windows Server 2008 for x64-based Systems Service Pack 2

Windows Server 2008 R2 for Itanium-Based Systems Service Pack 1

Windows Server 2008 R2 for x64-based Systems Service Pack 1

二、行为流程

三、详细分析

1. 利用的基础

为了完成这个利用,首先需要创建一个多级菜单和两个窗口(我们称它们为Main窗口和Hunt窗口)。


这三部分是完成整个利用的所有基础,利用的两个关键步骤在于tagPopupMenu和tagWND数据结构的修改(tagPopupMenu和tagWND分别是内核中表示菜单和窗体的数据结构。)。下面我们来看一下重要的代码。

首先,需要创建一个3级的菜单,第一个菜单我们称为Root菜单,其他两个菜单被设置为Root菜单的子菜单。

然后创建两个窗体,即Main窗体和Hunt窗体。


在窗体创建完成以后,需要给该进程设置窗体的消息Hook和事件Hook。

对于消息Hook来说,重要之处是在窗体创建的时候,向第一个Menu发送MN_CANCELMENUS消息,从而销毁第一个菜单。

对于事件Hook来说,向窗体发送特定的菜单消息,以保证能触发特定的内核函数。


2.利用的过程

接下来,我们看一下,漏洞的形成和触发。

在这里我们要先说一下内核中菜单的数据结构tagWnd,tagWnd数据结构中的ppopupmenuRoot项指向了它的子菜单的数据结构,当它被销毁的时候,这个指针被置为null,也就是0。

触动漏洞的过程开始于TrackPopupMenu的使用。

当上面基础都准备好后,在调用TrackPopupMenu函数在Main窗体上显示菜单时,菜单被创建,所以菜单窗体的消息HOOK函数就会被执行,当消息HOOK函数检测到WM_NCCREATE消息和其他条件都满足的时候,就向ROOT菜单发送一个WM_CANCELMENUS消息,以销毁ROOT菜单。这个时候ROOT菜单数据结构的ppopupmenuRoot项变成了0。而这个时候,其他的子菜单仍然会继续创建。

ppopupmenuRoot为0,意味着在ROOT菜单可以引用地址为0的子菜单。接下来,在地址为0的地方分配内存,在这里构造了一个虚假的菜单。

和这个虚假的菜单相关联的重要概念是tagWND,也就是内核窗体数据结构。我们看一下tagWND数据结构。其中有一个非常重要的标识bServerSideWindowProc,这个标识的值如果被置1,那么窗体的回调函数会在内核态中被执行。

该利用使用了Hunt窗体作为最终的利用目标。为了达到这个目的,首先要获取窗口数据结构地址。

我们可以看到名为xxHMValidateHandle的函数获取了PTHREDSKHEAD的数据结构,这个结构中包含了窗体数据结构的地址。这个函数的原型应该来自于内核函数win32k!ValidateMenu。

然后,Hunt窗体的数据结构的一个特殊地址被赋值给了这个精心构造的假菜单。

我们再次调用TrackPopupMenuEx函数通过ROOT菜单和虚假的菜单来撬动利用。这次,Hunt窗体的bServerSideWindowProc会被置为1。

最后向Hunt窗体发送消息0x1234,Hunt窗体的默认回调函数就会在内核空间中执行了。

在Hut窗体的默认回调函数中拷贝SYSMTEM进程的TOKEN给自身,就实现了进程的提权操作。

(上图是成功提权)


四、防护措施

1、不要轻易打开可疑文件,如电子邮件、可疑链接、可疑文档等等。

2、及时安装系统补丁,使用最新版本的软件。

3、安装杀毒软件,及时更新病毒库。

4、使用"铁穹高级持续性威胁预警系统"(简称"铁穹")发现潜在的攻击行为,及时响应和阻断,避免造成业务中断或经济损失。

看完上述内容,你们对怎么进行CVE-2019-1132详细分析有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注行业资讯频道,感谢大家的支持。

菜单 窗体 漏洞 结构 数据 数据结构 函数 消息 内核 分析 地址 时候 重要 两个 可疑 虚假 事件 内容 基础 版本 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 新华互联网科技 互联网科技深圳 科技信息互联网 互联网科技上市公司 火传媒上海互联网科技 互联网科技宣传片 广西拼得多互联网科技有限公司 互联网科技中介 欧洲十大科技互联网公司 成都互联网科技公司100强 广州恒生互联网科技有限 黑科技闪耀互联网之光 厦门千工互联网科技有限公司 允成互联网科技有限公司融资 华夏恒生科技与互联网科技 银川新华互联网科技学校是国营吗 数字互联网科技有限公司 广西泛欧互联网科技有限公司 三亚科技创新互联网基地 利用互联网等科技手段 精品咖啡豆 湖南永感互联网科技有限公司 深圳互联网科技公司 广州宏创互联网科技 银优互联网科技有限公司 盛创互联网科技有限公司 宁夏众和广鑫互联网科技有限公司 语蝶互联网科技有限公司 宜昌元轩互联网科技有限公司 郑州欣桑互联网科技有限公司
0