目录

  • 0 前言
  • 1 安装
    • 1.1 在虚拟机中安装CentOS
    • 1.2 安装Docker
    • 1.3 安装docker-compose
    • 1.4 安装Vulhub
    • 1.5 修改镜像源
    • 1.6 设置快照
  • 2 启用
  • 3 总结
  • 参考文献

0 前言

  1. Vulhub是一个面向大众的开源漏洞靶场,无需docker知识,简单执行两条命令即可编译、运行一个完整的漏洞靶场镜像。
  2. 该靶场旨在让漏洞复现变得更加简单,让安全研究者更加专注于漏洞原理本身。

1 安装

1.1 在虚拟机中安装CentOS

  1. 如果是在真实机中部署该靶场则直接跳过该步骤;
  2. 在虚拟中安装CentOS可以参考文章《CentOS7虚拟机安装及界面图形化》。

1.2 安装Docker

  1. 本小节分享时,Linux操作系统为CentOS7。
  2. 打开终端,切换至root用户,使用命令:yum install docker进行安装。安装过程中有多次需要确认,输入y,或者直接在安装命令中增加 -y,来默认输入y回复。
  3. 当出现以下完毕字样时,安装结束。
  4. 启动docker服务:systemctl start docker.service
  5. 设置docker随开机自定开启:systemctl enable docker.service

1.3 安装docker-compose

  1. 目的:Docker-compose用于组合服务与内网。有部分环境涉及到多个容器,且不同环境开启的端口、目录也不相同,所以Vulhub选择使用docker-compose做环境一键化管理工具。用户不再需要学习docker命令的各种参数与用法,只需要简单地执行docker-compose up -d即可启动容器。
  2. 本节内容参考docker官网的安装方法,在该网站上可以针对不同的系统如Windows和linux等选择不同的安装方式。
  3. 运行此命令下载docker compose的当前稳定版本,请及时查看官网是否有更新版本: sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
  4. 对二进制文件应用可执行权限sudo chmod +x /usr/local/bin/docker-compose
  5. 创建链接ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose,这样才能直接使用docker-compose命令。

1.4 安装Vulhub

  1. 使用命令yum -y install git安装git。
  2. 使用命令git --version验证安装是否成功。
  3. 使用命令cd /usr,将后续的文件下载到usr目录下。
  4. 使用命令git clone https://github.com/vulhub/vulhub.git下载Vulhub靶场资料,如果显示下载或连接失败,可以多试试几次。

1.5 修改镜像源

  1. 输入命令vim /etc/docker/daemon.json创建daemon.json文件。
  2. 在编辑器中输入内容,并保存退出
{"registry-mirrors": ["https://nfesww3w.mirror.aliyuncs.com"]
}
  1. 输入命令,重启docker即可
systemctl daemon-reload
systemctl restart docker

1.6 设置快照

设置快照方便恢复与使用,避免重复安装。

2 启用

  1. 原因:docker-compose会自动查找当前目录下的配置文件(默认文件名为docker-compose.yml),并根据其内容编译镜像和启动容器。所以,要运行某个漏洞靶场,需要先进入该漏洞所在的目录。
  2. 使用前先cd /usr/vulhub进入到vulhub文件夹中。可以查看到该目录下有多个靶场目录,每个子目录下都有一个或多个漏洞环境,启用环境前先在官网查一下要进入哪个子目录。
  3. 在Vulhub中选择某个环境,就进入对应目录。此处我们进入Nginx解析漏洞,cd nginx/nginx_parsing_vulnerability/,来试验一下所搭配的漏洞环境能否正常写入文件。
  4. 直接执行docker-compose up -d,进行漏洞靶场的编译和运行,需要经过漫长的等待。不同靶场的解题方式参考对应官网的文章。
  5. 待编译完成时,使用命令docker ps -a查看所开启的环境的数量及端口。
  6. 注意看屏幕右上角是否有弹出SElinux的安全警告,如果有则看文章《CentOS7部署Vulhub靶场后,在启动漏洞容器时弹出SELinux警告,致使网站无法正常执行文件上传功能》。

3 总结

  1. 掌握部署Vulhub靶场的方法;
  2. 了解Vulhub启用的方法。

参考文献

  1. 《Vulhub官方网站》
  2. 《【环境搭建】Docker简介与安装》

