linux+安卓+漏洞+提权,Linux本地内核提权漏洞复现(CVE-2019-13272)

这里将告诉您Linux本地内核提权漏洞复现(CVE-2019-13272),具体实现方法:

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

一、漏洞描述

当调用PTRACE_TRACEME时,ptrace_link函数将获得对父进程凭据的RCU引用,然后将该指针指向get_cred函数。但是,对象struct cred的生存周期规则不允许无条件地将RCU引用转换为稳定引用。

PTRACE_TRACEME获取父进程的凭证,使其能够像父进程一样执行父进程能够执行的各种操作。如果恶意低权限子进程使用PTRACE_TRACEME并且该子进程的父进程具有高权限,该子进程可获取其父进程的控制权并且使用其父进程的权限调用execve函数创建一个新的高权限进程。

注:该漏洞利用前提:需要目标服务器有桌面环境,所以很鸡肋的漏洞

二、漏洞影响版本

目前受影响的Linux内核版本:

Linux Kernel < 5.1.17

三、漏洞环境搭建

靶机:kali 2018.2

1、 创建一个低权限账户

9c8eb2bb4f57b9c0993fd21ed582f123.png

2、切换到test用户, 查看系统内核版本是否小于5.1.17, 查看当前用户和当前用户的UID

fd19d0e2f43463fba378cfb50c99d669.png

四、漏洞复现

1、切换到tmp目录下,下载漏洞利用脚本

877a45e26734fde3643e9463fb68c6b8.png

2、查看poc.c的权限,并设置执行权限

30af3d60ba995071bbe0a74e05adc9b0.png

3、编译poc.c

482b9b3d4f4c5df1d791be119141bfea.png

4、执行exp,提权成功

e2c97738d9d8cfd698cc9210055ae9a9.png

五、漏洞修复

补丁地址: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=6994eefb0053799d2e07cd140df6c2ea106c41ee

六、后记

1、总体来说这个漏洞的限制还是很大的,首先要找到一个内部有减权的suid程序,pkexec是linux桌面freedestop上的验证程序,也就是说非桌面版本就可能没有这个东西,要用它也只能在桌面上。像android,它把suid程序都去除了,这个漏洞就几乎造不成什么影响。

1ee3fb79a77e1aed0880bf170a8d9f31.png

2、在另一台电脑(ubuntu)通过ssh连接靶机,然后执行提权程序,发现提权失败,这是因为通过ssh登录时执行提权脚本没有桌面环境

ad037f442f7663cb6f51d48b8784da1d.png

8055a917dc33afcccd07e0f4f399ce2d.png

3、作者已测试成功的版本

3a1c5cf567122966a11c30c86bb7b534.png

---------------------------------------------------------------------------------------------------

参考: exp下载地址:https://github.com/bcoles/kernel-exploits/tree/master/CVE-2019-13272

Linux本地内核提权漏洞复现(CVE-2019-13272)就为您介绍到这里,感谢您关注懒咪学编程c.lanmit.com.

本文地址:https://c.lanmit.com/czxt/Linux/21453.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值