centos7虚拟机搭建vulhub靶场

2025-01-05 123 0

一、安装 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

手动安装

官网选择版本

https://github.com/docker/compose/releases

选择相应版本,下载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


4A评测 - 免责申明

本站提供的一切软件、教程和内容信息仅限用于学习和研究目的。

不得将上述内容用于商业或者非法用途,否则一切后果请用户自负。

本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑或手机中彻底删除上述内容。

如果您喜欢该程序,请支持正版,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。敬请谅解!

程序来源网络,不确保不包含木马病毒等危险内容,请在确保安全的情况下或使用虚拟机使用。

侵权违规投诉邮箱:4ablog168#gmail.com(#换成@)

相关文章

基于本地大模型的敏感信息检测的burp插件开发
flaskpython代码审计思路及实战记录
甲方视角下的供应链安全思考
新型ValleyRAT恶意软件通过伪造Chrome下载传播
记一次邮件钓鱼实例分析
恶意Go包利用模块镜像缓存实现持久远程访问

发布评论