在学习网络安全的过程中,少不了的就是做漏洞复现,而漏洞复现一般比较常用的方式就是使用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

添加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

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

系统更新以及安装docker

apt-get update

apt install docker-ce

启动docker服务器

service docker start

安装compose

apt install docker-compose

docker安装测试

docker version    查看docker的版本信息

docker images   查看拥有的images

docker ps   查看docker container

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

安装vulhub

下载vulhub

https://github.com/vulhub/vulhub

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

下载完成后,进入目录下

cd vulhub

拉取漏洞环境

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

此处举例搭建struts2漏洞环境

cd struts2

举例一个S2-057

cd s2-057

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

sudo docker-compose up -d

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

访问漏洞环境

访问 ip地址:8080

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

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

docker stop (id号)

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

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

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

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

KALI搭建Docker+Vulhub漏洞复现环境的更多相关文章

  1. docker漏洞复现环境搭建

    0x00 docker简介 把原来的笔记整理了一下,结合前几天的一个漏洞,整理一篇简单的操作文档,希望能帮助有缘人. docker是一个开源的应用容器引擎,开发者可以打包自己的应用到容器里面,然后迁移 ...

  2. 漏洞复现环境集锦-Vulhub

    0x01 Vulhub简介 Vulhub是一个面向大众的开源漏洞靶场,无需docker知识,简单执行两条命令即可编译.运行一个完整的漏洞靶场镜像. 0x02 安装 # 安装pip curl -s ht ...

  3. SSRF——weblogic vulhub 漏洞复现及攻击内网redis(一)(附批量检测脚本)

    0X01 概述 SSRF(Server-Side Request Forgery, 服务端请求伪造)利用漏洞可以发起网络请求来攻击内网服务.利用SSRF能实现以下效果:1)        扫描内网(主 ...

  4. docker逃逸漏洞复现(CVE-2019-5736)

    漏洞概述 2019年2月11日,runC的维护团队报告了一个新发现的漏洞,SUSE Linux GmbH高级软件工程师Aleksa Sarai公布了影响Docker, containerd, Podm ...

  5. 从零搭建docker+jenkins 自动化部署环境

    从零搭建docker+jenkins+node.js自动化部署环境 本次案例基于CentOS 7系统 适合有一定docker使用经验的人阅读 适合有一定linux命令使用经验的人阅读 1.docker ...

  6. 在MacOS上搭建Vulhub漏洞平台环境

    一.安装python3和docker brew install python3 brew cask install docker sudo pip3 install docker-compose 二. ...

  7. CVE-2018-1111漏洞复现-环境搭建与dhcp命令注入

    0×01 前言 2018年5月,在Red Hat Enterprise Linux多个版本的DHCP客户端软件包所包含的NetworkManager集成脚本中发现了命令注入漏洞(CVE-2018-11 ...

  8. 搭建docker+swoole+php7 的环境

    最近在学习swoole php扩展,苦恼于其运行环境不能在win系统下运行, 但开发代码一直在win系统上,很无奈,,,, 所以就用docker来代替,舒服~ 有很多相关docker的swoole镜像 ...

  9. Weblogic 'wls-wsat' XMLDecoder 反序列化_CVE-2017-10271漏洞复现

    Weblogic 'wls-wsat' XMLDecoder 反序列化_CVE-2017-10271漏洞复现 一.漏洞概述  WebLogic的 WLS Security组件对外提供webservic ...

随机推荐

  1. fluem读取文件并写入到hadoop的hdfs

    接上一章,本章介绍使用 crontab 像指定文件定时写入,使用fluem 读取并写入到hadoop的hdfs 前提准备已安装好fluem ,和hadoop(推荐单机即可毕竟做实验) 一.进入终端执行 ...

  2. 《剑指offer》面试题32 - I. 从上到下打印二叉树

    问题描述 从上到下打印出二叉树的每个节点,同一层的节点按照从左到右的顺序打印.   例如: 给定二叉树: [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7 返回 ...

  3. 《剑指offer》面试题37. 序列化二叉树

    问题描述 请实现两个函数,分别用来序列化和反序列化二叉树. 示例:  你可以将以下二叉树: 1 / \ 2 3 / \ 4 5 序列化为 "[1,2,3,null,null,4,5]&quo ...

  4. 《剑指offer》面试题68 - II. 二叉树的最近公共祖先

    问题描述 给定一个二叉树, 找到该树中两个指定节点的最近公共祖先. 百度百科中最近公共祖先的定义为:"对于有根树 T 的两个结点 p.q,最近公共祖先表示为一个结点 x,满足 x 是 p.q ...

  5. [STM32F10x] 标准库初始化问题

    硬件:STM32F103C8T6 平台:ARM-MDK V5.11 STM32F系列提供的标准库都是通过结构体来初始化的.比如,以下是GPIO初始化的一个示例代码: GPIO_InitTypeDef ...

  6. 使用idea时jsp中使用out.print();时报错的解决办法

    在用Maven创建web项目时 在jsp页面中out.print();老是报错 这边print显示红色出错因为这边使用的是JSP的API并不是Servlet的,但是可以运行,所以我们只要导包就完事其实 ...

  7. 1010day-人口普查系统

    1.xiugai.java package com.edu.ia; import java.io.IOException;import java.sql.SQLException; import ja ...

  8. VS IDE之xml过大报错

    语料处理时遇到这个错误 在命令行中输入 $vsWherePath = Join-Path ${env:ProgramFiles(x86)} "Microsoft Visual Studio\ ...

  9. gorm概述与快速入门

    特性 全功能 ORM 关联 (Has One,Has Many,Belongs To,Many To Many,多态,单表继承) Create,Save,Update,Delete,Find 中钩子方 ...

  10. 使用Hot Chocolate和.NET 6构建GraphQL应用(4) —— 实现Query映射功能

    系列导航 使用Hot Chocolate和.NET 6构建GraphQL应用文章索引 需求 在上一篇文章使用Hot Chocolate和.NET 6构建GraphQL应用(3) -- 实现Query基 ...