vulhub靶场的靶场搭建,说白了就是搭建把一堆现成的漏洞环境用docker一键跑起来。你不需要自己编译老旧的教程Apache版本,也不用纠结PHP版本冲突——这些苦活vulhub全替你干了。靶场
先说说环境要求。搭建你得有一台Linux机器,教程Windows也行但麻烦。靶场Ubuntu 20.04以上版本最省心。搭建装docker和docker-compose是教程第一步:
curl -fsSL https://get.docker.com | bash sudo curl -L "https://github.com/docker/compose/releases/download/v2.20.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose sudo chmod +x /usr/local/bin/docker-compose 这两行命令搞定后,验证一下:docker --version和docker-compose --version。靶场有输出就说明装好了。搭建
然后拉取vulhub仓库。教程这个仓库体积不小,靶场大概几百MB,搭建建议用git clone或者直接下载zip包。教程
git clone https://github.com/vulhub/vulhub.git 等下载完,你会看到里面按漏洞类型分了目录:thinkphp、weblogic、log4j、fastjson……每个目录就是一个独立的漏洞环境。
选一个进去试试。比如经典的fastjson反序列化漏洞:
cd vulhub/fastjson/1.2.24-rce docker-compose up -d 就这么简单。docker会拉取镜像并启动容器,等一两分钟,访问http://你的IP:8080就能看到漏洞应用了。
有个坑必须提醒你:vulhub的镜像托管在Docker Hub上,国内直连经常超时。解决方法很简单,配置镜像加速器。在/etc/docker/daemon.json里加上:
{ "registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"] } 重启docker服务:sudo systemctl restart docker。再跑docker-compose命令,速度飞起。
玩完了怎么清理?docker-compose down会停掉容器但保留镜像。想彻底删掉镜像腾空间,用docker rmi加上镜像ID。别怕删错——删了重新拉就行,最多浪费几分钟。
我自己的经验是:vulhub最值钱的地方不是跑起来,而是你改代码的过程。比如把docker-compose.yml里的端口改成不常用的,模拟真实内网环境;或者往容器里塞几个flag文件,练习渗透时找flag。这些改动让靶场更像真实目标。
还有个冷门技巧:vulhub的docker-compose.yml里通常定义了环境变量和启动命令。调试漏洞时,直接改这些配置能省大量时间。比如log4j的靶场,你可以在启动命令里加上JVM参数开启调试端口,然后远程连接IDE断点调试——这比单纯打exp有意思多了。
最后说句实在话——如果docker-compose up之后页面打不开,八成是端口被占了。改一下yml文件里的ports映射就行,别死磕。