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

    目录 一.需求背景 二.常用的API认证技术 2.1 App Secret Key + HMAC 2.2 OAuth 2.0 2.2.1 Authorization Code Flow 2.2.2 C ...

  2. Android 12(S) 图形显示系统 - 基本概念(一)

    1 前言 Android图形系统是系统框架中一个非常重要的子系统,与其它子系统一样,Android 框架提供了各种用于 2D 和 3D 图形渲染的 API供开发者使用来创建绚丽多彩的应用APP.图形渲 ...

  3. CMake语法—普通变量与包含、宏(Normal Variable And Include、Macro)

    目录 CMake语法-普通变量与包含.宏(Normal Variable And Include.Macro) 1 CMake普通变量与包含.宏示例 1.1 代码目录结构 1.2 根目录CMakeLi ...

  4. php中关于数据库的操作

    php中对数据库的操作,举例如下: //连接到本地mysql数据库 $myconn=mysql_connect("localhost","root"," ...

  5. Homework_3 (完整版)

    划水‍♂️!好耶! 果然还是逃不过作业,初三刚过就要营业 审题 爬虫+算法:划水中的员工 员工 A 此刻内心一酸,大年初一加班惨绝人寰,情不自禁打开 B 站,跟着网友一起划水看番. 但是由于技术故障原 ...

  6. aws vpc 知识总结(助理级)

    一 什么是vpc? Amazon Virtual Private Cloud(Amazon VPC)使您可以将AWS资源启动到您定义的虚拟网络中. 虚拟的云计算. /* 1 默认vpc ? 创建一个具 ...

  7. Lesson2——NumPy Ndarray 对象

    NumPy 教程目录 NumPy Ndarray 对象 NumPy 最重要的一个特点是其 $N$ 维数组对象 ndarray,它是一系列同类型数据的集合,以 $0$ 下标为开始进行集合中元素的索引. ...

  8. python开发: linux进程占用物理内存

    #!/usr/bin/env python #-*- coding:utf-8 -*- ''' 统计linux进程占用的物理内存 ''' import os import sys import sub ...

  9. android怎么做表格显示数据

    实现思路:最底层(父级)背景为黑色,最上层(子级)背景为白色,然后父子组件之间存在一丝间隔即可显示出类似边框的线. 本次主要利用Android中的TableRow等实现,其他类比也可以实现效果. &l ...

  10. 快速搭建ELK7.5版本的日志分析系统--搭建篇

    title: 快速搭建ELK7.5版本的日志分析系统--搭建篇 一.ELK安装部署 官网地址:https://www.elastic.co/cn/ 官网权威指南:https://www.elastic ...