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

学习该漏洞的原因:
总是看到圈子里一位老哥发文章使用这个漏洞来提权,进过测试发现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

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

时间: 2024-07-30 04:04:43

脏牛Linux本地提权漏洞复现(CVE-2016-5195)的相关文章

基于RedHat发行的Apache Tomcat本地提权漏洞

描述 Tomcat最近总想搞一些大新闻,一个月都没到,Tomcat又爆出漏洞.2016年10月11日,网上爆出Tomcat本地提权漏洞,漏洞编号为CVE-2016-5425.此次受到影响的主要是基于RedHat发行版Apache Tomcat,包括CentOS,RedHat,OracleLinux,Fedora等等.主要原因是普通Tomcat用户拥有权限来对/usr/lib/tmpfiles.d/tomcat.conf这个配置文件进行读写,那么该用户组成员或者拥有普通Tomcat权限的WebSh

android ioctl fuzz,android 本地提权漏洞 android root

目前正在研究android 三方设备驱动 fuzzer , 也就是下图所说的 ioctl fuzzing, 下图是由keen team nforest 大神发布: 欢迎正在研究此方面的人联系我共同交流进步!Email:  Blind Fuzz Smart Fuzz android 内核栈溢出android slab/slub 类堆溢出android 数组越界导致的复写内核中的重要数据android 内核信息泄漏android null pointer deference 空指针引用android

/dev/socket/vold exploit 本地提权漏洞

EXPLOIT "0 asec create ../../../../../../../../xxxxx/xx/xx/xx 1 ext4 98235792350852308254872354983460 2000 1" /dev/socket/vold 分析中... 一起研究分析  /dev/socket/vold exploit 本地提权漏洞

CVE-2019-13272:Linux本地内核提权漏洞复现

0x00 简介 2019年07月20日,Linux正式修复了一个本地内核提权漏洞.通过此漏洞,攻击者可将普通权限用户提升为Root权限. 0x01 漏洞概述 当调用PTRACE_TRACEME时,ptrace_link函数将获得对父进程凭据的RCU引用,然后将该指针指向get_cred函数.但是,对象struct cred的生存周期规则不允许无条件地将RCU引用转换为稳定引用. PTRACE_TRACEME获取父进程的凭证,使其能够像父进程一样执行父进程能够执行的各种操作.如果恶意低权限子进程使

Ubuntu16.04 本地提权漏洞复测过程

一.漏洞概述 Ubuntu 16.04 版本且unprivileged_bpf_disable 权限没有关闭的情况下就会存在 提权漏洞查看方式:1,cat /proc/version 查看系统版本 2,查看是否存在unprivileged_bpf_disable文件,如果存在该文件,查看文件内容是否为1,若不是1,则存在漏洞 二.漏洞验证 1,下载poc文件 upstream44.c下载地址:http://cyseclabs.com/exploits/up ... mp;isappinstall

Linux内核本地提权漏洞(CVE-2019-13272)

漏洞描述 kernel / ptrace.c中的ptrace_link错误地处理了想要创建ptrace关系的进程的凭据记录,这允许本地用户通过利用父子的某些方案来获取root访问权限 进程关系,父进程删除权限并调用execve(可能允许攻击者控制). 一个影响因素是对象寿命问题(也可能导致恐慌). 另一个影响因素是将ptrace关系标记为特权,这可以通过(例如)Polkit的pkexec帮助程序与PTRACE_TRACEME进行利用.获取root权限. 影响版本 Linux Kernel < 5

MS14-068域提权漏洞复现

一.漏洞说明 改漏洞可能允许攻击者将未经授权的域用户账户的权限,提权到域管理员的权限. 微软官方解释: https://docs.microsoft.com/zh-cn/security-updates/Securitybulletins/2014/ms14-068 二.漏洞原理 Kerberos认证原理:https://www.cnblogs.com/huamingao/p/7267423.html 服务票据是客户端直接发送给服务器,并请求服务资源的.如果服务器没有向域控dc验证pac的话,那

Sudo提权漏洞复现

Sudo是linux的系统命令,让普通账号以root方式执行命令 正常来说如果普通用户需要用sudo,需要修改配置文件/etc/sudoers,将sudo使用权赋予该用户 而这个漏洞使得普通用户也可以绕过安全策略,执行敏感命令 漏洞影响的版本是<1.8.28 实验环境:kali 漏洞复现过程 1. 查看sudo版本 Sudo –V 2. 修改配置文件:vim/etc/sudoers 在root(ALL:ALL)ALL添加一行 Test ALL=(ALL,!root)ALL 第一个ALL表示用户可

Linux内核提权漏洞(CVE-2016-8655)

操作机:Ubuntu 15.10(内核版本4.2.0) chocobo_root:是本次试验的POC文件,通过执行它来验证漏洞 漏洞简介 此漏洞可用于从未授权进程中执行内核代码,攻击者只需要本地普通权限,就能利用该漏洞导致拒绝服务(系统奔溃)或提升到管理员权限. 这个漏洞最早出现于2011年4月19日的代码中:[代码地址][[https://github.com/torvalds/linux/commit/f6fb8f100b807378fda19e83e5ac6828b638603a] 直到2