docker 利用特权模式逃逸并拿下主机

简介: docker 利用特权模式逃逸并拿下主机

在溯源反制过程中,会经常遇到一些有趣的玩法,这里给大家分享一种docker在特权模式下逃逸,并拿下主机权限的玩法。


前言


在一次溯源反制过程中,发现了一个主机,经过资产收集之后,发现有如下几个资产。

其中9000是一个Web服务,于是我访问查看了一下。

发现其为Portainer后台,且存在弱口令登录。

一般看到这种登录页面,习惯性的输入admin/admin,admin/password,admin/123456。然后就试出来一个进去了。


Portainer


Portainer是Docker的图形化管理工具,提供状态显示面板、应用模板快速部署、容器镜像网络数据卷的基本操作(包括上传下载镜像,创建容器等操作)、事件日志显示、容器控制台操作、Swarm集群和服务等集中管理和操作、登录用户管理和控制等功能。功能十分全面,基本能满足中小型单位对容器管理的全部需求。

这是我在溯源过程中第一次碰到这个后台,我简单浏览了一下

打开后台就是这样

这里有很多创建好的docker容器。还可以自定义下载镜像,并构建容器。


利用


我想到如果在docker容器启动中加上--privileged参数即特权模式,就可以磁盘挂载利用了。进行挂载后,可以进行对本地宿主机的文件替换比如写入公钥getshell, 想到这一点,我点击新建容器。选择了nignx:latest 镜像

注意, 开启特权模式一定要勾选下面的选项

9733201acd2811911fb106d0443534bb_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

将此选项勾选之后,就会开启特权模式了。

94b50805330052f1e3b5e9dfabe4d9bd_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

创建好容器之后,点击这里,进入容器控制台。

现在我们需要挂载磁盘到容器的目录上。这一点和容器数据卷设置不同,这一步是真实的挂载磁盘。

通过df -h 命令查看磁盘,新建文件夹/abcd,然后将宿主机的文件系统挂载到docker容器中的/abcd 目录。

1c7f12492a7729af314fd61469414f74_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

然后/abcd目录就是宿主机的真实主机文件了,我们正常在root下写入公钥文件。

最后可以直接用ssh登录链接了


总结


这篇是我在溯源反制中真实遇到的一个情况,举一反三,如果是自己部署docker环境的话,切记不要使用特权模式!


相关文章
|
5天前
|
NoSQL 关系型数据库 MySQL
《docker高级篇(大厂进阶):4.Docker网络》包括:是什么、常用基本命令、能干嘛、网络模式、docker平台架构图解
《docker高级篇(大厂进阶):4.Docker网络》包括:是什么、常用基本命令、能干嘛、网络模式、docker平台架构图解
91 56
《docker高级篇(大厂进阶):4.Docker网络》包括:是什么、常用基本命令、能干嘛、网络模式、docker平台架构图解
|
17天前
|
安全 Docker 容器
docker的默认网络模式有哪些
Docker 默认网络模式包括:1) bridge:默认模式,各容器分配独立IP,可通过名称或IP通信;2) host:容器与宿主机共享网络命名空间,性能最优但有安全风险;3) none:容器隔离无网络配置,适用于仅需本地通信的场景。
31 6
|
2月前
|
负载均衡 应用服务中间件 数据安全/隐私保护
docker swarm 创建 Swarm 模式下的网络
【10月更文挑战第14天】
54 6
|
2月前
|
存储 数据管理 Linux
docker中使用主机路径作为数据卷
【10月更文挑战第13天】
19 2
|
1月前
|
Docker 容器
【赵渝强老师】Docker的None网络模式
Docker容器在网络方面实现了逻辑隔离,提供了四种网络模式:bridge、container、host和none。其中,none模式下容器具有独立的网络命名空间,但不包含任何网络配置,仅能通过Local Loopback网卡(localhost或127.0.0.1)进行通信。适用于不希望容器接收任何网络流量或运行无需网络连接的特殊服务。
|
1月前
|
Docker 容器
【赵渝强老师】Docker的Host网络模式
Docker容器在网络环境中是隔离的,可通过配置不同网络模式(如bridge、container、host和none)实现容器间或与宿主机的网络通信。其中,host模式使容器与宿主机共享同一网络命名空间,提高性能但牺牲了网络隔离性。
|
1月前
|
Kubernetes Docker 容器
【赵渝强老师】Docker的Container网络模式
Docker容器在网络环境中彼此隔离,但可通过配置不同网络模式实现容器间通信。其中,container模式使容器共享同一网络命名空间,通过localhost或127.0.0.1互相访问,提高传输效率。本文介绍了container模式的特点及具体示例。
|
1月前
|
Linux Docker 容器
【赵渝强老师】Docker的Bridge网络模式
本文介绍了Docker容器的网络隔离机制及其四种网络模式:bridge、container、host和none。重点讲解了默认的bridge模式,通过示例演示了如何创建自定义bridge网络并配置容器的网络信息。文中还附有相关图片和视频讲解,帮助读者更好地理解Docker网络的配置和使用方法。
|
2月前
|
Docker 容器
docker中桥接模式(bridge)
【10月更文挑战第4天】
137 5
|
2月前
|
安全 Cloud Native Shell
云上攻防:云原生篇&Docker容器逃逸
本文介绍了Docker的基本概念及其对渗透测试的影响,重点讲解了容器逃逸的方法。Docker是一种轻量级的容器技术,与虚拟机相比,具有更高的便携性和资源利用率。然而,这也带来了安全风险,特别是容器逃逸问题。文章详细描述了三种常见的容器逃逸方法:不安全的配置、相关程序漏洞和内核漏洞,并提供了具体的检测和利用方法。此外,还介绍了几种特定的漏洞(如CVE-2019-5736和CVE-2020-15257)及其复现步骤,帮助读者更好地理解和应对这些安全威胁。
139 0
云上攻防:云原生篇&Docker容器逃逸
下一篇
DataWorks