Docker 未授权访问
奇奇怪怪
安全小技巧
新的一天开始了
剪刀石头布,哈,我又赢了
2023
05-18
漏洞描述
- Docker Remote API 是一个取代远程命令行界面(rcli)的REST API。通过 docker client 或者 http 直接请求就可以访问这个 API,通过这个接口,我们可以新建 container,删除已有 container,甚至是获取宿主机的 shell
环境配置
- vulhub靶场环境
- docker-compose build
docker-compose up -d - 环境启动后,将监听2375端口。
- 测试多个环境启动失败,最后使用官方靶场推荐环境,ubuntu20.04 正常启动
漏洞利用
1 | http://xxx:2375/version 查看版本信息 |
1 | py poc 代码 |
漏洞加固
- 在不必需的情况下,不要启用 docker 的 remote api 服务,如果必须使用的话,可以采用如下的加固方式:
- 设置 ACL,仅允许信任的来源 IP 连接;
- 设置 TLS 认证,官方的文档为 Protect the Docker daemon socket
- 客户端连接时需要设置以下环境变量 export DOCKER_TLS_VERIFY=1
1 | export DOCKER_CERT_PATH=~/.docker |
- 在 docker api 服务器前面加一个代理,例如 nginx,设置 401 认证
参考链接
啊,再见了,再见了,哈
我们会再见的对么
再见你要幸福
燕子,燕子
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 方糖!