Docker 远程 API 未授权访问导致的容器逃逸
一、漏洞背景 Docker 守护进程(dockerd)默认通过 Unix Socket(/var/run/docker.sock)提供服务,仅允许本地访问。但如果管理员配置不当,将其通过 -H 0.0.0.0: 端口暴露在 TCP 端口上,且未做身份验证和访问控制,攻击者可远程利用 Docker API 执行命令,甚至挂载宿主机文件系统实现 “逃逸…
|
|
927
|
|
540 字
|
3 分钟
Docker Socket 容器逃逸复现
一、原理概述 Docker Socket(/var/run/docker.sock)是 Docker 守护进程与客户端通信的 UNIX 套接字文件。当 Ubuntu 18.04 容器挂载该文件时,容器内进程可通过 Docker API 操控宿主机 Docker 服务,进而创建挂载宿主机根目录的新容器,实现从容器到宿主机的权限逃逸。 二、环境准备(宿…
|
|
840
|
|
489 字
|
3 分钟
挂载宿主机 procfs 逃逸
一、原理剖析 (一)核心依赖:core_pattern 机制 Linux 内核借助 /proc/sys/kernel/core_pattern 文件,定义程序崩溃(core dump)时的行为规则。当该文件内容以 | 起始,剩余部分会被当作用户空间的程序或脚本执行,且执行时继承内核级权限,通常可获取宿主机 root 权限 。 (二)容器逃逸条件 特…
|
|
939
|
|
981 字
|
4 分钟
内核漏洞结合 VDSO 的 Docker 容器逃逸
一、漏洞原理与测试目标 漏洞本质:Linux 内核写时复制(COW)机制的竞争条件漏洞,允许低权限用户篡改只读内存映射(如 VDSO 虚拟动态共享对象),实现权限提升。 Docker 逃逸逻辑:容器与宿主机共享内核,通过特权容器突破隔离,利用漏洞篡改宿主机 VDSO 内存,获取宿主机 root 权限。 测试目标:通过scumjr/dirtycow-…
|
|
831
|
|
340 字
|
2 分钟
Docker 特权模式逃逸
特权模式逃逸原理与前提 核心原理 当 Docker 容器以 --privileged 模式启动时,容器内的 root 用户获得与宿主机 root 几乎等同的权限,可直接访问宿主机设备、挂载磁盘分区,绕过 Namespace 和 Cgroup 隔离,实现对宿主机文件系统的完全控制,进而通过多种方式逃逸获取宿主机权限。 前提条件 容器以特权模式启动:d…
|
|
497
|
|
690 字
|
3 分钟
Docker 容器逃逸方法检测
一、判断是否为容器环境 通过检查 /proc/1/cgroup 中是否包含 docker 相关标识,判断是否处于 Docker 容器环境: cat /proc/1/cgroup | grep -qi docker && echo "Is Docker" || echo "Not Docker" 输出 Is Docker :当前为…
|
|
941
|
|
680 字
|
3 分钟