安全矩阵

 找回密码
 立即注册
搜索
查看: 2178|回复: 0

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

[复制链接]

260

主题

275

帖子

1065

积分

金牌会员

Rank: 6Rank: 6

积分
1065
发表于 2022-4-17 15:42:47 | 显示全部楼层 |阅读模式
本帖最后由 luozhenni 于 2022-4-17 15:42 编辑

docker 利用特权模式逃逸并拿下主机
原创 雷石安全实验室 雷石安全实验室 2022-04-15 17:00
原文链接:docker 利用特权模式逃逸并拿下主机

在溯源反制过程中,会经常遇到一些有趣的玩法,这里给大家分享一种docker在特权模式下逃逸,并拿下主机权限的玩法。前言
在一次溯源反制过程中,发现了一个主机,经过资产收集之后,发现有如下几个资产。

其中9000是一个Web服务,于是我访问查看了一下。
发现其为Portainer后台,且存在弱口令登录。

一般看到这种登录页面,习惯性的输入admin/admin,admin/password,admin/123456。然后就试出来一个进去了。
Portainer
Portainer是Docker的图形化管理工具,提供状态显示面板、应用模板快速部署、容器镜像网络数据卷的基本操作(包括上传下载镜像,创建容器等操作)、事件日志显示、容器控制台操作、Swarm集群和服务等集中管理和操作、登录用户管理和控制等功能。功能十分全面,基本能满足中小型单位对容器管理的全部需求。
这是我在溯源过程中第一次碰到这个后台,我简单浏览了一下
打开后台就是这样

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

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

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

创建好容器之后,点击这里,进入容器控制台。
现在我们需要挂载磁盘到容器的目录上。这一点和容器数据卷设置不同,这一步是真实的挂载磁盘。
通过df -h 命令查看磁盘,新建文件夹/abcd,然后将宿主机的文件系统挂载到docker容器中的/abcd 目录。

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

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


总结

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

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|安全矩阵

GMT+8, 2024-11-30 13:45 , Processed in 0.012454 second(s), 18 queries .

Powered by Discuz! X4.0

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表