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