前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用Portainer管理Vulhub

使用Portainer管理Vulhub

作者头像
Naraku
发布2021-07-29 11:06:04
5760
发布2021-07-29 11:06:04
举报
文章被收录于专栏:Naraku的专栏Naraku的专栏

请注意,本文编写于 469 天前,最后修改于 117 天前,其中某些信息可能已经过时。

首发于Bugfor - 使用Portainer管理Vulhub,转载需注明出处。

安装 Docker

  • yum相关配置
代码语言:javascript
复制
$ sudo yum update  # 使用root权限登录 Centos,确保 yum 包更新到最新
$ sudo yum remove docker  docker-common docker-selinux docker-engine  # 如果安装过旧版本Docker,需要卸载
$ sudo yum install -y yum-utils device-mapper-persistent-data lvm2    # 安装需要的软件包
$ sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo  # 设置yum源
  • 安装Docker
代码语言:javascript
复制
$ yum list docker-ce --showduplicates | sort -r   # 查看所有仓库中所Docker版本
$ sudo yum install docker-ce-18.06.3.ce     # 安装指定版本

# 启动并加入开机启动
$ sudo systemctl start docker
$ sudo systemctl enable docker
  • 验证。有ClientService两部分表示Docker安装启动都成功了
代码语言:javascript
复制
$ docker version

###
Client:
 Version:           18.06.3-ce
 API version:       1.38
 Go version:        go1.10.3
 Git commit:        d7080c1
 Built:             Wed Feb 20 02:26:51 2019
 OS/Arch:           linux/amd64
 Experimental:      false

Server:
 Engine:
  Version:          18.06.3-ce
  API version:      1.38 (minimum version 1.12)
  Go version:       go1.10.3
  Git commit:       d7080c1
  Built:            Wed Feb 20 02:28:17 2019
  OS/Arch:          linux/amd64
  Experimental:     false
###
  • 换国内源,国外服务器可忽略
代码语言:javascript
复制
$ vim /etc/docker/daemon.json
{
  "registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]
}

$ sudo systemctl daemon-reload
$ sudo systemctl restart docker

部署 Portainer

  • 下载
代码语言:javascript
复制
$ docker search portainer
$ docker pull docker.io/portainer/portainer
  • 汉化。在根目录/下新建public,并把 Portainer-CN.zip 汉化包解压到其中
  • 运行
代码语言:javascript
复制
$ docker run -d -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data -v /public:/public portainer/portainer
  • 查看容器
代码语言:javascript
复制
$ docker ps -a
CONTAINER ID        IMAGE                 COMMAND             CREATED             STATUS              PORTS                    NAMES
d5abd09ddda7        portainer/portainer   "/portainer"        8 seconds ago       Up 6 seconds        0.0.0.0:9000->9000/tcp   quirky_zhukovsky

运行 Vulhub

  • 点击左侧堆栈 > 添加堆栈,自定义靶场名称以及输入对应的compose配置即可(相应文件已在文末打包),最后拉到最下方点击Deploy the stack,等待部署
  • 部署成功后,默认运行在8080端口,如果同时部署多个漏洞靶场,可在左侧点击容器,查看运行中的容器具体的映射端口
Vulhub-Portainer-1
Vulhub-Portainer-1

关于 Compose

  • 前面说到的compose文件即为每个漏洞靶场目录下的docker-compose.yml文件,这里我已将全部compose打包并按照对应靶场命名,有需要可自取
  • 使用时只需要在Vulhub文档中找到想开启的漏洞环境,查看该漏洞环境所在目录,根据目录名找到对应文件内容并按照前面的方法进行部署即可。如这里的AppWeb认证绕过漏洞对应的文件即为CVE-2018-8715.yml
Vulhub-Portainer-2
Vulhub-Portainer-2
  • 自己打包也可以,将此以下脚本放到Vulhub仓库所在目录下运行即可
代码语言:javascript
复制
import os

path = os.getcwd()
for root, dirs, files in os.walk(path):
    if "docker-compose.yml" in files:
        # print(root)
        file_name = root.split("\\")[-1] + ".yml"   # 这里使用目录名代替docker-compose文件名
        # 读取
        with open(f"{root}\\docker-compose.yml", "r+") as f:
            compose_file = f.readlines()
        # 写入
        with open(file_name, "w+") as f:
            f.writelines(compose_file)

其它 Download

  • 说明:建议在闲置VPS上搭建漏洞环境,并且在测试完成后及时删除容器,切勿在存放重要数据的服务器或生产环境中使用!
  • 文件下载:请前往博客共享网盘下
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020 年 04 月,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 安装 Docker
  • 部署 Portainer
  • 运行 Vulhub
  • 关于 Compose
  • 其它 Download
相关产品与服务
容器镜像服务
容器镜像服务(Tencent Container Registry,TCR)为您提供安全独享、高性能的容器镜像托管分发服务。您可同时在全球多个地域创建独享实例,以实现容器镜像的就近拉取,降低拉取时间,节约带宽成本。TCR 提供细颗粒度的权限管理及访问控制,保障您的数据安全。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档