如何判断当前机器是否为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的端口端口
访问