ADVANCE

配置需求

Vulhub是一个漏洞靶场,都是运行真实存在漏洞的程序。所以,漏洞程序不相同导致对环境的需求也不尽相同。

当前Vulhub的环境中,大部分环境对配置需求不高,我们建议使用1G内存的VPS进行测试。但类似gitlab/CVE-2016-9086,对配置要求相对较高,可能需要2G内存方可运行,这个是因为Gitlab软件本身的配置需求就比较高。

inode不足导致的问题

另外,Vulhub测试过程中,在配置上出现较多的问题是硬盘inode不足。

先阅读《理解inode》,了解一下inode。在时间久了以后,因为docker-compose down不会移除镜像,我们就可能已经下载或编译过很多漏洞镜像了。每个漏洞镜像其实相当于一个Linux系统,小文件比较多,比较占用inode。

某些VPS在分配空间的时候,分配的inode数量较少,我们可以执行df -i查看当前文件系统的inode:

# root @ docker-demo in ~ [20:26:48]
$ df -i
Filesystem      Inodes  IUsed   IFree IUse% Mounted on
udev             56787    404   56383    1% /dev
tmpfs            62210    537   61673    1% /run
/dev/vda1      1280000 136309 1143691   11% /
tmpfs            62210      2   62208    1% /dev/shm
tmpfs            62210      3   62207    1% /run/lock
tmpfs            62210     16   62194    1% /sys/fs/cgroup
tmpfs            62210      4   62206    1% /run/user/0

如果说你发现硬盘空间还没用完,但提示空间不足,可以查看一下当前的inode,也许是inode数量不足了。

失败的原因

如果你在编译的时候出现错误,不要盲目开issue,先自己检查是否是网络错误、docker版本不兼容等问题,如果确定是Vulhub提供的漏洞环境有BUG,再提交issue。

一般出错的原因有下面几种:

  1. HTTP下载出错
  2. 源码编译失败
  3. docker/docker-compose执行时出错

因为本项目所有源码都下载至官方网站或Github,在国内有部分网站因为众所周知的原因无法访问,所以可能导致下载源码包的时候失败,进而造成编译docker镜像失败。所以建议开一台国外的VPS进行漏洞测试,这样不管是在成功率,还是编译速度等方面都会提高很多。

源码编译失败的情况也可能出现,vulhub中的环境全部基于官方镜像编译,官方镜像可能会更新与升级,linux系统升级后可能造成编译上有一定差别,部分老原来就可能编译不成功了。当你遇到这种错误,请及时提交issue向我反应。

docker自身出错的情况,多出现在使用的docker/docker-compose版本较老时出现的BUG,最好使用最新版docker测试vulhub项目。

贡献环境

首先欢迎大家向我们贡献漏洞靶场环境或代码。所有贡献被接受的同学,我们均会将你加入贡献者列表。

贡献新的漏洞环境有如下要求:

  1. 开启一个新的分支,名称为“漏洞影响软件+漏洞CVE编号”,如果该漏洞有具体名字(如heartbleed),也可以以这个名字命名。
  2. 编译环境时,必须从官方途径下载、安装软件,不允许将软件安装包直接放在代码目录里
  3. Java web漏洞环境,可以将war包放在代码目录中进行安装,但war包大小不允许超过1M
  4. base分支下放各种软件,漏洞分支下放Dockerfile和docker-compose.yml

如果你的代码满足这些条件,可以向vulhub/vulhub提交PR。当然,上述条件比较苛刻,如果我们发现你提交的代码不满足这些条件,也许会拒绝PR。但是我们可能会修改你的代码后并入Vulhub,并将你的名字加入贡献者列表。

另外,如果你发现我们已有的漏洞环境代码中存在BUG,也可以提交PR进行修复。

本文章首发在 网安wangan.com 网站上。

上一篇 下一篇
讨论数量: 0
只看当前版本


暂无话题~