滥用 Docker 目录的搜索权限来提升权限

2024-08-28 13:12

本文主要是介绍滥用 Docker 目录的搜索权限来提升权限,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在最近的一次活动中,我们发现了与/var/lib/docker权限相关的不熟悉的配置。此配置与许多其他低风险问题相结合,导致了一条攻击路径,允许低权限用户将权限提升至 root。

由于这种配置是非标准的,很少见,我们想与更广泛的社区分享我们的观察结果和利用这一特定弱点的方法。我们将通过一个示例来实现这一点,该示例部署到 WithSecure 实验室环境,并且仅复制了在参与过程中观察到的与我们将要演示的攻击路径相关的某些技术细节。所有用户、容器等都是针对此环境定制的,并不代表客户的环境。

在我们的研究中,我们确实发现这是一个之前发现的问题,其 CVE 编号为(CVE-2021-41091),他们在研究获取 SUID 二进制文件以提升权限的方法时发布了CyberArk 。

环境

在这个例子中,我们假设我们已经找到了一种获取低权限用户的方法。这是一个名为vagrant的标准 Linux 用户 ,UID 为 1000。该用户有权重启主机,但除此之外没有任何其他特殊权限。主机本身通过 Docker 运行多个容器。

主机枚举显示/var/lib/docker/ 目录已将搜索位设置为“其他”。如下所示:

vagrant@ubuntu-noble:/var/lib$ ls -ld docker
drwx--x--x 14 root root 4096 Apr  4 15:46 docker

作为 Linux 文件权限的快速入门,基本权限集中有三组权限。这些权限分别是读取、写入和执行/搜索;每个权限都可供所有者、组和其他实体使用。注意:执行/搜索位对于文件是执行,对于目录是搜索。从上图可以看出,这些权限可以看作rwx--x--x,这意味着文件夹允许以下操作:

  • 读取、写入并搜索所有者

  • 搜索群组

  • 搜索其他所有人

所有者和组是其右侧的字段,分别是root 和root 。其他权限将适用于所有非所有者或非组内的实体。在本例中,这

这篇关于滥用 Docker 目录的搜索权限来提升权限的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1114857

相关文章

使用IDEA部署Docker应用指南分享

《使用IDEA部署Docker应用指南分享》本文介绍了使用IDEA部署Docker应用的四步流程:创建Dockerfile、配置IDEADocker连接、设置运行调试环境、构建运行镜像,并强调需准备本... 目录一、创建 dockerfile 配置文件二、配置 IDEA 的 Docker 连接三、配置 Do

Linux如何查看文件权限的命令

《Linux如何查看文件权限的命令》Linux中使用ls-R命令递归查看指定目录及子目录下所有文件和文件夹的权限信息,以列表形式展示权限位、所有者、组等详细内容... 目录linux China编程查看文件权限命令输出结果示例这里是查看tomcat文件夹总结Linux 查看文件权限命令ls -l 文件或文件夹

Linux系统中查询JDK安装目录的几种常用方法

《Linux系统中查询JDK安装目录的几种常用方法》:本文主要介绍Linux系统中查询JDK安装目录的几种常用方法,方法分别是通过update-alternatives、Java命令、环境变量及目... 目录方法 1:通过update-alternatives查询(推荐)方法 2:检查所有已安装的 JDK方

nginx中端口无权限的问题解决

《nginx中端口无权限的问题解决》当Nginx日志报错bind()to80failed(13:Permissiondenied)时,这通常是由于权限不足导致Nginx无法绑定到80端口,下面就来... 目录一、问题原因分析二、解决方案1. 以 root 权限运行 Nginx(不推荐)2. 为 Nginx

SpringBoot结合Docker进行容器化处理指南

《SpringBoot结合Docker进行容器化处理指南》在当今快速发展的软件工程领域,SpringBoot和Docker已经成为现代Java开发者的必备工具,本文将深入讲解如何将一个SpringBo... 目录前言一、为什么选择 Spring Bootjavascript + docker1. 快速部署与

Linux下删除乱码文件和目录的实现方式

《Linux下删除乱码文件和目录的实现方式》:本文主要介绍Linux下删除乱码文件和目录的实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux下删除乱码文件和目录方法1方法2总结Linux下删除乱码文件和目录方法1使用ls -i命令找到文件或目录

PowerShell中15个提升运维效率关键命令实战指南

《PowerShell中15个提升运维效率关键命令实战指南》作为网络安全专业人员的必备技能,PowerShell在系统管理、日志分析、威胁检测和自动化响应方面展现出强大能力,下面我们就来看看15个提升... 目录一、PowerShell在网络安全中的战略价值二、网络安全关键场景命令实战1. 系统安全基线核查

使用Docker构建Python Flask程序的详细教程

《使用Docker构建PythonFlask程序的详细教程》在当今的软件开发领域,容器化技术正变得越来越流行,而Docker无疑是其中的佼佼者,本文我们就来聊聊如何使用Docker构建一个简单的Py... 目录引言一、准备工作二、创建 Flask 应用程序三、创建 dockerfile四、构建 Docker

SpringBoot+Docker+Graylog 如何让错误自动报警

《SpringBoot+Docker+Graylog如何让错误自动报警》SpringBoot默认使用SLF4J与Logback,支持多日志级别和配置方式,可输出到控制台、文件及远程服务器,集成ELK... 目录01 Spring Boot 默认日志框架解析02 Spring Boot 日志级别详解03 Sp

java实现docker镜像上传到harbor仓库的方式

《java实现docker镜像上传到harbor仓库的方式》:本文主要介绍java实现docker镜像上传到harbor仓库的方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录1. 前 言2. 编写工具类2.1 引入依赖包2.2 使用当前服务器的docker环境推送镜像2.2