手把手教你搭建 Docker API 未授权漏洞环境

本贴最后更新于 1268 天前,其中的信息可能已经沧海桑田

环境:ubuntu 16.04

我是在虚拟机中安装了ubuntu 16.04的环境,里面暂时没有docker、ssh远程、vim等。

1. 更换国内源

直接输入docker

这里没有安装,那安装下

sudo apt install docker.io

开始安装

因为我没有修改源,所以这个速度很慢

那在这先修改下源吧,因为这个里面还没有vim编辑器,不方便

先将源文件备份

sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak

然后编辑文件,因为这个里面还没有vim,而且是在桌面环境下,所以就是用gedit进行编辑吧

sudo getdit /etc/apt/sources.list

将里面的文件全部删除,然后替换到阿里源

deb http://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multiverse 
deb http://mirrors.aliyun.com/ubuntu/ trusty-security main restricted universe multiverse 
deb http://mirrors.aliyun.com/ubuntu/ trusty-updates main restricted universe multiverse 
deb http://mirrors.aliyun.com/ubuntu/ trusty-proposed main restricted universe multiverse 
deb http://mirrors.aliyun.com/ubuntu/ trusty-backports main restricted universe multiverse 
deb-src http://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multiverse 
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-security main restricted universe multiverse 
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-updates main restricted universe multiverse 
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-proposed main restricted universe multiverse 
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-backports main restricted universe multiverse 

将文件保存,更新源

sudo apt-get update

2 安装vim

安装vim编辑器

sudo apt-get install vim

有报错

sudo apt-get purge vim-common

sudo apt-get update


sudo apt-get install vim

vim安装成功

3 重新安装openssh-client支持root远程登陆

因为在ubuntu16.04中无 sshd_config文件,其他的太麻烦,所以在这里就直接重装算了

但是如果直接重装,就会报错

如果再去解决这个报错,就很麻烦

所以直接力大砖飞,重装

先卸载

sudo apt-get remove openssh-client

再重装

sudo apt-get install openssh-server

那开始配置 ssh_configsshd_config文件

现将两个文件备份

在ssh_config文件中,进行如下修改

重启ssh sudo service ssh restart

然后这里去连接,使用cat用户进行登陆,是可以成功的

但是不支持root用户进行登陆,因此要将root用户登陆的限制去掉

在这地方将这个进行修改

PermitRootLogin without-password

PermitRootLogin yes

再次重启ssh sudo service ssh restart

再次登陆即可成功

4 安装docker

在root权限下直接安装docker

apt-get install docker.io

安装完成之后,docker可以使用

但是在这里输入docker指令:

FATA[0000] Get http:///var/run/docker.sock/v1.18/containers/json: dial unix /var/run/docker.sock: no such file or directory. Are you trying to connect to a TLS-enabled daemon without TLS?

这是因为docker没有启动

service docker start

这时就可以了

这里只是本地可以访问docker,但是暂时不支持远程操作docker

为了后面的方便演示,我们将环境从本地的Ubuntu环境切换到了阿里云的VPS上来

阿里云的VPS也是Ubuntu

5. 配置docker支持远程访问

进行文件备份

cp /lib/systemd/system/docker.service /lib/systemd/system/docker.service.bak

然后编辑

vim /lib/systemd/system/docker.service

在文件的末尾增加以下代码

[Service]
ExecStart=
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock

保存并退出编辑后,重载守护进程以及重启Docker:

sudo systemctl daemon-reload

sudo service docker restart

通过执行命令查看是否开放了远程访问端口:

systemctl status docker.service

在这里还可以输入docker info 查看

然后再本地进行测试

image.png

自此,Docker API 未授权漏洞环境搭建完成。

回帖
请输入回帖内容 ...