1. 程式人生 > >Ubuntu本地提權(CVE-2017-16995)復現

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

[email protected]172.16.12.2 ,密碼:ichunqiu,上傳命令: put upstream44.c 

 

ichunqiu是一個測試的普通許可權使用者

接著,我們使用ssh登入目標機器的ichunqiu使用者

ssh

這時可以看見我們的使用者許可權,沒有cat /etc/shadow的許可權

permission

接下來開始編譯該檔案,編譯命令:

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