【网络安全】centos7虚拟机搭建vulhub靶场(超详细),看着一篇就够了!

一、安装 centos7 虚拟机

镜像下载地址 

创建 centos7 虚拟机

打开 VMware,创建新的虚拟机,选择稍后安装操作系统

虚拟机创建完成

开启虚拟机,进行安装

选择简体中文

选择最小化安装

手动配置分区

根挂在点不写具体值,是将剩余空间都分配给根

分区配置完成

关闭 KDUMPS

开启网络连接,之后会配置静态 IP

设置 root 密码和创建用户

重启完成安装

二、更换阿里云源

更换阿里云源

由于 centos7 官方源不在维护更新,需要更换国内源

同样的,这时候用 yum 命令安装常用工具是会报错

所以,第一步需要更换阿里云源

ping www.baidu.com 查看能否 ping 通网络

ip addr 命令查看 centos7 的 IP

使用 SSH 工具连接,这里使用的是 MobaXterm

在无可视化界面的虚拟机中是没有办法进行复制粘贴的,使用 SSH 工具可以进行复制粘贴

阿里云 centos7 下载源

wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
或
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo

因为是最小化安装,只能使用 curl 命令更换下载源

先备份原有下载源

cd /etc/yum.repos.d
mkdir backup
mv *.repo backup/

更换阿里云下载源

curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
###生成缓存
yum makecache

生成缓存完成会显示元数据缓存已建立

安装一些必要的工具

wget

用于从网络上下载资源,没有指定目录,下载资源会默认为当前目录

yum install -y wget

ifconfig

ifconfig是linux中用于显示或配置网络设备[网络接口卡]的命令

yum install -y net-tools

nslookup

yum install -y bind-utils

vim 工具

可定制的文本编辑器

yum install -y vim-enhanced

关闭和禁用防火墙

直接关闭防火墙
systemctl stop firewalld
禁止firewall开机启动
systemctl disable firewalld
查看状态
systemctl status firewalld

关闭 selinux

安全增强型Linux系统,它是一个linux内核模块,也是Linux的一个安全子系统。SELinux功能开启 后,会关闭系统中不安全的功能。关闭SELinux可以帮助解决许多应用程序的运行问题。在某些情况 下,关闭SELinux可能是更好的选择

vim /etc/selinux/config

重启 reboot 后验证,getenforce 该命令可以帮助我们快速了解当前 系统的SELinux执行状态

三、配置静态 IP

使用文本编辑器打开网络配置文件。在 CentOS 7 上,网络配置文件位于/etc/sysconfig/network-scripts/目录下,文件名通常以ifcfg-ensX的形式表示(X 为数字)。例如,编辑文件ifcfg-ens33

cd /etc/sysconfig/network-scripts/
vi ifcfg-ens33

TYPE="Ethernet" # 网卡类型
PROXY_METHOD="none" # 代理方式
BROWSER_ONLY="no" # 只是浏览器:否
BOOTPROTO="static" # 网卡协议 static 静态主机配置协议 dhcp 动态主机配置
DEFROUTE="yes" # 默认路由
IPV4_FAILURE_FATAL="no" # 是否开启IPV4致命错误检测:否
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens33" # 网卡名字(与DEVICE一致)
UUID="0b095f1d-5867-4028-8cd7-727023b1d7dc" # 唯一标识码
DEVICE="ens33" # 网卡设备
ONBOOT="yes" # 是否激活网
IPADDR=192.168.237.180 # ip地址(static设置)
NETMASK=255.255.255.0 # 子网掩码
GATEWAY=192.168.237.2 # 网关
DNS1=223.5.5.5 # dns1 地址解析
DNS2=114.114.114.114 # dns2 地址解析
DNS3=192.168.237.2 # 自己的NAT地址,即网关地址

配置 DNS 服务器地址, Linux 操作系统重最多可以指定3个不同的 DNS 服务器地址(第3个以后将被忽略),优先使用第一个 DNS 服务器。

/etc/resolv.conf 文件中记录了本机默认使用的 DNS 服务器的地址信息,对该文件所做的修改将立刻生效。

vim /etc/resolv.conf

重启网络服务,以下三条命令任选一个

systemctl restart network ======= 重启网卡
service network restart ======= 重启网卡 network 服务
systemctl restart NetworkManager ======= 重启 NetworkManager 服务(注意大小写)

查看静态 IP 是否配置成功

ifconfig
或
ip addr

ping 网络连通性

nslookup 查看 DNS 解析地址

如果配置的 DNS 未生效,有两种解决方案

systemctl restart NetworkManager ======= 重启NetworkManager服务(注意大小写)
vim /etc/resolv.conf ======= 编辑 resolv.conf 文件

四、安装 docker

更新 yum 包

生产环境中此步骤操作请慎重,学习环境随便搞

yum -y update

