freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

点我创作

试试在FreeBuf发布您的第一篇文章 让安全圈留下您的足迹
我知道了

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

Vulhub 靶场搭建使用
zx8080 2024-08-11 01:59:22 90637

简介

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

1723311993_66b7a779cf0b4dce6a412.png!small?1723311993543

二、下载docker-compose

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

1723312016_66b7a79012c8f5a0639ed.png!small?1723312015943

1723312032_66b7a7a0b58ac9d5e4f0a.png!small?1723312032412

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

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

查看是否安装完成

1723312049_66b7a7b1de49564f6aafe.png!small?1723312049574


三、下载vulhub靶场

1723312072_66b7a7c843f0e16412fd9.png!small?1723312072015

1723312094_66b7a7de73ec9514fd20d.png!small?1723312094898

要使用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为例子)

1723312120_66b7a7f8b36fcd2e4f581.png!small?1723312120476

使用docker-compose开启容器

1723312136_66b7a8080fbda83d924db.png!small?1723312135879


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

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

1723312151_66b7a817d71b058c97388.png!small?1723312151699


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

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

1723312162_66b7a82267cfaac79ea20.png!small?1723312162377

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
# 网络安全
免责声明
1.一般免责声明:本文所提供的技术信息仅供参考,不构成任何专业建议。读者应根据自身情况谨慎使用且应遵守《中华人民共和国网络安全法》,作者及发布平台不对因使用本文信息而导致的任何直接或间接责任或损失负责。
2. 适用性声明:文中技术内容可能不适用于所有情况或系统,在实际应用前请充分测试和评估。若因使用不当造成的任何问题,相关方不承担责任。
3. 更新声明:技术发展迅速,文章内容可能存在滞后性。读者需自行判断信息的时效性,因依据过时内容产生的后果,作者及发布平台不承担责任。
本文为 zx8080 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
zx8080 LV.1
这家伙太懒了,还未填写个人描述!
  • 1 文章数
  • 0 关注者
文章目录