前言:linux kernel

Linux内核(英语:Linux kernel)是一种开源的类Unix操作系统宏内核。整个Linux操作系统家族基于该内核部署在传统计算机平台(如个人计算机和服务器,以Linux发行版的形式)和各种嵌入式平台,如路由器、无线接入点、专用小交换机、机顶盒、FTA接收器、智能电视、数字视频录像机、网络附加存储(NAS)等。工作于平板电脑、智能手机及智能手表的Android操作系统同样通过Linux内核提供的服务完成自身功能。尽管于桌面电脑的占用率较低,基于Linux的操作系统统治了几乎从移动设备到主机的其他全部领域。截至2017年11月,世界前500台最强的超级计算机全部使用Linux。
编号
CVE编号: CVE-2022-0847
影响版本
危险等级:高 ( 7.8 HIGH )
POC/EXP:已公开
linux 5.8 <= Linux kernel < linux 5.16.11、5.15.25、5.10.102
漏洞简介
此漏洞属于Linux提权漏洞, 攻击者可利用该漏洞使任何非特权(本地)用户在易受攻击的主机上获得root权限,非特权进程可以将代码注入到根进程使得攻击者可获取服务器的所有权限。
与该漏洞CVE-2022-0847(Dirty Pipe)类似的另一个漏洞CVE-2016-5195 “Dirty Cow”(脏牛提权),很多人应该了解并且能利用该漏洞。
复现
1、环境搭建
该漏洞有两种复现方式
1.1 kali2020 (安装略)
1.2 docker:chenaotian/cve-2022-0847
环境链接:https://registry.hub.docker.com/r/chenaotian/cve-2022-0847
利用docker pull拉取镜像
docker pull chenaotian/cve-2022-0847:latest
启动docker环境:
docker run -d -ti --rm -h cvedebug --name cvedebug --cap-add=SYS_PTRACE chenaotian/cve-2022-0847:latest /bin/bash
docker exec -it cvedebug /bin/bash
cd ~
ls
启动漏洞环境:
cd ~/cve-2022-0847
gcc exp.c -o exp --static && cp exp ./rootfs && cd rootfs
find . | cpio -o --format=newc > …/rootfs.img
cd …/
./boot.sh
2、进行复现操作
2.1利用kali2020复现
EXP:https://github.com/Arinerron/CVE-2022-0847-DirtyPipe-Exploit
检查kali2020的版本内核
uname -a
得到kali2020的版本号:
Linux kalilinux20204 5.9.0-kali1-amd64 #1 SMP Debian 5.9.1-1kali2 (2020-10-29) x86_64 GNU/Linux
将exp文件下载到kall用户文件夹中
执行exp文件中的脚本compile.sh得到可执行程序exploit
./compile.sh
执行exploit程序得到root的密码为:aaron
./exploit
切换到至root用户便成功提权
2.2 利用docker提权
进入环境后查看文件夹
实现任意文件写的效果
./exp testfile 1 hacked
解决方案
建议升级Linux的内核版本到5.16.11、5.15.25、5.10.102及以上版本。利用系统自带的升级命令进行升级。
漏洞验证工具POC
1、https://github.com/chenaotian/CVE-2022-0847
2、https://github.com/Arinerron/CVE-2022-0847-DirtyPipe-Exploit
相关信息:
1、https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-0847
2、https://dirtypipe.cm4all.com/