【环境搭建】CentOS上部署Vulhub靶场相关推荐

  1. centos java 集成环境搭建,CentOS上搭建Tomcat环境并配置服务自启动 - Sonnyb - 博客园...

    下载安装JDK 卸载原装的OpenJDK(如果有) # 查看是否安装Java java -version # 查看Java的安装包信息 rpm -qa | grep java # 卸载原装Java,为 ...

  2. 【踩坑】CentOS7部署Vulhub靶场后,在启动漏洞容器时弹出SELinux警告,致使网站无法正常执行文件上传功能。

    目录 1 背景 2 SELinux 概述 3 解决 参考文献 1 背景 为研究网络安全,本人准备在CentOS上部署Vulhub靶场来实现,部署过程参考文章<CentOS上部署Vulhub靶场& ...

  3. 企业实战(2) 项目环境搭建之Tomcat部署

    前言: Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选.对于一个初学者来说, ...

  4. LAMP服务器环境搭建及工程部署

    LAMP服务器环境搭建及工程部署 这篇文章是我之前讲的环境搭建和项目部署视频讲解的文字版本,由于之前直播录屏的时候没有空闲的服务器进行搭建,所以没有详细的截图等可以展示. 现在刚好我手头有一台vps刚 ...

  5. Java web小项目_个人主页(1)—— 云环境搭建与项目部署

    摘自:Java web小项目_个人主页(1)-- 云环境搭建与项目部署 作者:丶PURSUING 发布时间: 2021-03-26 23:59:39 网址:https://blog.csdn.net/ ...

  6. 环境搭建-CentOS集群搭建

    环境搭建-CentOS集群搭建 写在前面 最近有许多小伙伴问我,大数据的hadoop分布式集群该如何去搭建.所以,想着,就写一篇博客,帮助到更多刚入门大数据的人.本博客会一步一步带你实现一个Hadoo ...

  7. Mac下的Docker及Kubernetes(k8s)本地环境搭建与应用部署、管理界面kubernetes-dashboard

    Mac下的Docker及Kubernetes环境搭建与应用部署 Mac安装docker: brew cask install docker 当然也可以直接去官网下载docker的pkg文件安装 Mac ...

  8. 小程序-本地环境搭建-线上测试搭建-线上正式环境搭建

    本地环境搭建 本地环境只能自己测试 小程序的url设置为localhost.127.0.0.1.或者xxx.xxx.com/api (需要配置hosts)都可以,本地的地址,不需要在小程序后台配置,l ...

  9. CentOS+Nginx+Tomcat+Mysql+PHP 环境搭建及系统部署

    ==============安装centos 7.0======================= 选择最小安装,将相关的"调试工具"."兼容性程序库".&qu ...

最新文章

  1. 数据结构与算法分析-第一章Java类(04)
  2. 关于微机开操作票的研究22437
  3. STM32开发 -- Visual Studio C++编写串口上位机
  4. Post/Redirect/Get模式防止表单重复提交
  5. 安卓system镜像分区_玩机爱好者想要的PT分区到底是什么?可以使现有的安卓系统更快!...
  6. mysql字段自动计算_MySQL创建计算字段
  7. 多线程同步工具——volatile变量
  8. 知识蒸馏方法的演进历史综述
  9. 别人问了个问题:有没有选择JAVA开发的设计文档
  10. 获取服务器响应失效,从Web服务器获取响应时出现问题
  11. 汉诺塔问题详解(C语言)
  12. penuppendown在python中是啥意思_pen down是什么意思
  13. js控制5秒后页面自动跳转
  14. Lottie动画详解
  15. 在没有原始数据的情况下, 我把列线图转换成了网页计算器
  16. 56个民族HTML代码
  17. 职称计算机为啥要现场拍照,网上确认/现场确认的照片还没拍?你需要这份拍照攻略!...
  18. linux编译lilo,linux中LILO及GRUB配置实例
  19. 自定义View实现雨点洒落效果
  20. ros源码下载及编译

热门文章

  1. 软件项目管理系统-功能模块
  2. jackson设置读取属性时使用大写序列化属性时使用小写
  3. Oracle数据库通过身份证计算男女数量比例(Java的SSM框架)
  4. MYSQL .sql 文件运行问题
  5. Java全国计算机等级考试二级笔记---java部分
  6. 点亮未来明灯,引领绿色革命
  7. VMware 16 安装window server 2003【附带可能出现的问题和解决方法】
  8. QT 简单计算器
  9. SSM学习半个月后的笔记整理,希望对你有帮助
  10. 基于javaweb的课程信息管理系统(java+springboot+freemarker+mysql)