滥用 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

相关文章

ElasticSearch+Kibana通过Docker部署到Linux服务器中操作方法

《ElasticSearch+Kibana通过Docker部署到Linux服务器中操作方法》本文介绍了Elasticsearch的基本概念,包括文档和字段、索引和映射,还详细描述了如何通过Docker... 目录1、ElasticSearch概念2、ElasticSearch、Kibana和IK分词器部署

Android 悬浮窗开发示例((动态权限请求 | 前台服务和通知 | 悬浮窗创建 )

《Android悬浮窗开发示例((动态权限请求|前台服务和通知|悬浮窗创建)》本文介绍了Android悬浮窗的实现效果,包括动态权限请求、前台服务和通知的使用,悬浮窗权限需要动态申请并引导... 目录一、悬浮窗 动态权限请求1、动态请求权限2、悬浮窗权限说明3、检查动态权限4、申请动态权限5、权限设置完毕后

浅析如何使用Swagger生成带权限控制的API文档

《浅析如何使用Swagger生成带权限控制的API文档》当涉及到权限控制时,如何生成既安全又详细的API文档就成了一个关键问题,所以这篇文章小编就来和大家好好聊聊如何用Swagger来生成带有... 目录准备工作配置 Swagger权限控制给 API 加上权限注解查看文档注意事项在咱们的开发工作里,API

docker如何删除悬空镜像

《docker如何删除悬空镜像》文章介绍了如何使用Docker命令删除悬空镜像,以提高服务器空间利用率,通过使用dockerimage命令结合filter和awk工具,可以过滤出没有Tag的镜像,并将... 目录docChina编程ker删除悬空镜像前言悬空镜像docker官方提供的方式自定义方式总结docker

使用DeepSeek API 结合VSCode提升开发效率

《使用DeepSeekAPI结合VSCode提升开发效率》:本文主要介绍DeepSeekAPI与VisualStudioCode(VSCode)结合使用,以提升软件开发效率,具有一定的参考价值... 目录引言准备工作安装必要的 VSCode 扩展配置 DeepSeek API1. 创建 API 请求文件2.

Java访问修饰符public、private、protected及默认访问权限详解

《Java访问修饰符public、private、protected及默认访问权限详解》:本文主要介绍Java访问修饰符public、private、protected及默认访问权限的相关资料,每... 目录前言1. public 访问修饰符特点:示例:适用场景:2. private 访问修饰符特点:示例:

C#使用yield关键字实现提升迭代性能与效率

《C#使用yield关键字实现提升迭代性能与效率》yield关键字在C#中简化了数据迭代的方式,实现了按需生成数据,自动维护迭代状态,本文主要来聊聊如何使用yield关键字实现提升迭代性能与效率,感兴... 目录前言传统迭代和yield迭代方式对比yield延迟加载按需获取数据yield break显式示迭

Linux中chmod权限设置方式

《Linux中chmod权限设置方式》本文介绍了Linux系统中文件和目录权限的设置方法,包括chmod、chown和chgrp命令的使用,以及权限模式和符号模式的详细说明,通过这些命令,用户可以灵活... 目录设置基本权限命令:chmod1、权限介绍2、chmod命令常见用法和示例3、文件权限详解4、ch

更改docker默认数据目录的方法步骤

《更改docker默认数据目录的方法步骤》本文主要介绍了更改docker默认数据目录的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一... 目录1.查看docker是否存在并停止该服务2.挂载镜像并安装rsync便于备份3.取消挂载备份和迁

Docker集成CI/CD的项目实践

《Docker集成CI/CD的项目实践》本文主要介绍了Docker集成CI/CD的项目实践,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学... 目录一、引言1.1 什么是 CI/CD?1.2 docker 在 CI/CD 中的作用二、Docke