Ubuntu本地提權(CVE-2017-16995)復現
面向新手,大佬勿噴
漏洞概述
2018-03-16有網友釋出訊息:ubuntu 最新版本(Ubuntu 16.04)存在高危的本地提權漏洞,漏洞編號為CVE-2017-16995。該漏洞存在於呼叫eBPF bpf(2)的Linux核心系統中,當用戶提供惡意BPF程式使eBPF驗證器模組產生計算錯誤,導致任意記憶體讀寫問題, 低許可權使用者可使用此漏洞獲得管理許可權。
該漏洞在老版本中已經得到修復,然而最新版本中任可被利用,官方暫未釋出相關補丁,漏洞處於0day狀態。據說這個exp十分犀利,秒aws秒阿里。
該exp地址:http://cyseclabs.com/exploits/upstream44.c
深入分析漏洞原理及EXP文章地址:https://xz.aliyun.com/t/2212
影響範圍
Linux Kernel Version 4.14-4.4
僅影響Ubuntu/Debian發行版本
經i春秋安全研究員測試 Ubuntu 16.04.1~16.04.4 均存在此漏洞
實驗步驟(此次我們用i春秋的線上實驗(/捂臉))
第1步 漏洞驗證
下載EXP
使用sftp,將EXP檔案上傳到目標機上(一般情況下提權檔案由shell上傳,此次不做為重點介紹)
命令為 sftp ichunqiu
,上傳命令: put upstream44.c
ichunqiu
是一個測試的普通許可權使用者
接著,我們使用ssh登入目標機器的ichunqiu
使用者
這時可以看見我們的使用者許可權,沒有cat
/etc/shadow
的許可權
接下來開始編譯該檔案,編譯命令:
gcc -o upstream44 upstream44.c
得到可執行檔案upstream44
最後,執行剛剛編譯後的檔案,成功提升至root許可權
我們再來 cat /etc/shadow 一下,現在可以看見內容了
第2步 漏洞緩解
官方已經發布了補丁,但是可以通過修改核心引數來限制普通使用者使用bpf(2)系統呼叫的方式以規避風險。
echo 1 > /proc/sys/kernel/unprivileged_bpf_disabled
我們執行該命令後,再切換至普通使用者執行EXP檢視效果
可以看見報錯:
error: Operation not permitted
,操作不被允許
參考連結:
https://www.cnblogs.com/rebeyond/p/8921307.html
https://www.ichunqiu.com/course/61491?f=1
https://www.freebuf.com/column/165887.html
https://www.freebuf.com/news/165608.html
https://blog.csdn.net/fly_hps/article/details/80085750v