Vulhub靶场搭建

简介: 安装Docker在安装、使用Docker的过程中出现错误比较多,所以这一节来说明一下如何正确安装最新版本的Docker,(国内机器)并且配置加速器。一键安装Docker这是推荐方式。在未安装过Docker的机器上,root权限执行如下命令即可一键安装最新版Docker:curl -s https://get.docker.com/ | sh如果你已经安装过老版本Docker(且不是用这个一键安装脚本安装的),请先卸载Docker(例如sudo apt purge --autoremove docker.io)。如果你不想使用这种方式安装Docker,也可以使用系统自带的包管理工具来

安装Docker

在安装、使用Docker的过程中出现错误比较多,所以这一节来说明一下如何正确安装最新版本的Docker,(国内机器)并且配置加速器。

一键安装Docker

这是推荐方式。在未安装过Docker的机器上,root权限执行如下命令即可一键安装最新版Docker:

curl -s https://get.docker.com/ | sh

如果你已经安装过老版本Docker(且不是用这个一键安装脚本安装的),请先卸载Docker(例如sudo apt purge --autoremove docker.io)。

如果你不想使用这种方式安装Docker,也可以使用系统自带的包管理工具来安装,比如在Ubuntu下:

sudo apt install docker.io

但包管理工具安装的Docker版本一般较老,有可能在使用Vulhub的时候会出现BUG(基本上下不会,但也不排除有的Docker版本过老的)。

注意,docker是一个系统服务,所以,安装完成后可能需要手工启动服务:service start docker,否则会出现连接失败的情况。同样,如果docker没有自启动,你也需要手工启动docker服务。如果你是使用一键安装工具安装的docker,则docker会自动启动。

安装docker-compose

Docker-compose用于组合服务与内网。有部分环境涉及到多个容器,且不同环境开启的端口、目录也不相同,所以Vulhub选择使用docker-compose做环境一键化管理工具。用户不再需要学习docker命令的各种参数与用法,只需要简单地执行docker-compose up -d即可启动容器。

Docker-compose基于Python开发,所以我们可以使用pip进行安装。

安装PIP

当然,如果你的环境中没有安装pip,还需要先安装pip。推荐使用如下命令进行安装,这种方式将会少安装很多不需要的依赖:

yum -y install epel-release
yum install python-pip

安装docker-compose

有pip后即可直接使用pip安装docker-compose:

pip3 install docker-compose -i https://pypi.tuna.tsinghua.edu.cn/simple

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

下载Vulhub

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

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

如果拉取速度太慢,可以直接下载master分支的压缩包:Vulhub.zip

启动漏洞环境

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

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

cd flask/ssti

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

# 可选
docker-compose build
docker-compose up -d

为什么docker-compose build是可选的?

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

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


目录
相关文章
|
10月前
|
安全
sqli-lab教程Less-8
sqli-lab教程Less-8
106 0
|
10月前
|
安全 数据安全/隐私保护
sqli-lab教程Less-3
sqli-lab教程Less-3
64 0
|
10月前
|
开发工具 git
[github配置] 远程访问仓库以及问题解决
[github配置] 远程访问仓库以及问题解决
189 0
|
数据可视化 JavaScript 开发工具
【全网最全面】VS Code使用Git可视化管理源代码详细教程
【全网最全面】VS Code使用Git可视化管理源代码详细教程
7848 0
|
Docker 容器
kali vulhub的使用方法
kali vulhub的使用方法
183 0
|
前端开发 jenkins Linux
前端项目自动化部署——超详细教程(Jenkins、Github Actions)(二)
前端项目自动化部署——超详细教程(Jenkins、Github Actions)(二)
2027 0
|
前端开发 JavaScript jenkins
前端项目自动化部署——超详细教程(Jenkins、Github Actions)(一)
前端项目自动化部署——超详细教程(Jenkins、Github Actions)
576 0
|
前端开发 Ubuntu jenkins
前端项目自动化部署——超详细教程(Jenkins、Github Actions)(三)
前端项目自动化部署——超详细教程(Jenkins、Github Actions)(三)
804 0
|
JSON 数据格式
手把手教你将 Github 私有仓库部署到 Vercel
手把手教你将 Github 私有仓库部署到 Vercel
1743 0
|
JavaScript Shell 网络安全
在Windows环境下使用hexo搭建博客以及部署到gitee / github
在Windows环境下使用hexo搭建博客以及部署到gitee / github
233 0