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

在 ichunqiu 看到的环境(https://www.ichunqiu.com/course/61487),觉得有意思就记录一下。

实验环境

  • 操作机:Kali Linux

  • IP:172.16.11.2

  • 目标IP:172.16.12.2

  • 目标账号密码:ichunqiu

  • 工具下载地址:http://file.ichunqiu.com/r36f8pnp/

实验目的

  • 了解Ubuntu本地提权漏洞的危害

  • 验证本地提权漏洞

  • 知晓Ubuntu本地提权漏洞的缓解修复

实验工具

  • upstream44.c: 实验中本地提权EXP的源文件,需编译后执行

实验内容

漏洞概述

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

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

影响范围

经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用户

接下来开始编译该文件,编译命令: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,操作不被允许

EXP: http://cyseclabs.com/exploits/upstream44.c

实验结果分析与总结

通过本次实验,我们复现了此漏洞的场景,并给出了缓解漏洞影响的方法,希望同学们能够了解漏洞,更要知道如何缓解漏洞,及时做好安全修复的准备!

任重而道远!

最新文章

  1. Android立体旋转动画实现与封装(支持以X、Y、Z三个轴为轴心旋转)
  2. 自己建二维obj
  3. Mvc action间的传值
  4. css before&after 特殊用途
  5. 45个非常有用的oracle语句(摘自尚学堂)
  6. react相关知识点
  7. 怎样通过iPhone Safari 来安装测试版ipa
  8. angularjs的一些优化小技巧
  9. 【HDOJ】4455 Substrings
  10. 基于PHP的cURL快速入门
  11. 《CLR Via C#》读书笔记,持续更新...
  12. python实例编写(5)--异常处理,截图,用例设计
  13. Tomcat下使用C3P0配置JNDI数据源(在项目的META-INF目录下创建context.xml的文件)
  14. HTML中块元素与内联元素的概念
  15. FCC学习笔记(一)
  16. 关于sql server profiler 监控工具的使用
  17. 【README.md】Markdown语言常用语法
  18. 咏南ISAPI中间件
  19. Java中的HashMap的一些尝试
  20. MySQL八、备份和还原

热门文章

  1. css 常用布局
  2. python之路-----多线程与多进程
  3. @lazy注解处理循环注入问题
  4. Java基础-方法
  5. Neo4j图数据库使用
  6. CCF-模板生成系统-201509-3
  7. XXS level8
  8. POJ 1284:Primitive Roots(素数原根的个数)
  9. 小妖精的完美游戏教室——东方project,同人,自机
  10. 超级简单的数据压缩算法—LZW算法