卡巴斯基的automatic Exploit Prevention (EP)系统又发现Windows操作系统中的一个漏洞利用。研究人员进一步分享发现是win32k.sys中的一个0 day漏洞。这是卡巴斯基近期发现的Windows系统中的第5个本地权限提升漏洞,前4个分别是:
·CVE-2018-8453
· CVE-2018-8589
· CVE-2018-8611
· CVE-2019-0797
2019年3月17日,卡巴斯基将漏洞报告给了微软,CVE编号为CVE-2019-0859,目前微软已经发布了该漏洞的补丁。
技术细节
CVE-2019-0859是一个CreateWindowEx函数中的UAF(Use-After-Free)漏洞。CreateWindowEx在首次创建和执行过程中会发送WM_NCCREATE消息到窗口。通过使用SetWindowsHookEx函数,可能会设置一个可以在调用窗口步骤后处理WM_NCCREATE消息的定制的回调函数。
在win32k.sys中,所有的窗口都用tagWND结构呈现,结构中有一个名为fnid的域,也叫做Function ID。该域用来定义窗口的类,所有的窗口都回被分成不同的类,比如ScrollBar, Menu, Desktop等。研究人员之前就发现了Function ID相关的漏洞。
在WM_NCCREATE回调过程中,窗口的Function ID会被设置为0,这就允许在hook中为窗口设置额外的数据。然后在hook之后可以修改要执行的窗口步骤的地址。到menu窗口步骤的窗口步骤的修改会导致xxxMenuWindowProc的执行,而且因为当前消息等于WM_NCCREATE,因此函数会初始化Function ID为FNID_MENU。
最重要的是修改设置Function ID为FNID_MENU之前的数据可以迫使xxxMenuWindowProc函数停止菜单的初始化,并返回false。因此,发送NCCREATE消息会认为是一个失败的操作,CreateWindowEx也会停止执行。因为MENU-class窗口没有真正地初始化,因此就可以获取释放的内存块的地址的控制权。
最新Windows 7 SP1 x64上的win32k!xxxFreeWindow+0x1344
研究人员发现的漏洞利用是针对64位Windows系统的,而且使用了著名的HMValidateHandle技术来绕过ASLR。
成功利用之后,漏洞利用会执行含有Base64编码的命令的PowerShell。该命令的主要目标是从https//pastebin.com下载第二阶段的脚本,第二阶段PowerShell会执行第3阶段的PowerShell脚本。
第3阶段PowerShell脚本
第3阶段的脚本非常简单,功能是:
· 解压shellcode
· 分配可执行文件内存
· 复制shellcode到分配的内存
· 调用CreateThread来执行shellcode
PowerShell脚本中的Shellcode
Shellcode的主要目的是进行HTTP逆向shell,这可以帮助攻击者完全控制受害者系统。
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- 如何做好漏洞管理的漏洞修复工作
- 漏洞预警 | ThinkPHP5远程命令执行漏洞
- 漏洞预警 | MetInfo最新版本爆出SQL注入漏洞
- 通过关键字获取漏洞平台最新漏洞信息
- [浏览器安全漏洞一] dll劫持漏洞
- 宝塔漏洞 XSS窃取宝塔面板管理员漏洞高危
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
硅谷百年史
[美]阿伦·拉奥(Arun Rao)、[美]皮埃罗·斯加鲁菲(Piero Scarruffi) / 闫景立、侯爱华 / 人民邮电出版社 / 2014-4-1 / 99.00
一百多年来,仅硅谷就培育了50多位诺贝尔奖获得者,以及无数依靠智慧和知识而成为百万富翁的人。这一人类历史上最伟大的科技创新与创业历程为什么会发生在硅谷?究竟是如何发生的?其他地方是否可以复制出“硅谷”? 《硅谷百年史——伟大的科技创新与创业历程(1900-2013)》以编年体的顺序,从无线电技术、晶体管、集成电路,到人类基因组、互联网和云计算,详尽地记述了硅谷在100多年中所发生的重大科技事......一起来看看 《硅谷百年史》 这本书的介绍吧!