vulhub靶场搭建

vulhub靶场搭建

1. 安装docker

1.新建/usr/docker/目录

mkdir /usr/docker/

2.下载docker离线安装包

cd /usr/docker/

上传预先下载好的docker离线安装包

docker-ce-17.12.1.ce-1.el7.centos.x86_64.rpm

3.安装docker服务

yum install yum install docker-ce-17.12.1.ce-1.el7.centos.x86_64.rpm -y

4.启动并设置开机自启动docker服务

systemctl start docker && systemctl enable docker

5.查看服务是否启动成功

systemctl | grep docker

2.安装Docker-Compose

1.移动到/usr/local/bin目录

cd /usr/local/bin/

2.下载Docker-Compose离线安装包

上传预先下载好的Docker-Compose离线安装包

rz -E

# 上传docker-compose

3.添加执行权限

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

4.验证版本

docker-compose version

3.安装Vulhub

1.将预先下载好的Vulhub压缩包上传到root目录

cd ~

rz -E

# 上传 vulhub-master.zip
ls -l 

2.创建一个vulhub目录并将压缩包放进去

mkdir vulhub && mv vulhub-master.zip vulhub/ && cd vulhub/

3.解压压缩包

unzip vulhub-master.zip

4.移动压缩文件

cd vulhub-master/
mv * /root/vulhub

4.靶场使用

1.选择漏洞环境

在Vulhub中选择某个环境,cd进入对应目录

find /root/vulhub/ -type d -name "CVE*" # 查找所有以CVE开头的目录
cd /root/vulhub/discuz/wooyun-2010-080723/

2.可修改端口和账号密码

vi docker-compose.yml

3.启动环境

systemctl start docker  #启动docker服务
docker-compose up -d   # 启动环境 
docker-compose down    # 关闭环境,需要在该环境目录下执行

4.编译环境

启动环境后,会自动查找当前目录下的配置文件

如果配置文件中包含的环境均已经存在,则不会再次编译,反之则会自动进行编译。

所以,其实命令是包含了

  • docker-compose up -d
  • docker-compose build
#但是如果更新了配置文件,则需要手工来重新编译靶场环境。
docker-compose build

5.配置物理机访问容器

经过上面的配置,已经可以在虚拟机Centos7中使用浏览器访问对应的漏洞环境。但此时物理机是无法通过浏览器访问漏洞环境的,需要手动配置静态路由,将通往Docker的数据包交给虚拟机来转发

1.查看Docker容器的IP

docker ps  # 查看运行服务端口
CONTAINER ID        IMAGE               COMMAND                  CREATED              STATUS              PORTS                  NAMES
a4eed382479c        vulhub/discuz:7.2   "docker-php-entrypoi…"   About a minute ago   Up About a minute   0.0.0.0:8080->80/tcp   wooyun-2010-080723_discuz_1
15b46d6919a9        mysql:5.5           "docker-entrypoint.s…"   About a minute ago   Up About a minute   3306/tcp               wooyun-2010-080723_db_1
docker inspect [容器ID] | grep IPAddress  # [容器ID]为漏洞环境所在容器,此处为a4eed382479c
# "IPAddress": "172.18.0.3"

2.关闭虚拟机防火墙

systemctl stop firewalld.service

3.物理机使用管理员模式打开cmd

route add -p 172.18.0.0 mask 255.255.0.0 192.168.1.13 # -p 永久路由,重启系统路由仍有效
route print  # 打印当前路由表
================================================================
永久路由:
  网络地址          网络掩码          网关地址        跃点数
  172.18.0.0      255.255.0.0     192.168.1.13       1
================================================================

6.靶场使用

1.启动环境

选择漏洞环境。首先在Vulhub中选择靶场环境,cd进入对应目录

cd /root/vulhub/discuz/wooyun-2010-080723/

修改端口和账号密码(可选)。可以通过编辑其中的来进行修改vi``docker-compose.yml

vim docker-compose.yml

启动环境

docker-compose up -d   # 启动环境 
# Starting wooyun-2010-080723_db_1 ... done
# Starting wooyun-2010-080723_discuz_1 ... done

查看靶机运行端口

# 主要看容器ID和端口,然后通过容器ID查看IP
docker ps  # 查看运行服务端口
================================================
CONTAINER ID        IMAGE               PORTS
a4eed382479c        vulhub/discuz:7.2   0.0.0.0:8080->80/tcp 
================================================

$ docker inspect [容器ID] | grep IPAddress  # [容器ID]为漏洞环境所在容器,此处为a4eed382479c
"IPAddress": "172.18.0.3"

2.漏洞复现

3.结束使用

复现完之后可以通过以下命令关闭环境,但注意此命令需要在对应环境目录下执行

docker-compose down
# Stopping wooyun-2010-080723_discuz_1 ... done
# Stopping wooyun-2010-080723_db_1     ... done
# Removing wooyun-2010-080723_discuz_1 ... done
# Removing network wooyun-2010-080723_default

检查是否关闭

docker ps

docker images 查看漏洞环境镜像

docker image rm 镜像ID

docker run -it(交互终端)-d(后台运行) --rm(如果容器存在自动删除) -p 18080(我的服务机WEB访问端口):8080(容器端口) vulfocus/spring-core-rce-2022-03-29

sysctl net.ipv4.conf.all.forwarding=1 如果访问不了页面,执行内核转发

[root@localhost s2-048]# systemctl restart docker.service 如果下载运行环境失败,执行docker重启

[root@localhost ~]# docker ps 查看容器ID

[root@localhost ~]# docker exec -it 18646c2dc47f /bin/bash 进入容器交互

[root@2bb3cfd7aafc ROOT]# exit 退出容器

posted @ 2022-10-31 21:13  不聪明的小子  阅读(179)  评论(0编辑  收藏  举报