前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >CVE-2017-16995-Ubuntu本地提权漏洞复现

CVE-2017-16995-Ubuntu本地提权漏洞复现

作者头像
墙角睡大觉
发布2019-09-24 17:26:55
1.4K0
发布2019-09-24 17:26:55
举报

环境搭建

系统选择的是Ubuntu16.04-desktop-amd64.iso安装的环境,安装过程不用安装更新软件包。

漏洞分析&利用

在该环境下直接利用编译好之后的程序并不成功(4.4.0-21-generic),如下:

然后在Ubuntu14.04、16.04.4都试着还是不成功!都是报错,如下是14环境报错信息:

缺失头文件,然后在16.04.4下尝试:

很显然该版本4.13高于4.4.0,所以并没有漏洞,也许是我下载的16.04.4的镜像比较新导致的:

在16.04.1和16.04.1中没有尝试。因此个人认为网上的文章说明的范围稍微偏大

我们还是用16.04测试。查找该漏洞的详情,漏洞编号是:CVE-2017-16995

在seebug有详细的说明:https://www.seebug.org/vuldb/ssvid-97183

这里查看漏洞详情,可以看到作者分析了具体的详情,由于Linux内核带有的eBPF bpf(2)系统调用中,当用户提供恶意BPF程序使eBPF验证器模块产生计算错误,导致任意内存读写问题。 非特权用户可以使用此漏洞获得权限提升,代码我们就不分析了,作者在不断尝试得到引起内存地址变换几个变量R0/R1/R10是需要在gcc编译的过程中调试,所以最后的代码是正确的:crasher_badtrunc.c

我们将这个crash代码在ubuntu下编译执行,引起变化之后在执行exp:

gcc -ocrasher_badtrunc crasher_badtrunc.c -Wall && ./crasher_badtrunc

可以看到提权成功,获得root的权限,从利用过程来看,利用条件还算是较小,所以应该属于一个高危的漏洞了!

漏洞修复

目前暂未有明确的补丁升级方案。 建议用户在评估风险后,通过修改内核参数限制普通用户使用bpf(2)系统调用:

# echo 1 >/proc/sys/kernel/unprivileged_bpf_disabled

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-05-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 安全漏洞环境学习 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 环境搭建
  • 漏洞分析&利用
  • 在该环境下直接利用编译好之后的程序并不成功(4.4.0-21-generic),如下:
  • 然后在Ubuntu14.04、16.04.4都试着还是不成功!都是报错,如下是14环境报错信息:
  • 漏洞修复
  • 目前暂未有明确的补丁升级方案。 建议用户在评估风险后,通过修改内核参数限制普通用户使用bpf(2)系统调用:
相关产品与服务
脆弱性检测服务
脆弱性检测服务(Vulnerability detection Service,VDS)在理解客户实际需求的情况下,制定符合企业规模的漏洞扫描方案。通过漏洞扫描器对客户指定的计算机系统、网络组件、应用程序进行全面的漏洞检测服务,由腾讯云安全专家对扫描结果进行解读,为您提供专业的漏洞修复建议和指导服务,有效地降低企业资产安全风险。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档