Linux Kernel 权限提升漏洞CVE-2023-32233

漏洞描述

组件介绍

Linux Netfilter 是一个在 Linux 内核中的网络数据包处理框架,也称作 iptables,它可以通过各种规则和过滤器,基于数据包的来源、目标地址、协议类型、端口号等信息,控制网络流量和数据包的转发和处理,是 Linux 系统网络安全性和可靠性的重要组成部分。

漏洞描述

Linux内核的Netfilter子系统在处理批量请求更新nf_tables 配置信息时,由于处理匿名集的逻辑存在缺陷,存在释放重利用(UAF) 漏洞。利用该漏洞可实现对内核内存的任意读写,具有CAP_NET_ADMIN权限的本地用户可利用该漏洞提升至权限至ROOT级别

漏洞影响

  • 评级:高危

  • 影响版本:v5.1-rc1 <= Linux Kernel <= 6.3.1

  • 不受影响版本:Linux kernel > 6.3.1 Linux kernel < 5.1-rc1

利用条件

1、用户认证:需要

2、触发方式:本地

风险分析

CVE-2023-32233利用条件算是比较苛刻,但是一旦满足利用条件就会获取到root权限的比较严重的漏洞,但是不属于远程利用类,且对基本权限有一定要求,涉及的面不是非常广泛。

漏洞复现

系统环境: Ubuntu 23.04,Linux Kernel版本:6.2.0-20;当前用户id=1001(用户需要有sudo权限)

EXP下载地址:https://github.com/Liuk3r/CVE-2023-32233

执行以下的命令安装编译环境

sudo apt install gcc libmnl-dev libnftnl-dev

运行以下命令来构建POC二进制文件

gcc -Wall -o exploit exploit.c -lmnl -lnftnl

执行 ./exploit

 运行./exploit可能会报这个错误,重新执行一下./exploit就可以了

成功获得root权限

应对措施:

1.禁用用户命名空间

通过将 user.max_user_namespaces 设置为 0 来禁用用户命名空间:

使用普通用户验证是否禁用成功

返回:unshare failed: No space left on device,禁用成功

解除禁用的方法就是设置user.max_user_namespaces大于 0

再次利用漏洞提权,提权失败,提示设备没有空间

2.升级系统内核

下载内核 Index of /~kernel-ppa/mainline

根据官方提示,该漏洞影响范围v5.1-rc1 <= Linux Kernel <= 6.3.1,修复漏洞需要下载该范围之外的版本,本次下载6.3.5

cd 到安装包的目录

dpkg -i 安装包名字  #安装内核,并重启

重启后查看内核,安装成功

再次利用exp漏洞文件提权,报错,提权失败

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

m0_48722220

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值