动手实验Ubuntu本地提权
Posted i春秋
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了动手实验Ubuntu本地提权相关的知识,希望对你有一定的参考价值。
Ubuntu(友帮拓、优般图、乌班图)是一个以桌面应用为主的开源GNU/Linux操作系统,Ubuntu 是基于DebianGNU/Linux,支持x86、amd64(即x64)和ppc架构,由全球化的专业开发团队(Canonical Ltd)打造的。
近日,有网友发布消息:ubuntu 最新版本(Ubuntu 16.04)存在高危的本地提权漏洞,漏洞编号为CVE-2017-16995。该漏洞存在于调用eBPF bpf(2)的Linux内核系统中,当用户提供恶意BPF程序使eBPF验证器模块产生计算错误,导致任意内存读写问题, 低权限用户可使用此漏洞获得管理权限。
经i春秋安全研究员测试,该漏洞在老版本中已经修复,但最新版的Ubuntu16.04.1-16.04.4均存在此问题,且官方尚未放出稳定版本的安全更新,建议用户在评估风险后,通过修改内核参数缓解漏洞影响。
今天,就由小爱带大家一起了解一下这个漏洞并修复它吧~
实验环境
操作机:Kali Linux
IP:172.16.11.2
目标IP:172.16.12.2
目标账号密码:ichunqiu
实验目的
了解Ubuntu本地提权漏洞的危害
验证本地提权漏洞
知晓Ubuntu本地提权漏洞的缓解修复
实验工具
upstream44.c: 实验中本地提权EXP的源文件,需编译后执行
影响范围
经i春秋安全研究员测试 Ubuntu 16.04.1~16.04.4 均存在此漏洞。
实验步骤
第1步 漏洞验证
打开Kali终端,输入wget http://file.ichunqiu.com/r36f8pnp/upstream44.c下载实验文件到当前目录
使用sftp,将实验文件上传到目标机上(一般情况下提权文件由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,操作不被允许.
实验结果分析与总结
通过本次实验,我们复现了此漏洞的场景,并给出了缓解漏洞影响的方法,希望同学们能够了解漏洞,更要知道如何缓解漏洞,及时做好安全修复的准备!
戳阅读原文,参与实验吧~
以上是关于动手实验Ubuntu本地提权的主要内容,如果未能解决你的问题,请参考以下文章