【漏洞复现】linux提权(CVE-2023-0386)环境搭建与复现

admin 2026-04-29 04:49:40 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 本文详细介绍了Linux内核提权漏洞CVE-2023-0386的环境搭建与复现过程。该漏洞存在于Linux内核的overlayfs子系统中,影响v5.11-rc1至v6.2-rc5版本,攻击者可利用此漏洞在本地未经授权执行setuid文件以提升权限。文章首先指导读者更换至受影响的内核版本(如v5.12-rc1),然后通过编译并运行GitHub上的exp.c代码完成漏洞复现,最终成功获取root权限。此外,文章还对overlay文件系统的工作原理进行了简要分析。 综合评分: 75 文章分类: 漏洞分析,渗透测试,红队,linux安全,技术标准


cover_image

【漏洞复现】linux提权(CVE-2023-0386)环境搭建与复现

WIN哥学安全

2023年6月23日 23:02 天津

在小说阅读器读本章

去阅读

漏洞名称:linux提权

威胁等级:

影响范围:linux内核版本:v5.11-rc1 至 v6.2-rc5

漏洞类型:提权漏洞

一、影响版本

受影响版本:

linux内核版本:v5.11-rc1 至 v6.2-rc5

二、漏洞描述

该漏洞存在于Linux内核的OverlayFS子系统中,用户从一个nosuid挂载点复制到另一个挂载点时,本地用户可以未授权执行setuid文件,导致本地用户提升其系统权限。

三、环境搭建

当前内核版本不在漏洞影响范围,需要更换内核版本(v5.12-rc1)

linux-modules-5.12.0-051200rc1-generic_5.12.0-051200rc1.202103032009_amd64.deb

wget https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.12-rc1/amd64/linux-modules-5.12.0-051200rc1-generic_5.12.0-051200rc1.202103032009_amd64.deb

linux-image-unsigned-5.12.0-051200rc1-generic_5.12.0-051200rc1.202103032009_amd64.deb

wget https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.12-rc1/amd64/linux-image-unsigned-5.12.0-051200rc1-generic_5.12.0-051200rc1.202103032009_amd64.deb

3.1 安装内核

安装内核模块(这个是后面的依赖)

apt install ./linux-modules-5.12.0-051200rc1-generic_5.12.0-051200rc1.202103032009_amd64.deb

同理安装内核:

apt install ./linux-image-unsigned-5.12.0-051200rc1-generic_5.12.0-051200rc1.202103032009_amd64.deb

查看已经安装的内核,其中’linux-image-unsigned-5.12.0-051200rc1-generic’为我们需要的内核版本:

dpkg --list | grep linux-image

reboot重启后,即更换为内核的漏洞版本:

四、漏洞复现

4.1 github上的exp地址

https://github.com/chenaotian/CVE-2023-0386/blob/main/exp.c

git clone https://github.com/chenaotian/CVE-2023-0386

通过gcc 编译exp(这部分可能会报错,报错内容网上基本都能查到,都是缺少对应的lib库):

 gcc -Wall exp.c `pkg-config fuse --cflags --libs` -o exp

例子:报错(缺少):

缺少fuse.h,是缺少libfuse-dev依赖库导致,通过apt包管理器安装相应的库

apt-get install libfuse-dev
apt-get install pkg-config

运行Exploit:

./exp /tmp

Exploit运行的过程中,它会在/tmp目录下创建一个SUID文件,用来提升权限。如图所示,已提升至root权限。

五、漏洞分析

5.1 关于overlay文件系统

  1. Lower 层:基础文件系统,通常为只读。
  2. Upper 层:可写文件系统,存储对底层文件的更改,包括修改、创建和删除。
  3. Workdir层:位于同一文件系统的可写目录,存储中间数据和元数据以支持 OverlayFS 正常运行。
  4. Merged 层:虚拟合成视图,将Lower 层和Upper 层结合,Upper 层会覆盖Lower 层响应文件。

什么意思呢,做个实验:创建个基本的overlay文件结构,lower upper work merged文件夹,并创建一个文件在lower层file.txt

mkdir lower upper work merged
echo "this is a file in lower" > lower/file.txt

当前的目录结构

将此目录挂载为overlay文件系统

mount -t overlay overlay -o lowerdir=lower,upperdir=upper,workdir=work merged

此时发现挂载为overlay文件系统后 ,会将lower和upper合并为merged,故出现merged/file.txt

如果我们在merged层创建个文件testfile,此文件会被copy到upper层:

如果我们对最开始的文件file.txt,进行修改,发现在overlay文件系统中“合并视图(merged)“处的lower层文件,修改此file.txt,会将文件复制到upper进行修改

Tips:

文章来源:

更多关于suid提权和fuse文件系统的内容见如下链接。

中国电信SRC

https://mp.weixin.qq.com/s/C0A3UNBb4Akq_3JQlHrk9w

往期精彩

工具获取回复“burp”“awvs”“nessus”“ladon””Forfity”等可以。

快速攻击全自动化工具JuD

Exp-Tools 1.1.3版本发布

GUI-tools渗透测试工具箱框架

阿波罗自动化攻击评估系统

 微软 Word RCE附PoC

Clash最新远程代码执行漏洞(附POC)

禅道系统权限绕过与命令执行漏洞(附POC)

【附EXP】CVE-2022-40684 & CVE-2022-22954

网络安全应急预案合集

师傅们求点赞,求支持!


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:WIN哥学安全 《【漏洞复现】linux提权(CVE-2023-0386)环境搭建与复现》

评论:0   参与:  0