Kubernetes攻防 | 容器逃逸 - Docker in Docker

有一种比较特殊的场景,当宿主机的 /var/run/docker.sock 被挂载到容器内时,容器可以通过 docker.sock 在宿主机里创建并配置任意容器。可以理解为创建任意权限的进程:

这种情况被称为 docker in docker 。常见于需要对当前节点进行容器管理的编排容器内。

如果你想直接尝试这种逃逸所带来的魅力,可以去试试Google自带地容器逃逸场景。你只需要科学上网再加上Google账号就可以直接使用里面的环境和代码。地址:

https://ssh.cloud.google.com/cloudshell/editor?cloudshell_git_repo=https://github.com/neargle/cloud_native_security_test_case.git
Kubernetes攻防 | 容器逃逸 - Docker in Docker_第1张图片

然后运行:

bash try_google_cloud/host_root.sh
Kubernetes攻防 | 容器逃逸 - Docker in Docker_第2张图片
当然,大多数容器内一般并不支持你去安装和运行docker client,一般获取到的镜像都是受限或是不完整的。即使使用安装包也是比较困难的。这里就可以去尝试用Go编写的的程序,进行交叉编译后不需要依赖环境,可以直接运行。

你可能感兴趣的:(Docker,Kubernetes,docker,kubernetes,运维,云原生,容器)