CVE-2017-16995————Ubuntu本地提权漏洞

前言

近期看到了Ubuntu本地提权漏洞所以顺手演示一份,实践一波!

漏洞描述

Ubuntu是一个以桌面应用为主的开源GNU/Linux操作系统,基于Debian GNU/Linux 。近期有白帽子爆出 ubuntu 的最新版本(Ubuntu 16.04)存在本地提权漏洞,漏洞编号为CVE-2017-16995。该漏洞存在于调用eBPF bpf(2)的Linux内核系统中,当用户提供恶意BPF程序使eBPF验证器模块产生计算错误,导致任意内存读写问题, 低权限用户可使用此漏洞获得管理权限。

该漏洞在老版本中已经得到修复,然而最新版本中仍然可被利用,官方暂未发布相关补丁,漏洞处于0day状态。

CVE-2017-16995————Ubuntu本地提权漏洞_第1张图片

影响版本 

Linux Kernel Version 4.14-4.4

仅影响Ubuntu/Debian发行版本

漏洞等级

 高危

环境搭建

目标主机:Ubuntu   192.168.11.158

攻击主机:在本次漏洞复现过程中攻击主机只是起到一个上传exploit到目标主机以及实现远程操作的功能,这里为了方便就不再使用其他主机作为攻击机了,直接在Ubuntu中操作

Ubuntu  IP地址:

CVE-2017-16995————Ubuntu本地提权漏洞_第2张图片

Ubuntu当前系统、当前用户权限、当前内核:

CVE-2017-16995————Ubuntu本地提权漏洞_第3张图片

这里的内核版本是4.13.0-36-generic,该Ubuntu 16.04是从官方网站刚刚下载的纯净版,无其他任何安装程序,但是这里的内核版本不再影响范围之内,所以为了演示我们需要修改以下内核版本,修改方式如下:

搜索内核版本信息:

CVE-2017-16995————Ubuntu本地提权漏洞_第4张图片

下载在漏洞影响范围内的内核版本,这里选择4.4.0-92 版本(读者可以自我选择安装版本进行复现)

CVE-2017-16995————Ubuntu本地提权漏洞_第5张图片

CVE-2017-16995————Ubuntu本地提权漏洞_第6张图片

修改内核配置信息:


修改前信息:

CVE-2017-16995————Ubuntu本地提权漏洞_第7张图片

修改后的信息(注意自己的版本):

CVE-2017-16995————Ubuntu本地提权漏洞_第8张图片

保存之后重启


确认当前内核版本信息:

CVE-2017-16995————Ubuntu本地提权漏洞_第9张图片

漏洞复现

(1)上传Exploit到Ubuntu中

CVE-2017-16995————Ubuntu本地提权漏洞_第10张图片

(2)编译exploit

CVE-2017-16995————Ubuntu本地提权漏洞_第11张图片

(3)执行exploit程序

CVE-2017-16995————Ubuntu本地提权漏洞_第12张图片

(4)查看当前用户权限

CVE-2017-16995————Ubuntu本地提权漏洞_第13张图片

成功提权!

漏洞修复方案

(1)目前暂未有明确的补丁升级方案提出,但是建议用户通过修改内核参数限制普通用户使用bpf(2)系统调用来缓解:

设置参数“kernel.unprivileged_bpf_disabled = 1”通过限制对bpf(2)调用了访问来防止这种特权升级


之后以一个普通用户的权限再次运行exploit时:

CVE-2017-16995————Ubuntu本地提权漏洞_第14张图片

可以看到无法完成提权了!

(2)升级Linux Kernel 版本,需要重启服务器之后生效:

这一步在环境搭建过程中已经描述过了具体的操作,用户只需要修改内核版本即可!

总结

像这样的内核漏洞的如果出现会引起较为严重的影响,用户或企业需要尽快的完成修复,避免造成始料未及的损失。同时在修复时也最好采用可以从根本上解决问题的方法为好!

你可能感兴趣的:(【信息安全】,【常见漏洞】,———Linux,系列,【提权类漏洞】,———提权类漏洞,【经典CVE】,———CVE-2017)