Linux kernel(CVE-2018-17182)提權漏洞復現


 

 0x01 漏洞前言

     Google Project Zero的網絡安全研究人員發布了詳細信息,並針對自內核版本3.16到4.18.8以來Linux內核中存在的高嚴重性漏洞的概念驗證(PoC)漏洞利用。由白帽黑客Jann Horn發現,內核漏洞(CVE-2018-17182)是Linux內存管理子系統中的緩存失效錯誤,導致釋放后使用漏洞,如果被利用,可能允許攻擊者獲得根權限目標系統上的特權。免費使用后(UAF)漏洞是一類內存損壞錯誤,非特權用戶可利用這些錯誤來破壞或更改內存中的數據,從而導致拒絕服務(系統崩潰)或升級權限以獲得管理權限訪問系統Linux的內核漏洞於9月18日在OSS-安全郵件列表中公開,並在第二天在上游支持的穩定內核版本4.18.9,4.14.71,4.9.128和4.4.157中進行了修補。在58年3月16日版本中也有一個修復程序。為版本4.15.0-34.37的Ubuntu 18.04,內核linux-image-4.15.0-34-generic附加了一個丑陋的漏洞。它需(40min~1hour)在彈出root shell之前運行。

0x02 漏洞影響版本

Linux kernel 4.18.8及之前版本

0x03 漏洞復現

1. 本次復現環境:ubuntu18.04*64  內核版本:linux-image-4.15.0-34-generic

2. 添加更新源

sudo vi /etc/apt/sources.list

deb-src  https://mirrors.tuna.tsinghua.edu.cn/help/ubuntu/ main restricted

3. 更新操作系統

sudo apt-get update

4. 更新操作系統

sudo apt-get dist-upgrade

5. 安裝GCC和G++

sudo apt-get install gcc

sudo apt-get install g++

6.新建一個test賬號

7.下載利用exp

git clone  https://github.com/backlion/CVE-2018-17182.git

8.進入到vmacache目錄,刪除已編譯好的文件。

rm puppet  puppeteer  suidhelper

9.通過運行compile.sh進行編譯,當前目錄下會生成三個二進制文件分別為:puppetpuppeteersuidhelper

10.然后切換到普通用戶權限test:


11.執行二進制提權文件puppeteer,大約需要等11個半小時,最終看到從test權限提升為root權限。

 

0x04漏洞修復建議

目前廠商已發布升級補丁以修復漏洞,補丁獲取鏈接:

http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=7a9cdebdcc17e426fb5287e4a82db1dfe86339b2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 




免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM