安装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 ps可以看到测试环境已经启动
可选
docker-compose build
docker-compose up -d
为什么docker-compose build是可选的?
docker-compose up -d运行后,会自动查找当前目录下的配置文件。如果配置文件中包含的环境均已经存在,则不会再次编译;如果配置文件中包含的环境不存在,则会自动进行编译。所以,其实docker-compose up -d命令是包含了docker-compose build的。
如果更新了配置文件,你可以手工执行docker-compose build来重新编译靶场环境。