从零到一:在Kali Linux上快速部署Vulhub漏洞靶场

张开发
2026/4/11 7:29:47 15 分钟阅读

分享文章

从零到一:在Kali Linux上快速部署Vulhub漏洞靶场
1. 为什么选择Kali LinuxVulhub组合如果你刚开始接触网络安全一定会被各种复杂的漏洞复现环境搞得头大。传统搭建漏洞环境需要手动安装依赖、配置服务、解决兼容性问题往往花了大半天时间环境还没跑起来。我自己刚入门时就经常遇到这种情况直到发现了Vulhub这个神器。Vulhub就像是一个漏洞环境的快餐店它把常见的漏洞环境都打包成了Docker镜像你只需要几条简单的命令就能启动一个完整的漏洞靶场。而Kali Linux作为渗透测试的瑞士军刀内置了大量安全工具两者结合简直就是绝配。我实测下来从零开始到运行第一个漏洞环境最快只需要15分钟。这里有个很形象的比喻传统搭建漏洞环境就像自己买菜做饭而Vulhub就像是外卖点餐。你不需要关心后厨怎么做菜只需要下单执行命令就能马上吃到运行环境。特别适合想快速上手实践的新手或者需要频繁切换不同漏洞场景的安全研究员。2. 环境准备打造坚实的基石2.1 Kali Linux基础配置首先确保你的Kali Linux是最新版本。我推荐使用2023.x以后的版本因为它们对Docker的支持更好。如果你用的是虚拟机网络模式建议选择NAT这样既能上网又不会产生额外的网络配置问题。打开终端第一件事就是更新软件源。这个步骤很多新手会忽略但非常重要sudo apt-get update这里有个小技巧如果你在更新时遇到速度慢的问题可以尝试更换国内的软件源。比如阿里云的Kali源echo deb http://mirrors.aliyun.com/kali kali-rolling main non-free contrib | sudo tee /etc/apt/sources.list更新完成后安装一些基础依赖sudo apt-get install -y apt-transport-https ca-certificates curl gnupg2 software-properties-common这些包看起来不起眼但它们是后续安装Docker的基础。特别是apt-transport-https它允许apt通过HTTPS协议下载软件而ca-certificates则确保下载过程的安全性。2.2 网络和代理设置在实际操作中我发现很多同学会遇到网络连接问题。这里分享几个排查技巧测试网络连通性ping www.baidu.com -c 4如果发现DNS解析有问题可以修改resolv.confecho nameserver 8.8.8.8 | sudo tee /etc/resolv.conf检查防火墙状态Kali默认应该关闭sudo ufw status3. Docker引擎安装与配置3.1 安装Docker CE虽然Kali的仓库中有docker.io包但我建议安装官方Docker CE版本更新更稳定curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add - sudo add-apt-repository deb [archamd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable sudo apt-get update sudo apt-get install -y docker-ce docker-ce-cli containerd.io安装完成后验证Docker是否正常运行sudo systemctl status docker如果看到active (running)字样说明Docker服务已经启动成功。为了让普通用户也能使用docker命令避免每次都加sudo我们需要将当前用户加入docker组sudo usermod -aG docker $USER newgrp docker # 立即生效测试一下hello-world镜像docker run hello-world如果看到Hello from Docker!的欢迎信息说明Docker安装完全正确。3.2 Docker加速器配置国内访问Docker Hub可能会很慢我们可以配置镜像加速器。这里以阿里云为例需要先注册阿里云账号获取专属加速地址sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json -EOF { registry-mirrors: [https://your-aliyun-mirror.mirror.aliyuncs.com] } EOF sudo systemctl daemon-reload sudo systemctl restart docker配置完成后可以用以下命令测试下载速度time docker pull ubuntu:latest正常情况下下载速度应该从几KB/s提升到几MB/s。4. Docker Compose安装指南4.1 安装Python3和pip虽然Kali Linux预装了Python3但我们需要确保pip是最新版本sudo apt-get install -y python3-pip python3 -m pip install --upgrade pip验证pip版本pip3 --version # 应该显示pip 23.x或更高版本4.2 安装Docker Compose现在我们可以安装docker-compose了。虽然可以通过apt安装但我推荐使用pip安装最新版pip3 install docker-compose安装完成后检查版本docker-compose --version # 应该显示1.29.x或更高版本这里有个常见问题如果遇到command not found可能是因为pip安装的二进制文件不在PATH中。可以尝试sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose4.3 Docker Compose基本命令掌握这几个常用命令就够用了docker-compose up -d启动服务后台模式docker-compose down停止并移除服务docker-compose ps查看服务状态docker-compose logs查看日志5. Vulhub靶场部署实战5.1 下载Vulhub仓库建议使用国内镜像源下载速度更快git clone https://gitee.com/mirrors/vulhub.git cd vulhub如果遇到git未安装的情况sudo apt-get install -y git5.2 选择并启动漏洞环境Vulhub包含了上百个漏洞环境我们先以经典的WebLogic反序列化漏洞(CVE-2017-10271)为例cd weblogic/CVE-2017-10271 docker-compose up -d第一次运行会下载所需镜像可能需要几分钟时间。完成后检查服务状态docker-compose ps应该能看到一个名为weblogic的服务正在运行端口映射为7001。5.3 访问和测试靶场打开浏览器访问http://localhost:7001/console如果看到WebLogic登录页面说明环境启动成功。你可以尝试使用公开的payload进行漏洞测试。5.4 关闭和清理环境测试完成后记得关闭环境以释放资源docker-compose down如果想完全清理掉下载的镜像docker image prune -a6. 常见问题与解决方案6.1 端口冲突问题如果发现端口被占用比如7001可以修改docker-compose.yml中的端口映射ports: - 新的端口:70016.2 磁盘空间不足Docker镜像和容器会占用大量空间。定期清理无用资源docker system prune6.3 容器启动失败查看详细日志定位问题docker-compose logs常见原因包括内存不足建议虚拟机分配至少4GB内存镜像下载不完整尝试删除并重新下载配置文件错误检查docker-compose.yml语法7. 进阶技巧与最佳实践7.1 批量管理多个靶场我习惯为每个靶场创建独立的工作目录并用tmux或screen管理不同的docker-compose会话tmux new -s vuln1 cd ~/vulhub/environment1 docker-compose up # Ctrlb d 分离会话7.2 自定义镜像加速对于需要频繁使用的靶场可以修改Dockerfile添加国内软件源RUN sed -i s/deb.debian.org/mirrors.aliyun.com/g /etc/apt/sources.list7.3 靶场数据持久化默认情况下容器停止后数据会丢失。如果需要保存数据可以使用volumevolumes: - ./data:/var/lib/mysql8. 安全注意事项虽然是在本地环境练习但仍需注意不要将靶场暴露在公网测试完成后及时关闭容器定期更新基础镜像docker-compose pull避免在容器中存储敏感信息我在实际使用中发现Vulhub最大的价值在于它提供了一个安全、可控的环境来学习漏洞原理。相比直接在生产环境或未经授权的系统上测试这种方式既合法又高效。刚开始可能会遇到各种环境问题但每次解决问题的过程都是宝贵的学习经验。

更多文章