面向新手,大佬勿喷
漏洞概述
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
用户
这时可以看见我们的用户权限,没有cat
/etc/shadow
的权限
接下来开始编译该文件,编译命令:
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