基于网络安全的Docker逃逸

如何判断当前机器是否为Docker容器环境

Metasploit中的checkcontainer模块、(判断是否为虚拟机,checkvm模块)

搭配学习教程

1.检查根目录下是否存在.dockerenv文件

2.检查/proc/1/cgroup是否存在还有docker字符串

cat/proc/1/cgroup

①网络安全学习路线②20份渗透测试电子书③安全攻防页笔记④50份安全攻防面试指南⑤安全红队渗透工具包⑥网络安全必备书籍⑦个漏洞实战案例⑧安全大厂内部视频资源⑨历年CTF夺旗赛题解析

3.检查是否存在container环境变量

通过env\PATH来检查是否有docker相关的环境变量,来进一步判断

4.其他检测方式

如检测mount、fdisk-l查看硬盘、判断PID1的进程名等也可用来辅助判断

Docker逃逸方式

1.危险的配置导致Docker逃逸

由于"纵深防御"和"最小权限"等理念和原则落地,越来越难以直接利用漏洞来进行利用。另一方面,公开的漏洞,安全运维人员能够及时将其修复,当然,不免存在漏网之鱼。相反,更多的是利用错误的、危险的配置来进行利用,不仅仅Docker逃逸,其他漏洞也是,比如生产环境开启Debug模式导致漏洞利用等等。

Docker已经将容器运行时的Capabilities黑名单机制改为如今的默认禁止所有Capabilities,再以白名单方式赋予容器运行所需的最小权限

docketremoteapi未授权访问导致逃逸

dockerswarm是管理docker集群的工具。主从管理、默认通过端口通信。绑定了一个DockerRemoteAPI的服务,可以通过HTTP、Python、调用API来操作Docker

DockerRemoteAPI的端口端口

访问


转载请注明:http://www.aierlanlan.com/rzgz/5045.html