Vulhub 靶场搭建使用

 简介

Vulhub是一个基于dockerdocker-compose的漏洞环境集合,进入对应目录并执行一条语句即可启动一个全新的漏洞环境,让漏洞复现变得更加简单,让安全研究者更加专注于漏洞原理本身

1.下载docker:

sudo vim /etc/apt/sources.list #更新源

apt-get update

apt-get install docker.io

docker --version

2.下载docker-compose:

使用二进制文件进行下载

3.下载vulhub:

git clone https://github.com/vulhub/vulhub.git

4.打开靶场,启动靶场

进入靶场目录下

docker-compose up -d

一、首先需要安装docker

二、下载docker-compose

下载docker-compose(建议下载二进制文件)

为 Docker Compose 二进制文件添加执行权限

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

查看是否安装完成

三、下载vulhub靶场

要使用Vulhub靶场,首先需要开启Docker,如果没有启动Docker,那么Vulhub的启动会报错。Docker启动后,进入到相应的目录下,执行命令

四、配置docker源(最重要的一步,出现问题最多的一步🙄)

之前使用国内的docker镜像源,无法pull靶场的镜像,但可以pull ubuntu的镜像

这里就更改配置形式,改为走代理的形式🛫

让自己的docker直接访问docker官方的image源

1.编辑 Docker 的代理配置文件,通常是 `/etc/systemd/system/docker.service.d/http-proxy.conf`。如果该目录或文件不存在,可以创建它。

里面添加内容:

[Service] 
Environment="HTTP_PROXY=代理服务器ip:port" 
Environment="HTTPS_PROXY=代理服务器ip:port"

 假如我们本机已经设置好代理了,那么代理服务器就可以写为localhost,端口就是我们设置的http和https代理端口即可,形如:

[Service] 
Environment="HTTP_PROXY=localhost:port" 
Environment="HTTPS_PROXY=localhost:port"

保存好之后,重启docker,并重启daemon进程 

sudo systemctl daemon-reload

sudo systemctl restart docker

 五、进入想要创建的靶场目录下,开启容器(这里以cve-2012-2122为例子)

使用docker-compose开启容器

六、记录vulhub安装使用中,出现的问题

1.出现下面的问题,是daemon.json的格式出错了,将该文件删除就行。如果还需要用就再创建一个

2.docker pull 的时候出现如下error

Using default tag: latest
Error response from daemon: Get "https://registry-1.docker.io/v2/": proxyconnect tcp: EOF
 

pull出现报错可能是代理配置或网络连接问题

🍊检测代理文件:‘/etc/systemd/system/docker.service.d/proxy.conf’

🍅有时 DNS 问题也会导致连接失败,你可以尝试配置 Docker 使用 Google 的 DNS:

在etc/docker/daemon.json文件中添加

{
    "dns": ["8.8.8.8", "8.8.4.4"]
}

之后,仍是重启daemon进程,重启docker

sudo systemctl daemon-reload
sudo systemctl restart docker

 🫑在国内使用访问docker的官方镜像源肯能比较慢,大多使用国内镜像加速器。例如:

{

  "registry-mirrors": ["[https://dockerhub.icu](https://dockerhub.icu)"]

}

但是这次使用的是连接代理直接访问docker官方镜像,如果在daemon.json文件中添加了镜像加速器,那么解决办法就是删除掉多余的镜像加速器

3.Error response from daemon: Get https://registry-1.docker.io/v2/: net/http: request canceled while waiting for connectio

原因可能是docker pull:TLS握手包超时

使用curl查看报错详情

curl https://registry-1.docker.io/v2/

解决办法:将https代理的地址 改成http//网址

vim /etc/systemd/system/docker.service.d/proxy.conf

[Service]
Environment="HTTP PROXY=http://192.168.1.9:1080"
Environment="HTTPS PROXY=http://192.168.1.9:1080'

 之后,仍是重启daemon进程,重启docker

sudo systemctl daemon-reload
sudo systemctl restart docker

  • 11
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值