Linux本地內核提權漏洞復現(CVE-2019-13272)

Linux本地內核提權漏洞復現(CVE-2019-13272)html

1、漏洞描述linux

當調用PTRACE_TRACEME時,ptrace_link函數將得到對父進程憑據的RCU引用,而後將該指針指向get_cred函數。可是,對象struct cred的生存週期規則不容許無條件地將RCU引用轉換爲穩定引用。android

PTRACE_TRACEME獲取父進程的憑證,使其可以像父進程同樣執行父進程可以執行的各類操做。若是惡意低權限子進程使用PTRACE_TRACEME而且該子進程的父進程具備高權限,該子進程可獲取其父進程的控制權而且使用其父進程的權限調用execve函數建立一個新的高權限進程。git

注:該漏洞利用前提:須要目標服務器有桌面環境,因此很雞肋的漏洞github

2、漏洞影響版本ubuntu

目前受影響的Linux內核版本:服務器

Linux Kernel < 5.1.17ssh

3、漏洞環境搭建函數

靶機:kali 2018.2 測試

一、 建立一個低權限帳戶

  

二、切換到test用戶, 查看系統內核版本是否小於5.1.17, 查看當前用戶和當前用戶的UID

  

 4、漏洞復現

一、切換到tmp目錄下,下載漏洞利用腳本

  

二、查看poc.c的權限,並設置執行權限

  

三、編譯poc.c

  

四、執行exp,提權成功

  

5、漏洞修復

補丁地址: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=6994eefb0053799d2e07cd140df6c2ea106c41ee

6、後記

一、整體來講這個漏洞的限制仍是很大的,首先要找到一個內部有減權的suid程序,pkexec是linux桌面freedestop上的驗證程序,也就是說非桌面版本就可能沒有這個東西,要用它也只能在桌面上。像android,它把suid程序都去除了,這個漏洞就幾乎造不成什麼影響。

  

二、在另外一臺電腦(ubuntu)經過ssh鏈接靶機,而後執行提權程序,發現提權失敗,這是由於經過ssh登陸時執行提權腳本沒有桌面環境

  

 

   

三、做者已測試成功的版本

  

 

 

 

---------------------------------------------------------------------------------------------------

參考: exp下載地址:https://github.com/bcoles/kernel-exploits/tree/master/CVE-2019-13272

 

原文出處:https://www.cnblogs.com/yuzly/p/11745677.html

相關文章
相關標籤/搜索