Ubuntu本地提权(CVE-2017-16995)复现

面向新手,大佬勿喷

漏洞概述

2018-03-16有网友发布消息:ubuntu 最新版本(Ubuntu 16.04)存在高危的本地提权漏洞,漏洞编号为CVE-2017-16995。该漏洞存在于调用eBPF bpf(2)的Linux内核系统中,当用户提供恶意BPF程序使eBPF验证器模块产生计算错误,导致任意内存读写问题, 低权限用户可使用此漏洞获得管理权限。

该漏洞在老版本中已经得到修复,然而最新版本中任可被利用,官方暂未发布相关补丁,漏洞处于0day状态。据说这个exp十分犀利,秒aws秒阿里。

该exp地址:http://cyseclabs.com/exploits/upstream44.c

深入分析漏洞原理及EXP文章地址:https://xz.aliyun.com/t/2212

 

影响范围

Linux Kernel Version 4.14-4.4

仅影响Ubuntu/Debian发行版本

经i春秋安全研究员测试 Ubuntu 16.04.1~16.04.4 均存在此漏洞

实验步骤(此次我们用i春秋的在线实验(/捂脸))

第1步 漏洞验证

下载EXP

使用sftp,将EXP文件上传到目标机上(一般情况下提权文件由shell上传,此次不做为重点介绍)

命令为  sftp ichunqiu@172.16.12.2 ,密码:ichunqiu,上传命令: put upstream44.c 

ichunqiu是一个测试的普通权限用户

接着,我们使用ssh登录目标机器的ichunqiu用户

ssh

这时可以看见我们的用户权限,没有cat /etc/shadow的权限

permission

接下来开始编译该文件,编译命令:

gcc -o upstream44 upstream44.c

得到可执行文件upstream44

最后,执行刚刚编译后的文件,成功提升至root权限

我们再来 cat /etc/shadow 一下,现在可以看见内容了

 

第2步 漏洞缓解

官方已经发布了补丁,但是可以通过修改内核参数来限制普通用户使用bpf(2)系统调用的方式以规避风险。

echo 1 > /proc/sys/kernel/unprivileged_bpf_disabled

我们运行该命令后,再切换至普通用户执行EXP查看效果

可以看见报错:error: Operation not permitted,操作不被允许

 

参考链接:

https://www.cnblogs.com/rebeyond/p/8921307.html

https://www.ichunqiu.com/course/61491?f=1

https://www.freebuf.com/column/165887.html

https://www.freebuf.com/news/165608.html

https://blog.csdn.net/fly_hps/article/details/80085750v

猜你喜欢

转载自www.cnblogs.com/threesoil/p/9895152.html