當前位置:
首頁 > 新聞 > CVE-2019-0859:win32k.sys 0 day漏洞

CVE-2019-0859:win32k.sys 0 day漏洞

卡巴斯基的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,這可以幫助攻擊者完全控制受害者系統。


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 嘶吼RoarTalk 的精彩文章:

小米手機預裝App安全中心將用戶暴露在威脅之中
BOM歸來

TAG:嘶吼RoarTalk |