安装docker

卸载旧版本docker

yum remove docker docker-client docker-client-latest docker-common   docker-latest  docker-latest-logrotate  docker-logrotate   docker-engine

设置存储库
安装软件包(提供实用程序)并设置稳定存储库。yum-utilsyum-config-manager

sudo yum install -y yum-utils
sudo yum-config-manager  --add-repo https://download.docker.com/linux/centos/docker-ce.repo

安装 Docker 引擎
安装最新版本的 Docker 引擎和 containerd,或转到下一步以安装特定版本:

sudo yum install docker-ce docker-ce-cli containerd.io

若要安装特定版本的Docker 引擎,请在存储库中列出可用版本,然后选择并安装:

yum list docker-ce --showduplicates | sort -r

b.按特定版本的完全限定包名称安装特定版本,该名称是包名 () 加上版本字符串(第 2 列),从第一个冒号 () 开始,直到第一个连字符,用连字符 () 分隔。例如。docker-ce:-docker-ce-18.09.1

sudo yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io

启动 Docker。

sudo systemctl start docker

设置开机启动

sudo systemctl enable docker

通过运行映像验证 Docker 引擎是否已正确安装。hello-world

sudo docker run hello-world

卸载 Docker 引擎
卸载 Docker 引擎、CLI 和容器包:

sudo yum remove docker-ce docker-ce-cli containerd.io

主机上的映像、容器、卷或自定义配置文件不会自动删除。删除所有映像、容器和卷:

sudo rm -rf /var/lib/docker
 sudo rm -rf /var/lib/containerd

yum配置阿里源(这里配不配无所谓)

1.打开centos 的yum 文件夹

cd /etc/yum.repos.d/

2、用wget下载repo 文件

wget http://mirrors.aliyun.com/repo/Centos-7.repo

3、备份系统原来的repo文件

mv CentOs-Base.repo CentOs-Base.repo.bak

4、替换系统原理的repo文件

mv Centos-7.repo CentOs-Base.repo

5、执行yum源更新命令

yum clean all
yum makecache
yum update

安装docker-conmpose

1、准备环境

curl -s https://bootstrap.pypa.io/get-pip.py | python3

报错的话,找不到python3 那就下载一下

yum install python3

然后重新执行。
2、安装docker-compose
有pip后即可直接使用pip安装docker-compose:

pip install docker-compose

安装完成后,执行docker-compose -v,有返回则说明安装成功。

下载Vulhub

1、安装完成docker和docker-compose后,拉取Vulhub到本地任意目录即可:

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

任意执行一个就行,第一个可能不行,建议第二个
可能你也没有git ,没事我也准备了,

yum install git -y

启动漏洞环境

docker-compose会自动查找当前目录下的配置文件(默认文件名为docker-compose.yml),并根据其内容编译镜像和启动容器。所以,要运行某个漏洞靶场,需要先进入该漏洞所在的目录。

在Vulhub中选择某个环境,进入对应目录。如Flask服务端模板注入漏洞,我们进入flask/ssti目录:

cd flask/ssti
直接执行如下命令,进行漏洞靶场的编译和运行:

[root@db007 /]# cd vulhub
[root@db007 vulhub]# ls
activemq    contributors.md        ecshop         git        httpd        joomla      nexus       phpunit          ruby        thinkphp
appweb      contributors.zh-cn.md  elasticsearch  gitea      imagemagick  jupyter     nginx       postgres         samba       tomcat
aria2       couchdb                electron       gitlab     jackson      libssh      node        python           scrapy      uwsgi
base        discuz                 fastjson       gitlist    java         LICENSE     openssh     rails            solr        weblogic
bash        django                 ffmpeg         glassfish  jboss        log4j       openssl     README.md        spark       webmin
cgi         dns                    flask          goahead    jenkins      magento     php         README.zh-cn.md  spring      wordpress
coldfusion  docker                 fpm            gogs       jira         mini_httpd  phpmailer   redis            struts2     zabbix
confluence  drupal                 ghostscript    hadoop     jmeter       mysql       phpmyadmin  rsync            supervisor
[root@db007 vulhub]# docker ps
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES
[root@db007 vulhub]# cd acticemq
-bash: cd: acticemq: No such file or directory
[root@db007 vulhub]# cd activemq
[root@db007 activemq]# ls
CVE-2015-5254  CVE-2016-3088

使用docker构建已经下载的yum源 docker yum源配置_docker


通过docker ps可以看到测试环境已经启动

使用docker构建已经下载的yum源 docker yum源配置_运维_02

可选

docker-compose build

docker-compose up -d
为什么docker-compose build是可选的?
docker-compose up -d运行后,会自动查找当前目录下的配置文件。如果配置文件中包含的环境均已经存在,则不会再次编译;如果配置文件中包含的环境不存在,则会自动进行编译。所以,其实docker-compose up -d命令是包含了docker-compose build的。

如果更新了配置文件,你可以手工执行docker-compose build来重新编译靶场环境。