快速使用docker搭建vulhub漏洞环境

本文详细记录了使用Docker及docker-compose搭建漏洞环境的过程,包括环境准备、Docker及docker-compose安装、vulhub配置等关键步骤,解决了一系列常见问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这两天在学习使用docker搭建漏洞环境,期间遇到了许多坑,记录一下。

0x01 环境准备

虚拟机:Ubuntu 16.04

首先配置网络,一般安装好系统默认自动获取IP地址,所以不用管,保证网络可通就好。

然后是修改apt源,vim /etc/apt/source.list,整个替换为一下内容:

deb http://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-backports main restricted universe multiverse

apt-get update更新软件源。

0x02 安装docker

docker安装参考:https://help.aliyun.com/document_detail/60742.html

docker镜像加速参考:https://help.aliyun.com/document_detail/60750.html?spm=a2c4g.11186623.6.549.112a4685NiaOe9

https://blog.youkuaiyun.com/nero_claudius/article/details/84778710

使用apt安装一些允许通过https才能使用的软件包。

sudo apt install apt-transport-https ca-certificates curl software-properties-common

可能会出现如下问题:

提示依赖版本不匹配,经参考:https://blog.youkuaiyun.com/yumi94/article/details/51264893

成功解决问题,即执行apt-get remove libcurl4,卸载libcurl3即可。

然后再重新安装curl,执行:apt-get install curl,

重新执行:

sudo apt install apt-transport-https ca-certificates curl software-properties-common

如果没有报错,说明安装成功。

继续添加官方Docker存储库的GPG秘钥到系统中

OK表示添加成功。

将Docker存储库添加到APT源:

sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable"

使用新添加的repo源中的Docker包更新包数据库:apt update

成功获取到docker的软件源,确保从Docker Repo安装而不是默认的Ubuntu repo,

apt-cache policy docker-ce

虽然docker的版本可能不同,不过会看到 类似这样的输出:

最后,安装Docker。

apt install docker-ce

安装完成后,检查是否正在运行:

systemctl status docker

如果是上图所示状态,表明该服务证处于工作状态,按q可推出。

0x03 docker-compose的安装

因为后面要用到vulhub,所以还需要安装docker-compose,

执行apt install docker-compose不能安装,经查找验证后,有两种方式安装:

https://www.jianshu.com/p/5ba9f9159696

第一种:下载源码安装

curl -L https://get.daocloud.io/docker/compose/releases/download/1.12.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose

 

chmod +x /usr/local/bin/docker-compose

docker-compose version # 查看版本号,测试是否安装成功。

 

第二种:通过pip安装docker-compose

安装python-pip,我这里使用脚本安装,不知道为什么我的apt不能安装pip。

curl https://bootstrap.pypa.io/get-pip.py > get-pip.py

python get-pip.py

使用pip安装docker-compose

安装完成后,执行docker-compose version,如下图所示,表示安装成功

0x04 配置vulhub

下载vulhub源码:git clone https://github.com/vulhub/vulhub.git  

进入vulhub文件夹,可以看到有许多环境可供使用。

随便进入一个文件夹,执行

docker-compose build

docker-compose up -d

即可成功搭建漏洞环境。

 

### 安装Docker 在Kali Linux中安装Docker可以通过命令行完成。首先,更新现有的软件包列表: ```bash sudo apt update && sudo apt upgrade -y ``` 接着,下载并安装Docker[^1]。 ```bash sudo apt install docker.io -y ``` 为了验证Docker是否成功安装,执行以下命令来查看版本信息: ```bash docker --version ``` 如果显示了Docker的版本号,则说明安装成功。 ### 启动Docker服务 为了让Docker能够正常工作,需要启动其后台服务并且设置为随系统启动自动开启[^3]。 ```bash sudo systemctl enable docker && sudo systemctl start docker ``` 此时,Docker应该已经处于活动状态。可以再次通过`systemctl status docker`确认服务的状态。 ### 设置用户权限 为了避免每次操作都需要输入管理员密码,建议将当前用户加入到docker组内: ```bash sudo usermod -aG docker ${USER} ``` 之后注销再重新登录使更改生效。 ### 配置VulnHub环境 [VulnHub](https://www.vulnhub.com/)提供了一系列用于学习渗透测试技巧的目标机镜像文件。要部署这些目标机作为练习平台,通常会先获取所需的操作系统的ISO或者其他形式的磁盘映像文件,然后利用工具如VirtualBox或VMware创建虚拟机来进行加载;然而,在此场景下更推荐的方式是使用官方提供的Docker镜像(如果有),因为这能简化很多配置流程,并且更加轻量级。 但是请注意,不是所有的VulnHub项目都提供了可以直接使用Docker镜像。对于那些没有现成镜像的情况,可能还是得按照传统方法去搭建相应的环境。而对于支持Docker化的项目来说,只需要拉取对应的镜像即可快速建立好整个攻防演练场地。 例如,假设有一个名为example-vulnerable-app的Docker镜像可用作练习目的,那么就可以这样启动它: ```bash docker pull example/vulnerable-app docker run -d --name vulnerable_app_container example/vulnerable-app ``` 上述命令中的第一个指令是从远程仓库拉取指定名称的最新版镜像,第二个则是以后台模式运行该容器实例。当然实际应用时应替换为目标项目的具体名字。 ### 注意事项 由于部分VulnHub资源可能是基于特定版本的操作系统构建而成,所以在某些情况下可能会遇到兼容性问题或是缺少必要的依赖库等问题。这时就需要参照各个挑战的具体文档指引来做适当调整。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值