这个命令不是必须执行的,看个人情况,后面出现不兼容的情况就必须 update 了

注意 
yum -y update:升级所有包同时也升级软件和系统内核; 
yum -y upgrade:只升级所有包,不升级软件和系统内核

卸载旧版本

如果之前安装过

yum remove docker docker-compose docker-selinux docker-engine

安装依赖

安装需要的软件包,yum-util 提供 yum-config-manager 功能,另外两个是 device-mapper 驱动依赖

yum install -y yum-utils device-mapper-persistent-data lvm2

设置 yum 源

下面两个都可用,这里设置的是中央仓库源

yum-config-manager --add-repo http://download.docker.com/linux/centos/docker-ce.repo(中央仓库)

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo(阿里仓库)

开始安装 docker

① 指定版本安装 docker

查看可用版本有哪些

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

选择一个版本安装

yum -y install docker-ce-版本号
yum -y install docker-ce-3:26.1.4-1.el7

② 默认版本安装

yum install docker-ce

验证 docker 是否安装好

docker version

如果结果显示

Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?

可能是 docker 没有正常启动

systemctl daemon-reload
systemctl restart docker.service

重启 docker 服务之后就正常了

拓展

docker 一键启动
一键启动所有docker 容器:
docker start $(docker ps -a | awk '{ print $1}' | tail -n +2)
一键关闭所有docker 容器:
docker stop $(docker ps -a | awk '{ print $1}' | tail -n +2)
一键删除所有docker 容器:
docker rm $(docker ps -a | awk '{ print $1}' | tail -n +2)
一键删除所有docker 镜像: 
docker rmi $(docker images | awk '{print $3}' |tail -n +2)

添加开机自启

systemctl start docker
systemctl enable docker

设置国内源,加速镜像使用

###如果没有该文件就手动创建
vim /etc/docker/daemon.json

手动创建目录

# 创建目录
sudo mkdir -p /etc/docker
# 写入配置文件
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": [
"https://hub.geekery.cn",
"https://hub.littlediary.cn",
"https://docker.rainbond.cc",
"http://docker.unsee.tech",
"https://docker.m.daocloud.io",
"http://hub.crdz.gq",
"https://docker.nastool.de"
]
}
EOF

重启 docker 服务

systemctl daemon-reload
systemctl restart docker

可直接使用 docker pull 拉取镜像进行测试,或用以下命令检查是否生效

docker info

五、安装 docker-compose

docker-compose 介绍

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

Compose 通过一个配置文件来管理多个Docker容器,在配置文件中,所有的容器通过services来定义,然后使用docker-compose脚本来启动,停止和重启应用,和应用中的服务以及所有依赖服务的容器,非常适合组合使用多个容器进行开发的场景。

注意: Docker Compose 需要 Python 3.6 或更高版本,如果Centos 7没有安装python3的则需要提前安装。

方法一:官方安装

curl -SL https://github.com/docker/compose/releases/download/v2.31.0/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose
或
curl -L https://github.com/docker/compose/releases/download/1.24.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
或
sudo curl -L "https://github.com/docker/compose/releases/download/v2.31.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

添加执行权限

chmod +x /usr/local/bin/docker-compose

检查 docker-compose 版本

docker-compose version

手动安装

官网选择版本

Releases · docker/compose · GitHub

选择相应版本,下载docker-compose-Linux-x86_64到本地或者服务器中 更名为docker-compose,并移动到 /usr/local/bin 目录下 ,添加执行权限

pip 在线安装

pip是Python的软件包管理器,是用于安装Python软件包的工具。使用pip,您可以从Python包索引仓库PyPI和其他软件包索引仓库中搜索,下载和安装python包。

Python目前有两个主要版本,分别是Python 2和Python3。

CentOS 7默认安装Python 2.7.5,但是默认并未安装 pip,可以执行 which pip 确认并未安装 pip

并且可以CentOS 7仓库安装Python 3。我们建议你切换到Python3。

在全局安装Python包时,强烈建议使用yum命令安装python包,因为它们已经过测试,可以在CentOS 7正常工作。

这些由RPM格式打包的Python包都有指定的前缀,例如Python 3的包的前缀为python3-。

Python 2的包前缀为python2-。仅当python包不可用yum/dnf命令安装时,才使用pip全局安装python包。

我们建议你在虚拟环境中使用pip。Python虚拟环境允许您将Python包安装在指定项目的隔离位置,而不必全局安装。 这样,就不必担心会影响其他Python项目。

安装依赖

yum -y install epel-release

python2 安装 pip

yum -y install python-pip

查看 pip 版本

pip --version

升级 pip

pip2 install --upgrade pip==20.3.4

python3 安装 pip3

在执行 pip 命令时,默认是 pip3

也可以通过命令来区分 pip2 和 pip3

pip2 --version
pip3 --version
python2 -m pip --version
python3 -m pip --version

安装 docker-compose

