freeBuf
主站

分类

云安全 AI安全 开发安全 终端安全 数据安全 Web安全 基础安全 企业安全 关基安全 移动安全 系统安全 其他安全

特色

热点 工具 漏洞 人物志 活动 安全招聘 攻防演练 政策法规

点我创作

试试在FreeBuf发布您的第一篇文章 让安全圈留下您的足迹
我知道了

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

CVE-2021-3493 Ubuntu Overlayfs补丁导致的内核提权漏洞复现
2021-07-13 10:34:31

0x00 简介

OverlayFS是一个面向Linux的文件系统服务,是一种类似aufs的一种堆叠文件系统,它依赖并建立在其它的文件系统上(如ext4fs和xfs等),并不直接参与磁盘空间结构的划分,仅仅将原来底层文件系统中不同的目录进行合并,然后向用户呈现,因此对于用户来说,它所见到的overlay文件系统根目录下的内容就来自挂载时所指定的不同目录的合集。

image-20210701021013305

0x01 漏洞概述

CVE-2021-3493漏洞是Linux内核中overlayfs文件系统中的Ubuntu特定问题,在Ubuntu中没有正确验证关于用户名称空间的文件系统功能的应用程序。由于Ubuntu带有一个支持非特权的overlayfs挂载的补丁,因此本地攻击者可以使用它来进行提权操作,因此该漏洞对Linux的其他发行版没有影响。

0x02 影响版本

Ubuntu20.10
Ubuntu20.04LTS
Ubuntu18.04LTS
Ubuntu16.04LTS
Ubuntu14.04ESM
(Linux内核版本<5.11)

0x03 环境搭建

本次复现测试使用的是Vmware Workstation Pro 15虚拟机软件,安装Ubuntu 16.04LTS虚拟机

1.安装Vmware Workstation Pro或其他软件来安装虚拟机;

2.安装受影响版本的Ubuntu虚拟机;

具体虚拟机安装步骤可以自行上网搜索;

3.安装完后可以查看安装的具体版本;

lsb_release -a

image-20210701015940366

4.查看Linux内核版本。

uname -a

image-20210701020518683

0x04 漏洞复现

1.拷贝exp代码,并保存到测试机器上(这里是Ubuntu16.04.7LTS虚拟机)

https://github.com/briskets/CVE-2021-3493/blob/main/exploit.c

image-20210701014117987

2.保存exp代码为 cve-2021-3493.c 后在Linux上使用gcc进行编译,生成cve-2021-3494可执行文件

gcccve-2021-3493.c -ocve-2021-3493

image-20210701014022747

3.查看当前用户信息,运行exp后再查看用户信息

image-20210701014454593

可以看到运行脚本后开启的shell已经是root用户权限的shell了,提权成功,此时我们可以通过root权限的shell来对目标进行任意操作。

我们知道 user namespace(用户名字空间)主要起对用户和用户组进行隔离的作用,user namespace一个特定的目标就是允许一个进程在容器中的操作拥有root特权,与此同时,在托管容器的宿主机上是一个无特权的正常进程。

而在该EXP的原理就是通过修改 user namespace 使其在另一个名字空间下具有root权限,从而可以挂载overlay,然后再利用挂载的overlay拷贝magic可执行文件,由于当前修改后所在的名字空间有超级权限,就可以直接设置capability,来赋予magic文件root权限,然后运行magic,此时进程就已经被赋予 all + eip的权限,然后就能进行 setuid(0) setgid(0) 的提权操作,从而达到拿root权限shell的目的。

image-20210701173659796

0x05 修复建议

1)更新系统软件包版本;

可参考供应商公告,如下链接所示。

https://ubuntu.com/security/notices/USN-4915-1

https://ubuntu.com/security/notices/USN-4916-1

https://ubuntu.com/security/notices/USN-4917-1

2)在Linux 5.11中,对的调用 cap_convert_nscap 已移入 vfs_setxattr,更新Linux内核至5.11则不会再被利用。

# 网络安全 # web安全 # 极氪学院 # 极氪安全学院 # 技术复现
本文为 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者
文章目录