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

    nRF24L01模块 官网链接: https://www.nordicsemi.com/Products/nRF24-series 常见的无线收发模块, 工作在2.4GHz频段, 适合近距离遥控和数据 ...

  2. ThinkPad S5立体声混响以及语音识别

    smartaudio里面改成语音识别就可以是立体声混响了.但是微软语音识别在国内依然不好用,微软服务在国内太卡了. (联想总是多此一举,各种乱起八糟的软件,给用户造成困难,以前老机子驱动无线网卡锁在L ...

  3. Redis数据库各种数据结构的内部实现。

    Redis数据库是一种非关系型数据库,基于key/value对,运行时加载到内存,对value支持虚拟内存, 支持多种数据结构,支持持久化,以性能著称,可用于存储,缓存,消息队列等场景.主要介绍下Re ...

  4. Centos 7 安装LAMP以及在Apache上安装positiveSSL。

    简介 LAMP(linux , Apache, mysql , php)是集成动态网站经常使用的一套开源软件,实际包含linux操作系统,Apache web服务器,mysql(mariadb 分支) ...

  5. 申请Namecheap的.me 顶级域名以及申请ssl认证--github教育礼包之namecheap

    关于教育礼包的取得见另一篇随笔,在那里笔者申请了digital ocean的vps(虚拟专用主机),跟阿里云差不多,不过个人感觉比阿里云便宜好用一点. 有了自己的主机ip,就想到申请域名,方便好记,也 ...

  6. 详解ElasticAPM实现微服务的链路追踪(NET)

    前言 Elastic APM实现链路追踪,首先要引用开源的APMAgent(APM代理),然后将监控的信息发送到APMServer,然后在转存入ElasticSearch,最后有Kibana展示:具体 ...

  7. linux中sed命令(全面解析)

    目录 一:linux中sed命令介绍 1.sed作用 2.sed命令格式 3.参数 4.sed的编辑模式 5.sed参数解析用法 二:sed 参数 -f 案例实战解析 1.前介 2.引入简介 3.方法 ...

  8. 在js中如何区分深拷贝与浅拷贝?

    一.自我理解 简单来讲就是:深拷贝层层拷贝,浅拷贝只拷贝第一层. 在深拷贝中,新对象中的更改不会影响原对象,而在浅拷贝中,新对象中的更改,原对象中也会跟着改. 在深拷贝中,原对象与新对象不共享相同的属 ...

  9. 业务驱动的全景监控体系在阿里的应用 | 阿里巴巴DevOps实践指南

    编者按:本文源自阿里云云效团队出品的<阿里巴巴DevOps实践指南>,扫描上方二维码或前往:https://developer.aliyun.com/topic/devops,下载完整版电 ...

  10. Java 高效编程(Effective Java)中文第三版(补档)

    来源:sjsdfg/effective-java-3rd-chinese <Effective Java, Third Edition>一书英文版已经出版,这本书的第二版想必很多人都读过, ...