作者:Leeqwind
作者博客:https://xiaodaozhi.com/exploit/32.html
本文將對 CVE-2016-0165 (MS16-039) 漏洞進行一次簡單的分析,並嘗試構造其漏洞利用和內核提權驗證代碼,以及實現對應利用樣本的檢測邏輯。分析環境為 Windows 7 x86 SP1 基礎環境的虛擬機,配置 1.5GB 的內存。
本文分為三篇:
從 CVE-2016-0165 說起:分析、利用和檢測(上)
從 CVE-2016-0165 說起:分析、利用和檢測(中)
從 CVE-2016-0165 說起:分析、利用和檢測(下)
0x0 前言
CVE-2016-0165 是一個典型的整數上溢漏洞,由於在 win32k!RGNMEMOBJ::vCreate
函數中分配內核池內存塊前沒有對計算的內存塊大小參數進行溢出校驗,導致函數有分配到遠小於所期望大小的內存塊的可能性。而函數本身並未對分配的內存塊大小進行必要的校驗,在後續通過該內存塊作為緩衝區存儲數據時,將會觸發緩衝區溢出訪問的 OOB 問題,嚴重情況將導致系統 BSOD 的發生。