Windows 0day提权漏洞分析CVE-2019-0859

640?wx_fmt=png


CVE-2019-0859

Microsoft Win32k特权提升漏洞[CVE-2019-0859] 当Win32k组件无法正确处理内存中的对象时,Windows中存在一个特权提升漏洞。成功利用此漏洞的攻击者可以在内核模式下运行任意代码。然后攻击者可以安装程序; 查看,更改或删除数据; 或创建具有完全用户权限的新帐户。要利用此漏洞,攻击者首先必须登录系统。然后,攻击者可以运行可以利用此漏洞并控制受影响系统的特制应用程序。此更新通过更正Win32k处理内存中对象的方式来解决此漏洞。通过Microsoft Windows Update下载此更新。

https://portal.msrc.microsoft.com/en-US/security-guidance/advisory/CVE-2019-0859

CVE-2019-0859技术细节

CVE-2019-0859是CreateWindowEx函数中提供的Use-After-Free漏洞。在执行期间,CreateWindowEx在首次创建时将消息WM_NCCREATE发送到窗口。通过使用SetWindowsHookEx函数,可以在调用窗口过程之前设置可以处理WM_NCCREATE消息的自定义回调。

在win32k.sys中,所有窗口都由tagWND结构呈现,该结构具有“fnid”字段,也称为功能ID。该字段用于定义窗口的类; 所有窗口都分为ScrollBar,Menu,Desktop等等。我们已经写过与功能ID相关的错误。

在WM_NCCREATE回调期间,窗口的功能ID设置为0,这允许我们从钩子内部为窗口设置额外数据。

更重要的是,我们能够更改挂钩后立即执行的窗口过程的地址。将窗口过程更改为菜单窗口过程会导致执行xxxMenuWindowProc,并且该函数会将函数ID启动到FNID_MENU,因为当前消息等于WM_NCCREATE。但最重要的部分是在将函数ID设置为FNID_MENU之前操作额外数据的能力可以强制xxxMenuWindowProc函数停止菜单的初始化并返回FALSE。因此,发送NCCREATE消息将被视为失败的操作,CreateWindowEx函数将通过调用FreeWindow来停止执行。

640?wx_fmt=png

win32k!xxxFreeWindow + 0x1344在最新的Windows 7 SP1 x64上

我们在野外发现的攻击目标是64位版本的Windows(从Windows 7到Windows 10的旧版本),并使用众所周知的HMValidateHandle技术利用该漏洞绕过ASLR。

在成功利用之后,漏洞利用Base64编码命令执行PowerShell。此命令的主要目的是从https // pastebin.com下载第二阶段脚本。第二阶段PowerShell执行最后的第三阶段,也是PowerShell脚本。

640?wx_fmt=png

第三阶段PowerShell脚本

第三个脚本非常简单,并执行以下操作:

解包shellcode

分配可执行内存

将shellcode复制到已分配的内存

调用CreateThread来执行shellcode

640?wx_fmt=png

来自PowerShell脚本的Shellcode

shellcode的主要目标是制作一个简单的HTTP反弹shell。这有助于攻击者完全控制受害者的系统。

原文链接:

https://securelist.com/new-win32k-zero-day-cve-2019-0859/90435/

CVE-2019-0803

CVE-2019-0803 | Win32k特权提升漏洞 当Win32k组件无法正确处理内存中的对象时,Windows中存在一个特权提升漏洞。成功利用此漏洞的攻击者可以在内核模式下运行任意代码。然后攻击者可以安装程序; 查看,更改或删除数据; 或创建具有完全用户权限的新帐户。要利用此漏洞,攻击者首先必须登录系统。然后,攻击者可以运行可以利用此漏洞并控制受影响系统的特制应用程序。此更新通过更正Win32k处理内存中对象的方式来解决此漏洞。

https://portal.msrc.microsoft.com/en-US/security-guidance/advisory/CVE-2019-0803

具体分析点击见下文

640?wx_fmt=png

感谢您的关注和转发

右下角

朕已阅

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值