CentOS7搭建Docker + Vulnhub靶场

前言

想要学习好安全知识的话,就需要各种各样的实战。而Vulhub里就有许多已经搭好的靶场,通过Docker容器就可以进行快速的搭建练习。下面我就通过CentOS 7来演示如何搭建Vulhub靶场。

如果你是在其它的Linux系统(如Ubuntu),则将下面的yum命令改成相应的apt(或apt-get)来进行安装。同样也是可以完成安装的。

开始搭建

由于我的CentOS 7是最小化安装的,直接在虚拟机里打命令会很麻烦。所以这里我先用物理机SSH远程链接一下(这里你可以用其它的SSH链接工具,比如XShell等)
在这里插入图片描述
1. 更新软件:
这一步可能会有点慢,但最好还是更新一下。以免后面会遇到奇奇怪怪的BUG

yum -y update

在这里插入图片描述

2. 安装一些必要的包

yum install -y yum-utils device-mapper-persistent-data lvm2 --skip-broken

在这里插入图片描述

3. 首次安装设置 Docker 仓库:

yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
    
sed -i 's/download.docker.com/mirrors.aliyun.com\/docker-ce/g' /etc/yum.repos.d/docker-ce.repo

yum makecache fast

在这里插入图片描述

4. 安装Docker

yum install -y docker-ce

在这里插入图片描述
5. 查看版本,是否安装成功。

docker -v

在这里插入图片描述
6. 启动并设置为开机自启

systemctl start docker		# 启动docker容器
systemctl enable docker		# 设置为开机自启动容器
systemctl status docker  	# 查看容器状态

在这里插入图片描述
7. 开发所有端口(关闭防火墙)

systemctl stop firewalld    # 关闭防火墙
systemctl disable firewalld # 禁止开机启动防火墙
systemctl status firewalld  # 查看防火墙状态

8. 安装pip

yum -y install python3-pip

在这里插入图片描述

9. 升级pip
此处需要升级一下pip,不然后期安装一些包的时候可能会出错

pip3 install --upgrade pip

在这里插入图片描述

10. 安装docker-compose

pip3 install docker-compose

在这里插入图片描述

11. 查看docker-compose版本

docker-compose -v

在这里插入图片描述

12. git vulnhub
这里我直接把Vulnhub靶场git下来,或者你也可以用浏览器把压缩包下下来

git clone https://github.com/vulhub/vulhub.git

在这里插入图片描述

13. 下载成功后,进入到vulhub目录( cd vulhub ),通过 ls 命令查看漏洞靶场。

cd vulhub && ls

在这里插入图片描述

14. 配置镜像加速器
Docker 官方镜像仓库是外国的,访问网速较差,更改为国内镜像服务。
阿里云镜像加速文档:https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors
这里的镜像加速器是网上拷贝别人的。

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://2jnywotj.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

在这里插入图片描述

先随便加入到一个docker目录,比如:

cd activemq/CVE-2015-5254

15. 启动环境

docker-compose build # 可选
docker-compose up -d # 自动生成漏洞环境

在这里插入图片描述
16. 查看启动环境,发现端口是8161

docker-compose ps

在这里插入图片描述

根据提示访问Docker靶场(http://your-ip:port),其中的:

  • your-ip:是你虚拟机的IP地址
  • port:是虚拟机开启的端口号。只不过这个端口号会和docker形成映射关系(个人理解)

在这里插入图片描述

至此你就可以开始你的靶场之旅了!

参考链接: