首页 > 系统服务 > 详细

脏牛Linux本地提权漏洞复现(CVE-2016-5195)

时间:2019-03-16 01:00:02      阅读:49      评论:0      收藏:0      [点我收藏+]

标签:cin   实现   ubun   pass   进入   函数   dirty   账号密码   swd   

学习该漏洞的原因:
总是看到圈子里一位老哥发文章使用这个漏洞来提权,进过测试发现centos比较难提取,而Ubuntu是比较好提权的。

漏洞范围:

Linux kernel >= 2.6.22(2007年发行,到2016年10月18日才修复)

危害:

低权限用户利用该漏洞可以在众多Linux系统上实现本地提权

简要分析:

该漏洞具体为,get_user_page内核函数在处理Copy-on-Write(以下使用COW表示)的过程中,可能产出竞态条件造成COW过程被破坏,导致出现写数据到进程地址空间内只读内存区域的机会。修改su或者passwd程序就可以达到root的目的。具体分析请查看官方分析。

测试工具:

官方放出的EXP: https://github.com/dirtycow/dirtycow.github.io
提权为root权限的EXP一:https://github.com/FireFart/dirtycow
提权为root权限的EXP二:https://github.com/gbonacini/CVE-2016-5195

测试过程(EXP一):

本次环境使用 bee-box虚拟机进行测试。
假设一开始获得的是普通用户bee的权限。

技术分享图片

1.使用uname -a命令查看linux内核信息,发现在脏牛漏洞范围内,可以进行测试。

技术分享图片

2.将exp一下载到本地,使用gcc -pthread dirty.c -o dirty -lcrypt命令对dirty.c进行编译,生成一个dirty的可执行文件。

技术分享图片

3.执行./dirty 密码命令,即可进行提权。

技术分享图片

4.此时使用上图中的账号密码即可获取root权限。

技术分享图片

测试过程(EXP二):

由于bee-box的gcc版本较低,就不进行具体的测试了,具体步骤如下:
1.下载exp到靶机,解压并进入文件夹,执行make后会生成一个dcow的可执行文件。
2.执行./dcow -s 如果成功的话会返回一个root的 shell,失败则返回fail。

总结:

内核版本需要在2.6.22以上,并且未打补丁
gcc版本可能有要求(exp2),需先升级再测
成败取决于环境

由于寝室快要断电了,我就仅仅复现了一下。
link: https://www.jianshu.com/p/df72d1ee1e3e

脏牛Linux本地提权漏洞复现(CVE-2016-5195)

标签:cin   实现   ubun   pass   进入   函数   dirty   账号密码   swd   

原文:https://www.cnblogs.com/v01cano/p/10540280.html

(0)
(0)
   
举报
评论 一句话评论(0
0条  
登录后才能评论!
© 2014 bubuko.com 版权所有 鲁ICP备09046678号-4
打开技术之扣,分享程序人生!
             

鲁公网安备 37021202000002号