利用 Linux Kernel 漏洞
利用 Linux Kernel 漏洞 Kernel 核心漏洞利用是一種很好的提權方法,但成功可能不僅取決於目標核心版本的匹配,還取決於作業系統風格的匹配,例如 Debian、RHEL、Gentoo 等也是很重要的條件 透過檢查 cat /etc/issue 檔案來收集有關目標作業系統的資訊 : Ubuntu 16.04.4 LTS 接下來使用標準系統命令檢查核心版本和系統架構 uname -r & arch 依據上述的資訊推斷目標系統為 : x86_64 架構上運行 Ubuntu 16.04.3 LTS(核心 4.4.0-116-generic) 還記得之前用過的漏洞查找指令 searchsploit,指令 searchsploit "linux kernel Ubuntu 16 Local Privilege Escalation" | grep "4." | grep -v " < 4.4.0" | grep -v "4.8" - 先過濾包含 4. 的內容 - 再去掉 < 4.4.0 的內容 - 與過濾掉 4.8 的內容 未過濾前內容 | grep "4." 的結果........感覺好像是一樣 去掉小於 4.4.0 | grep -v " < 4.4.0" 最後加上 | grep -v "4.8" 去掉 4.8 的產出 直接使用最後一個 Linux Kernel < 4.13.9 (Ubuntu 16.04 / Fedora 27) - Local Privilege Escalation | linux/local/45010.c 因為它似乎較新,也與我們的核心版本匹配,因為它針對的是 4.13.9 以下的任何版本 將檔案 COPY 到當前目錄,注意 *.c 是未編譯過前的檔案 讓我們看一下前 20 行的內容 head 45010.c -n 20 很幸運的這一行直接告訴我們要透過 gcc 進行編譯 gcc cve-2017-16995.c -o cve-2017-16995 且語法是編譯前檔案與輸出編譯後檔案,先將名稱做成一樣 mv 45010.c...