安装 docker-compose

使用 pip 安装的 docker-compose 可能不是最新版本,因为 pip 安装的版本可能落后于官方的最新发布,最新版本的安装需要从 docker-compose 的 github 发布页面直接下载二进制文件安装

安装完成后执行 docker-compose 命令,会显示没有那个文件或目录

查看 pip 的安装路径

pip3 show docker-compose

将路径添加到变量

export PATH=$PATH:~/.local/bin

确保永久生效

echo 'export PATH=$PATH:~/.local/bin' >> ~/.bashrc
source ~/.bashrc

再次执行 docker-compose 命令

显示 dcoker-compose 的版本为 1.29.2

如果安装过程中出错或不完整

卸载并重新安装

pip uninstall docker-compose
pip install docker-compose

如果仍有问题,尝试指定版本重新安装

pip install docker-compose==1.29.2

六、安装 vulhub

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

安装 git 命令

yum -y git
git --version

克隆 vulhub 文件

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

安装任意漏洞环境

docker-compose up -d

查看运行服务端口

docker ps

访问 192.168.237.180:8000

测试完毕后,使用此命令即可结束服务,使环境变为初始状态

docker-compose down

题外话

根据腾讯安全发布的《互联网安全报告》,目前中国网络安全人才供应严重匮乏,每年高校安全专业培养人才仅有3万余人,而网络安全岗位缺口已达70万,缺口高达95%。

在这里插入图片描述

我们到招聘网站上,搜索【网络安全】【Web安全工程师】【渗透测试】等职位名称,可以看到安全岗位薪酬待遇好,随着工龄和薪酬增长,呈现「越老越吃香」的情况。

在这里插入图片描述

我们看一看招聘网站技术向网络工程师的招聘要求,平均薪资水平相当可观:

在这里插入图片描述

网络安全学习路线

很多小伙伴想要一窥网络安全整个体系,这里我分享一份打磨了4年,已经成功修改到4.0版本的《平均薪资40w的网络安全工程师学习路线图》对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

   如果你想要入坑黑客&网络安全工程师,这份282G全网最全的网络安全资料包!

  网络安全大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享

​​​
 学习资料工具包

压箱底的好资料,全面地介绍网络安全的基础理论,包括逆向、八层网络防御、汇编语言、白帽子web安全、密码学、网络安全协议等,将基础理论和主流工具的应用实践紧密结合,有利于读者理解各种主流工具背后的实现机制。

​​​

网络安全源码合集+工具包

​​

视频教程

​​

 视频配套资料&国内外网安书籍、文档&工具


​​ 因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

黑客/网安大礼包:优快云大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享

好了就写到这了,大家有任何问题也可以随时私信问我!希望大家不要忘记点赞收藏哦!

### CentOS 7 虚拟机 Vulhub 靶场启动失败解决方案 #### 修改 YUM 源以提高软件包获取速度 对于最小化安装的 CentOS 7 系统,可以仅通过 `curl` 更改下载源来提升依赖项和其他资源的获取效率。具体操作如下: 先备份原有的下载源文件: ```bash cd /etc/yum.repos.d/ mkdir backup mv *.repo backup/ ``` 接着创建新的仓库配置文件并编辑其内容指向更稳定的国内镜像站点[^2]。 #### 设置 Docker 镜像加速器优化容器拉取过程 为了加快 Docker 容器镜像的下载速度,在 `/etc/docker/daemon.json` 中加入阿里云提供的官方镜像站地址,并重启服务使更改生效: ```json sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ["https://l10nt4hq.mirror.aliyuncs.com"] } EOF sudo systemctl daemon-reload sudo systemctl restart docker ``` 这一步骤能显著减少因网络延迟造成的等待时间,从而改善整体体验[^3]。 #### 更新 DNS 配置确保域名解析正常工作 有时由于本地DNS设置不当可能会引起连接问题,此时可以通过直接修改 `/etc/resolv.conf` 来指定可靠的公共DNS服务器,如Google Public DNS 或者 Cloudflare 的 DNS 服务: ```bash vim /etc/resolv.conf nameserver 8.8.8.8 nameserver 1.1.1.1 ``` 需要注意的是,这种改动会立即生效,因此建议测试新配置下的互联网访问情况后再继续其他操作[^4]。 #### 处理特定版本系统的网络管理工具差异 针对不同版本的操作系统可能存在的网卡管理和配置方式上的区别,特别是当遇到高于等于 20.04 版本号的情况时,应当考虑调整 Netplan YAML 文件中的参数设定以适应当前环境需求;不过此条目主要适用于较新版Ubuntu而非CentOS系列操作系统,请根据实际情况决定是否应用该方法[^5]。 综上所述,上述措施涵盖了从基础环境搭建到高级功能调优等多个方面,旨在帮助用户顺利解决问题的同时也为后续开发提供了良好保障。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值