专栏首页网络攻防实战知识交流关于CVE-2019-13272 linux本地提权的复现经历

关于CVE-2019-13272 linux本地提权的复现经历

复现

这个洞出现有段时间了,迟迟没有复现,先来复现下

有大佬在github上发布了漏洞的利用代码:

https://github.com/bcoles/kernel-exploits/blob/master/CVE--/poc.c

像我这样的菜鸡就只能拿来直接用,不会分析

gcc 1.c -o exp
./exp

我测试的环境是

Ubuntu 18.04.1 kernel 4.15.0-20-generic

很顺利直接就root了,我的内核版本还很新,这个洞着阔怕。。。。。

复现成功

接着复现(VPS)

很快来到我的vps了

先是

useradd wuji
su wuji
git clone
cd
gcc 1.c -o exp

然后

./exp

发现并没有成功。

复现失败

继续复现(SSH)

到我的ubuntu里面开启ssh

用自己的xshell连上自己

然后执行第一次复现成功的操作

发现失败

复现失败

深入复现(端口反弹)

把本地的ubuntu反弹到了远端的vps

同样的操作./exp 复现成功

复现成功

找原因

找到一段漏洞描述

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

作者测试成功的案例:

// - Ubuntu 16.04.5 kernel 4.15.0-29-generic
// - Ubuntu 18.04.1 kernel 4.15.0-20-generic
// - Ubuntu 19.04 kernel 5.0.0-15-generic
// - Ubuntu Mate 18.04.2 kernel 4.18.0-15-generic
// - Linux Mint 19 kernel 4.15.0-20-generic
// - Xubuntu 16.04.4 kernel 4.13.0-36-generic
// - ElementaryOS 0.4.1 4.8.0-52-generic
// - Backbox 6 kernel 4.18.0-21-generic
// - Parrot OS 4.5.1 kernel 4.19.0-parrot1-13t-amd64
// - Kali kernel 4.19.0-kali5-amd64
// - Redcore 1806 (LXQT) kernel 4.16.16-redcore
// - MX 18.3 kernel 4.19.37-2~mx17+1
// - RHEL 8.0 kernel 4.18.0-80.el8.x86_64
// - Debian 9.4.0 kernel 4.9.0-6-amd64
// - Debian 10.0.0 kernel 4.19.0-5-amd64
// - Devuan 2.0.0 kernel 4.9.0-6-amd64
// - SparkyLinux 5.8 kernel 4.19.0-5-amd64
// - Fedora Workstation 30 kernel 5.0.9-301.fc30.x86_64
// - Manjaro 18.0.3 kernel 4.19.23-1-MANJARO
// - Mageia 6 kernel 4.9.35-desktop-1.mga6
// - Antergos 18.7 kernel 4.17.6-1-ARCH

推论

不懂漏洞的原理,只会傻瓜式的复现的我。。。。

好像只有桌面版可以成功。。。。。。

实战中,配置桌面版的好像很少。。。。。

所以,有些鸡肋。。。。。

本文分享自微信公众号 - 无级安全(wujisec),作者:fz只不过是从头再来

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-08-03

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • BSidesSF 2019 CTF writeup

    在网上刷的题目,难度还好,一些题目很有借鉴意义,收录了一些web方面的writeup,用来学习。有更好的解题思路欢迎留言。

    用户5878089
  • 破解Charles

    由于Charles是使用java这种弱语言编写的,即使加了各种混淆,但是也难逃被破解的命运! 官网上下载的只能免费使用30天

    用户5878089
  • 加密壳之ACProtect系列通杀技巧

    在经过几天的研究和之前脱壳学习的积淀,终于是把ACProtect系列的脱壳方法和IAT修复部分给搞定了,趁着研究有些成果,将整个脱壳和IAT修复过程做个记录,整...

    用户5878089
  • SVM 的核函数选择和调参

    杨熹
  • Finale

    这几篇博客介绍的第一个feature transform方法就是kernel。kernel先出现是在SVM里面,原因就是为了减少 內积计算的复杂度,把特征转换和...

    西红柿炒鸡蛋
  • Finale

    这几篇博客介绍的第一个feature transform方法就是kernel。kernel先出现是在SVM里面,原因就是为了减少 內积计算的复杂度,把特征转换和...

    西红柿炒鸡蛋
  • 一日一技:从 Scrapy 学习模块导入技巧

    但是如果各位同学看过 Scrapy 的settings.py文件,就会发现里面会通过字符串的方式来指定 pipeline 和 middleware,例如:

    青南
  • 动态规划(一)POJ1163

    动态规划算法是比较实用的算法之一,结合实际问题能更好的熟悉这个算法 下面以POJ1163为例子

    Enterprise_
  • 反射方法创建委托

    用户6362579
  • GitHub Pages 对自定义域名支持 HTTPS

    版权声明:本文为[他叫自己Mr.张]的原创文章,转载请...

    他叫自己MR.张

扫码关注云+社区

领取腾讯云代金券