漏洞靶场Vulhub初探

admin 2024年1月10日10:06:53评论21 views字数 2572阅读8分34秒阅读模式
漏洞靶场Vulhub初探

感谢师傅 · 关注我们

漏洞靶场Vulhub初探

由于,微信公众号推送机制改变,现在需要设置为星标才能收到推送消息。大家就动动发财小手设置一下呗!啾咪~~~

漏洞靶场Vulhub初探

首先引用一下Vulhub官方对他的介绍:

“Vulhub是一个基于docker和docker-compose的漏洞环境集合,进入对应目录并执行一条语句即可启动一个全新的漏洞环境,让漏洞复现变得更加简单,让安全研究者更加专注于漏洞原理本身。”

项目地址:https://github.com/vulhub/vulhub.git

对于信息安全学生、从业者、研究人员来说,拥有一个漏洞测试靶场环境是十分必要的,通过靶场环境,我们可以深入分析漏洞原理与攻击手法,而且在渗透测试过程中针对目标进行攻击时,很可能会造成破坏性操作,这时,我们就可以先在靶场环境中先进行漏洞测试,确认没有问题后再在生产环境上进行漏洞验证,规避了很多风险。我们可以把Vulhub理解为一个魔改版的docker,上文的介绍中有提到vulhub是由docker和docker-compose组成的,下面简单介绍一下这两者的作用。我们可以把docker理解为轻量级的应用容器,很多人觉得docker与vmware虚拟机差不多,其实他俩最大的差别在于vmware虚拟出了单独的硬件环境来运行我们需要的应用,对宿主机的硬件要求较高,而docker的容器是与物理机共享cpu和内存,架构的不同导致docker在搭建环境时更加快速简洁,这是docker最大的优势,本人使用单核1g的vps已经可以完美的运行docker了,vmware在这个配置上运行显然是不行的,而且docker集成了

强大的应用库,想要安装某个应用并让它启动,运行一条命令即可,省去了繁琐的配置过程,总的来说docker就一个字,快!。

docker-compose是 对Docker 容器进行编排的工具,定义和运行多容器的应用,可以一条命令启动多个容器,使用Docker Compose不再需要使用shell脚本来启动容器。Compose 通过一个配置文件来管理多个Docker容器,在配置文件中,所有的容器通过services来定义,然后使用docker-compose脚本来启动,停止和重启应用,和应用中的服务以及所有依赖服务的容器,非常适合组合使用多个容器进行开发的场景,vulhub已经针对各个靶场环境建立了单独的Compose文件,想要启动一个靶场环境,直接运行Compose配置文件即可,简单方便。下面我们进入正题,搭建环境的宿主机建议使用国外的VPS,因为此项目所有源码都下载至官方网站或Github,在国内有部分网站因为众所周知的原因无法访问,所以可能导致下载源码包的时候失败,进而造成编译docker镜像失败。所以建议开一台国外的VPS进行漏洞测试,这样不管是在成功率,还是编译速度等方面都会提高很多。购买渠道有很多,这里就不贴地址了,本人使用的配置为1核1g50gssd的vps,linux发行版本为Ubuntu。

首先我们一键安装docker,注意root权限执行:

curl -s https://get.docker.com/ | sh

安装成功后查看一下docker的运行状态:

漏洞靶场Vulhub初探

然后通过pip来安装docker-compose:

pip install docker-compose

当然,如果你的环境中没有安装pip,还需要先安装pip。推荐使用如下命令进行安

装,这种方式将会少安装很多不需要的依赖:

curl -s https://bootstrap.pypa.io/get-pip.py | python

两者安装完成后查看docker和docker-compose版本:

漏洞靶场Vulhub初探

随后从github拉取vulhub:

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

下载完成后,我们来看一下它的目录结构:

漏洞靶场Vulhub初探

可以看到作者通过文件夹将存在漏洞的应用环境进行了分类,我们再来进入其中weblogic的目录来看一下:

漏洞靶场Vulhub初探

分别有四个文件夹,对应了weblogic四种漏洞场景,下面我们以CVE-2017-10271来看一下vulhub的具体使用方法,首先来看一下CVE-2017-10271这个目录中都有哪些文件:

漏洞靶场Vulhub初探

  1. png为漏洞验证截图没什么好讲,docker-compose.yml为docker-compose的配置文件,我们需要通过这个文件来启动weblogic环境,配置文件很简单,启动一个端口号为7001的weblogic应用:

    漏洞靶场Vulhub初探

README.md文件记录了漏洞的验证过程:

漏洞靶场Vulhub初探

根据README.md文件的说明,我们先通过配置文件启动weblogic环境,注意要

在/vulhub/weblogic/CVE-2017-10271/目录下执行:

docker-compose up -d

执行结束后等待一段时间就可以访问http://your-ip:7001/console来访问weblogic,如果出现了weblogic的控制台,说明环境已经搭建成功:

漏洞靶场Vulhub初探

我们可以通过docker ps命令来查看正在运行的容器:

漏洞靶场Vulhub初探

分别显示了容器的ID,使用的镜像名称,运行的命令,创建的时间和已经运行的时间,

端口号和容器的名称。

我们可以通过如下命令来进入容器的终端:

docker exce -ti [容器ID] bash 

漏洞靶场Vulhub初探

可以通过下面的命令来查看容器相关信息:

docker inspect [容器ID]  

漏洞靶场Vulhub初探

从上图中可以看到容器的IP地址和它的网关地址,172.24.0.1为宿主机虚拟出的一个网卡作为容器的网关,相当于做了一个NAT,然后把容器的7001端口映射到宿主机的7001端口。

下面我们来进行漏洞的验证,通过向Weblogic的WLS Security组件发送xml数据来进行写文件操作:

漏洞靶场Vulhub初探

访问test.jsp,发现文件已经成功写入:

漏洞靶场Vulhub初探

漏洞靶场Vulhub初探

漏洞验证完毕后,我们可以在/vulhub/weblogic/CVE-2017-10271目录执行以下命令

关闭靶场环境:

docker-compose down

上述命令会执行如下几个动作:

  1. 关闭正在运行的容器

  2. 删除所有相关容器

  3. 移除NAT

但不会移除编译好的漏洞镜像,下次再执行docker-compose up -d命令,就不需要再次编译相关镜像了。

来源:领队

原文始发于微信公众号(黑客白帽子):漏洞靶场Vulhub初探

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年1月10日10:06:53
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   漏洞靶场Vulhub初探https://cn-sec.com/archives/2380603.html

发表评论

匿名网友 填写信息