安装 vulhub 漏洞靶场

在 kali 上安装 vulhub 靶场

了解 docker

虚拟机需要模拟硬件,运行整个操作系统,不但体积臃肿内存占用较高,程序的性能也会收到影响。docker 在概念上与虚拟机非常类似,但却轻量很多,它不会去模拟底层硬件,只为每一个应用提供完全隔离的运行环境,如下图:

image-20220510202014741

一个 docker 镜像可以创建多个容器(Container),一个个容器就像一台台运行起来的虚拟机,里面运行了你的应用程序,每个容器都是独立运行的,相互不受影响。

图片.png

开始安装 docker

#在root用户下更新软件源中的所有软件列表,update读取所有源的软件列表,需要联网下载,作用是激活和更新源。
apt-get update

image-20220510202835184

#使用atp命令需要其支持的https协议和CA证书
apt-get install -y apt-transport-https ca-certificates

image-20220510203022946

#安装docker
apt install docker.io

有亿点点顺利,博主的是报错了,我的就直接下载 OK 了

image-20220510203322003

#安装完之后查看docker的版本检验是否安装成功。
docker -v      查看简略信息
docker version 查看详细信息

image-20220510203440567

image-20220510203519722

启动 docker

#启动docker
systemctl start docker
#显示正在运行的容器
docker ps
#显示所有的容器,包括未运行的
docker ps -a

image-20220510203759196

安装 docker-compose

Docker-Compose 项目是 Docker 官方的开源项目,负责实现对 Docker 容器集群的快速编排。Compose 通过一个配置文件来管理多个 Docker 容器,在配置文件中,所有的容器通过 services 来定义,然后使用 docker-compose 脚本来启动,停止和重启应用,和应用中的服务以及所有依赖服务的容器,非常适合组合使用多个容器进行开发的场景。

#安装命令
pip3 install docker-compose
#查看docker-compose版本
docker-compose -v

image-20220510212850516

下载 vulhub 靶场

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

image-20220510213907434

下载成功后,进入到 vulhub 目录 cd vulhub, 通过 ls命令查看漏洞靶场。

#进入到vulhub目录
cd vulhub
#ls命令查看漏洞靶场

image-20220510214210862

启动 docker

#随便进入一个目录
cd vulhub/log4j
#然后启动靶场
docker-compose up -d

image-20220511090349400

image-20220511090553420

#查看启动环境,发现端口是8983
docker-compose ps

image-20220511090657244

在 kali 中使用浏览器访问

图片.png

互 ping 测试

#查看宿主机ip地址
ipconfig

image-20220511090940897** **

#查看虚拟机的ip地址,同时查看docker的ip
ifconfig或者ip addr
#主机:192.168.241.1
#虚拟机:192.168.133.128
#docker:172.17.0.1

image-20220511091332216

宿主机 ping 虚拟机

image-20220511091809868

虚拟机ping宿主机。
在Linux系统中,当能ping通一个主机时,此时ping命令会一直执行,要想终止,可采用Ctrl +c或Ctrl+z方式退出。也可以设置选项方式,使得ping命令执行若干次包就终止.
#例如此时ping命令将执行4次
ping 192.168.241.1 -c 4

image-20220511092103805

在虚拟机中 ping 通 docker

image-20220511092200922

宿主机 ping docker 是 ping 不通的,因为不在同一个局域网进行通信需要依靠路由进行转发,需要手动对宿主机设置路由

#以管理员身份打开命令窗口,执行命令
route add -p 172.17.0.1 mask 255.255.0.0 192.168.133.128
#查看
route print

image-20220511092826437

image-20220511092846591

在这一步之后,我尝试使用主机来 ping docker , 但是失败了,又尝试了好多方法 -- 关闭防火墙等等,均无用。最后发现我看错了一个很重要的点

route add -p 172.17.0.0 mask 255.255.0.0 192.168.133.128
#这个地方不是docker的ip地址(172.17.0.1),而是172.17.0.0,添加之后就可以成功ping通了

图片.png

主机访问靶场成功!(172.17.0.1:8983)

图片.png

关闭靶场

docker-compose 会默认根据当前目录下的配置文件启动容器,在关闭及移除环境的时候,也需要在对应目录下。我们执行 docker-compose up -d 后,不要离开当前目录即可

#漏洞测试结束后,执行如下命令移除环境
docker-compose down

image-20220511100303362

参考文章:https://blog.csdn.net/qq_45817336/article/details/122274183