kali安装vulhub
Vulhub 就是安装一个存放各种漏洞复现环境的 Docker 项目集合。你想测试某个 CVE,安装不用自己从头搭 Apache、安装MySQL、安装PHP 那一堆东西,安装进对应目录敲一条 docker-compose up -d,安装环境就起来了。安装Kali 本身预装了 Docker,安装省掉不少配置功夫。安装下面是安装我在 Kali 2023.4 上装 Vulhub 的完整过程,中间踩了两个坑,安装一并写出来。安装
先把 Docker 状态确认一下。安装终端里敲:
sudo systemctl status docker 如果显示 active (running) 就没问题。安装Kali 默认没启动 Docker 服务的安装话,执行 sudo systemctl start docker 并 sudo systemctl enable docker 设为开机自启。我遇到过 Docker 装是装了但守护进程没跑的情况,后面 docker-compose 命令全报连接错误,查了半天才发现是服务没起。
接下来装 docker-compose。Kali 的 apt 源里其实有,直接:
sudo apt update sudo apt install docker-compose -y 装完验证一下版本:docker-compose -v。我这边装出来是 1.29.2,能用。网上有人推荐用 pip 装新版,没必要,apt 的够使了。
然后拉 Vulhub 源码。直接 git clone:
git clone https://github.com/vulhub/vulhub.git 仓库不算特别大,但里面漏洞环境多,网速一般的话等个两三分钟。克隆完 cd vulhub 进去,ls 看一眼,目录按应用名分类,比如 struts2、weblogic、fastjson,找起来挺直观。
随便挑一个试试。拿最经典的 struts2/s2-057 举例:
cd struts2/s2-057 sudo docker-compose up -d 第一次运行会从 Docker Hub 拉镜像,看网络情况,快则几十秒慢则几分钟。拉完自动启动容器,终端会显示 done。用 sudo docker ps 能看到运行中的容器和端口映射。S2-057 这个环境映射到本机 8080 端口,浏览器访问 http://127.0.0.1:8080 就能看到 Struts2 的示例页面。
这里有个细节:Vulhub 很多环境默认监听 0.0.0.0,如果你 Kali 是在虚拟机里跑,宿主机浏览器直接访问虚拟机 IP 加端口也行。我习惯在 Kali 本机用 Firefox 测,省得网络层出幺蛾子。
测完想关掉环境,在对应目录下执行:
sudo docker-compose down 容器和网络会被清理,镜像保留着下次启动更快。如果想连镜像一起删,加 --rmi all 参数。我一般留着镜像,毕竟重新拉费时间。
有个坑得提一下:Vulhub 某些环境对内核参数有要求,比如需要开启 IP 转发。如果 docker-compose up 之后容器秒退,先 sudo docker logs 容器名 看日志。我搭 cve-2021-44228(Log4j2)那个环境时容器起不来,日志提示端口被占用,查出来是之前测试残留的容器没清干净,docker ps -a 找到后 docker rm 掉再重来就好了。
另外 Kali 的 Docker 默认存储驱动是 overlay2,磁盘空间不够的话拉镜像会失败。我虚拟机给了 40G 硬盘,装完 Vulhub 全部环境大概占 15G 左右。如果你只是挑几个漏洞测,用哪个拉哪个,不用一次性把所有镜像都拽下来。
整个流程走下来,核心就三步:确认 Docker 在跑、装 docker-compose、克隆仓库按需启动。Vulhub 的 README 写得算清楚,每个漏洞目录下都有说明文件,告诉你访问地址和复现步骤。真要说麻烦的地方,反而是 Docker 镜像拉取受网络影响大,国内的话配个镜像加速器会舒服很多,编辑 /etc/docker/daemon.json 加上 registry-mirrors 字段就行。
