书接上回,我刚搞完docker累个半死,本以为只要拉取vulhub镜像就大功告成了,结果还需要docker-compose而这个东西又要用pip来安装,心态直接炸裂。不过搞还是要搞得,毕竟搞到一半了放弃了太可惜了。
Python安装
由于centos7里自带python2 所以只需要安装python3就可以,python3我选择直接安装anaconda3,因为里面集成了很多第三方库,很实用,重要的是里面就有pip和git,打开centos自带的firefox,访问https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/Anaconda3-5.3.1-Linux-x86_64.sh直接下载最新版本
不想要最新版还有版本目录可以选择性下载,连python1的都有https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/
下载完成之后cd到下载目录然后
cd /下载/
执行安装命令
bash Anaconda3-4.3.1-Linux-x86_64.sh
版本可能不一样,之后一直回车,要选择的地方就填yes,注意最后一个是是否添加VScode编辑器,可加可不加。
坑又来了,安装完成之后使用conda --version提示不是系统命令,这就说明软件目录并没有添加到path里面,又要叨扰度娘娘,结果又搜到一篇每天坚持一点点的博客
虽然标题是ubuntu但是都是linux通用的命令
# 将anaconda的bin目录加入PATH,根据版本不同
echo 'export PATH="~/anaconda3/bin:$PATH"' >> ~/.bashrc
# 更新bashrc以立即生效
source ~/.bashrc
之后pip,python3,conda都可以用了。
vulhub安装
兜兜转转终于到了主题所说的vulhub安装了,vulhub是基于docker以及docker-compose的。上面安装python环境也是为了安装docker-compose做准备。这一部分我是借鉴的freebuf大神秃顶的邪念的一篇文章
https://www.freebuf.com/sectool/165062.html
pip install docker-compose
输入之后发现pip版本过低,conda3里的版本是10.0.1,先更新pip到19.2
pip install --upgrade pip
再安装docker-compose就可以安装了
docker安装中会遇到一些问题:
只能启动client,无法启动server
这需要更改配置文件
warning: /var/cache/yum/x86_64/7/docker-ce-edge/packages/docker-ce-18.02.0.ce-1. el7.centos.x86_64.rpm: Header V4 RSA/SHA512 Signature, key ID 621e9f35: NOKEY Public key for docker-ce-18.02.0.ce-1.el7.centos.x86_64.rpm is not installed
意思:docker-ce-18.02.0.ce-1.el7.centos.x86_64.rpm 公钥未安装,key没有导入
解决方法:
[root@localhost ~]# wget https://get.docker.com/gpg
[root@localhost ~]# rpmkeys --import ./gpg
[root@localhost ~]# systemctl start docker.service
[root@localhost ~]# docker version
这个问题我没遇到,但是用docker version命令没有server,按照他的做了也没有启动server不知道为什么,,,现在知道了,是因为在root权限下或者demo模式下会全部显示,在普通用户权限下只会显示客户端不显示服务端。
基础配置好了现在就要下载vulhub源文件来安装环境,使用anaconda3自带的git将项目克隆到本地
git clone https://github.com/vulhub/vulhub.git
这样就下载完了,之后进入到某个漏洞目录
cd vulhub/struts2/s2-016
因为之前启动了docker所以不用再次启动了,没启动就要再启动一次
systemctl start docker
然后直接两条命令搭建环境,或者说一条就可以
docker-compose build #(可选)
docker-compose up -d
PS: 为什么 docker-compose build是可选的?
docker-compose up -d运行后,会自动查找当前目录下的配置文件。如果配置文件中包含的环境均已经存在,则不会再次编译;如果配置文件中包含的环境不存在,则会自动进行编译。所以,其实 docker-compose up -d命令是包含了 docker-compose build的。
如果更新了配置文件,你可以手工执行 docker-compose build来重新编译靶场环境。
等待运行结束,即可自动配置好环境,然后运行
直接可以本地访问相应端口或者查找虚拟机ip用主机访问。
使用完毕就可以结束服务,使环境变为初始状态。
docker-compose down
上述命令会执行如下几个动作:
关闭正在运行的容器
删除所有相关容器
移除NAT(docker-compose在运行的时候会创建一个NAT网段)
网友评论