这个洞出现有段时间了,迟迟没有复现,先来复现下
有大佬在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了
先是
useradd wuji
su wuji
git clone
cd
gcc 1.c -o exp
然后
./exp
发现并没有成功。
复现失败
到我的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
不懂漏洞的原理,只会傻瓜式的复现的我。。。。
好像只有桌面版可以成功。。。。。。
实战中,配置桌面版的好像很少。。。。。
所以,有些鸡肋。。。。。