当获得一个Webshell,我们的攻击点可能处于服务器的一个虚拟目录里,一台虚拟机或是一台物理机,甚至是在一个Docker容器里。
假设,我们获取的Webshell就处于Docker容器里,那么,我们该如何破局呢?
Docker 容器逃逸案例:
1、判断是否处于docker容器里
2、配置不当引起的逃逸
-
Docker Remote API 未授权访问
-
docker.sock 挂载到容器内部
-
docker 高危启动参数
-
privileged 特权模式
-
挂载敏感目录
-
相关启动参数存在的安全问题
-
3、Docker 软件设计引起的逃逸
-
Shocker攻击
-
runC容器逃逸漏洞(CVE-2019-5736)
-
Docker cp 命令(CVE-2019-14271)
4、内核漏洞引起的逃逸
-
脏牛漏洞(dirtycow-docker-vdso)
一、判断是否在docker容器里
首先,我们需要先判断是否在docker环境里,常用的两个检测方式:
检查/.dockerenv文件是否存在
检查/proc/1/cgroup内是否包含"doc