• KALI搭建Docker+Vulhub漏洞复现环境


    在学习网络安全的过程中,少不了的就是做漏洞复现,而漏洞复现一般比较常用的方式就是使用docker-vulhub进行环境搭建,我近期也遇到了这个问题,但是网上的教程特别混乱,根本起不到帮助作用,即使有可以看的,也不是很完整,所以我写了一篇关于安装docker和vulhub的总结

    Docker简介

    Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的Linux或Windows机器上,也可以实现虚拟化。容器是完全使用沙箱机制,互相之间不会有任何接口。Docker集装箱化的有点:灵活、轻量级、便携式、可扩展性、可堆叠。个人理解为就是Docker就是一个容器,或者说一个’盒子‘,里面可以放一些别人搭建好的环境,进行操作。

    Docker-compose简介

    docker-compose是一个用python写的一个docker容器管理工具,可以更加方便的对docker容器进行管理,可以一键启动多个容器

    Vulhub简介

    vulhub是一个基于docker和docker-compose的漏洞环境集合,进入对应目录并执行一条语句即可启动一个全新的漏洞环境,让漏洞复现会变得很简单。

    Docker安装

    安装https协议、CA证书、dirmngr

    apt-get update

    apt-get install -y apt -transport-https ca-certificates

    apt-get install dirmngr

    1

    2

    3

    添加GPG密钥并添加更新源

    curl -fsSL https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/debian/gpg | sudo apt-key add -

    echo 'deb https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/debian/ buster stable' | sudo tee /etc/apt/sources.list.d/docker.list

    4

    成功添加GPG密钥并添加更新源

    系统更新以及安装docker

    apt-get update

    apt install docker-ce

    5

    6

    启动docker服务器

    service docker start

    7

    安装compose

    apt install docker-compose

    8

    docker安装测试

    docker version    查看docker的版本信息

    docker images   查看拥有的images

    docker ps   查看docker container

    9

    docker到此安装完成

    Docker安装sqli-labs

    很多同学入门刷sqli-labs来学习sql注入漏洞,但是sqli-labs刷到30关左右的时候就需要使用linux下的环境了,windows本地搭建的环境会出问题,所以在此顺带讲解使用docker安装sqli-labs

    docker search     sqli-labs  查找sqli-labs镜像
    docker pull     acgpiano/sqli-labs 拉取镜像到本地
    docker images 查看已有的镜像
    docker run -dt --name sqli -p     80:80 --rm acgpiano/sqli-labs
    -dt 让其在后台运行
    --name 给其命名
    -p 本地端口:docker中的端口是将docker的端口映射到本地端口
    --rm 当其关闭后将删除开启的资源
    docker ps -a 显示容器container容器的id image 命令 端口等信息
    docker exec -it (id号)     /bin/bash 进入id号的shell

    Docker的基本使用

    docker images    查看存在的镜像
    docker image rm <id>   删除镜像
    docker run -dt --name sqli -p 80:80 --rm acgpiano/sqli-labs   运行存在的镜像
    docker exec -it <container ID> /bin/bash   进入运行中的容器
    docker run -it --rm ubuntu /bin/bash   运行存在的镜像,并以交互的方式进入容器,运行完删除容器
    docker ps   docker container ls   查看运行中的容器
    docker stop <container ID>   停止指定的容器,不指定为停止所有容器
    docker rm   删除所有的容器
    docker container [stop/start/restart]   停止/开启/重启容器
    docker container kall <container ID>   强制停止容器
    docker commit -p <container ID> container-backup   创建Docker的快照

    把宿主机文件拷到容器里面
    docker cp 要拷贝的文件路径 容器名: 要拷贝到容器里面对应的路径

    容器里面拷文件到主机
    docker cp 容器名: 要拷贝的文件在容器中的路径 要拷贝到宿主机器的响应路径

    Docker配置镜像加速

    sudo mkdir -p /etc/docker
    sudo tee /etc/docker/daemon.json <<-'EOF'
    {
    "registry-mirrors": ["http://hub-mirror.c.163.com"]
    }
    EOF
    sudo systemctl daemon-reload
    sudo systemctl restart docker

    13

    安装vulhub

    下载vulhub

    https://github.com/vulhub/vulhub

    10

    11

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

    14

    下载完成后,进入目录下

    cd vulhub

    15

    拉取漏洞环境

    可以看到很多子文件夹,就是不同的漏洞

    此处举例搭建struts2漏洞环境

    cd struts2

    16

    举例一个S2-057

    cd s2-057

    17

    然后执行命令,开启struts2-057漏洞

    sudo docker-compose up -d

    18

    sudo docker ps    查看运行中的容器环境

    19

    20

    访问漏洞环境

    访问 ip地址:8080

    21

    注意:如果没有回显可以加一些参数比如index

    22

    环境运行结束后要及时停止进程

    docker stop (id号)

    23

    如果想要再次执行,可以输入

    docker run -d -p 8080:8080 medicean/vulapps:s_struts2_s2-057

    至此,漏洞复现环境就全部搭建完成

    转自:https://www.freebuf.com/vuls/282626.html

  • 相关阅读:
    IBM 2013策略发布:大数据和分析、云计算、企业移动、社交商务、智慧商务、智慧城市
    BakAndImgCD 6.0 发布,数据备份和映像
    YaCy 1.4 发布,分布式Web搜索引擎
    Pig安装及本地模式测试,体验
    GCC 4.7.3 发布
    UPUPW Nginx版PHP高配引擎发布
    如何选择基于云的大数据方案
    PortalBasic v3.1.1 beta1 示例工程发布
    LLVM 编译器架构获得 ACM 软件系统奖
    123 Flash Chat Server 9.9 发布
  • 原文地址:https://www.cnblogs.com/lzkalislw/p/15713114.html
Copyright © 2020-2023  润新知