Linux本地内核提权漏洞复现(CVE-2019-13272)
2019-10-28 06:23:27来源:博客园 阅读 ()
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、 创建一个低权限账户
2、切换到test用户, 查看系统内核版本是否小于5.1.17, 查看当前用户和当前用户的UID
四、漏洞复现
1、切换到tmp目录下,下载漏洞利用脚本
2、查看poc.c的权限,并设置执行权限
3、编译poc.c
4、执行exp,提权成功
五、漏洞修复
补丁地址: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=6994eefb0053799d2e07cd140df6c2ea106c41ee
六、后记
1、总体来说这个漏洞的限制还是很大的,首先要找到一个内部有减权的suid程序,pkexec是linux桌面freedestop上的验证程序,也就是说非桌面版本就可能没有这个东西,要用它也只能在桌面上。像android,它把suid程序都去除了,这个漏洞就几乎造不成什么影响。
2、在另一台电脑(ubuntu)通过ssh连接靶机,然后执行提权程序,发现提权失败,这是因为通过ssh登录时执行提权脚本没有桌面环境
3、作者已测试成功的版本
---------------------------------------------------------------------------------------------------
参考: exp下载地址:https://github.com/bcoles/kernel-exploits/tree/master/CVE-2019-13272
原文链接:https://www.cnblogs.com/yuzly/p/11745677.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- Linux系统如何设置开机自动运行脚本? 2020-06-11
- Linux指令和shell脚本 2020-06-11
- 适合开发者的最佳Linux发行版 2020-06-11
- RAID 1 软件实现(Linux 系统) 2020-06-10
- linux各级目录 2020-06-08
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash