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

雷石安全实验室

共 917字,需浏览 2分钟

 ·

2022-04-17 11:22

在溯源反制过程中,会经常遇到一些有趣的玩法,这里给大家分享一种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环境的话,切记不要使用特权模式!

往期回顾

  01

试水ios-一次过闪退记录
02

burp suite使用技巧


03

java安全-02RMI




浏览 36
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报