目录

  • docker简介
  • docker的安装
  • docker、centos7、windows10(博主宿主机系统)之间相互通信
  • -docker容器中下载weblogic12c(可以略过不看)
  • docker容器中下载vulhub漏洞环境
  • 验证Weblogic T3反序列化漏洞(CVE-2017-10271)
  • 用wireshark抓渗透过程的包

docker简介

  • Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。

docker的优点

  • 硬件成本低,虚拟化硬件损耗也较低,性能好;
  • 可以做到运行环境快速部署,启动极快,伸缩有弹性;
  • 支持打包管理,保证一致性;
  • 动态调度迁移成本低。

    ps:博主用docker主要是为了,下载有漏洞的框架,来进行渗透测试,提高自己的渗透能力。(例如:weblogc 反序列化漏洞、strust2漏洞)

docker的安装

前期准备

  • 在虚拟机上已经搭建好centos7系统
  • Docker 要求 CentOS 系统的内核版本高于 3.10 ,查看本页面的前提条件来验证你的CentOS 版本是否支持 Docker 。
  • 配好yum源

docker正式安装

  • 确保 yum 包更新到最新
yum update
  • 卸载旧版本(如果安装过旧版本的话)
yum remove docker  docker-common docker-selinux docker-engine
  • 安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的
yum install -y yum-utils device-mapper-persistent-data lvm2
  • 设置yum源
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
  • 可以查看所有仓库中所有docker版本,并选择特定版本安装
yum list docker-ce --showduplicates | sort -r
  • 下载并安装container-selinux
下载
wget http://mirrors.atosworldline.com/public/centos/7/extras/x86_64/Packages/container-selinux-2.68-1.el7.noarch.rpm
安装
rpm -ivh container-selinux-2.68-1.el7.noarch.rpm --nodeps --force
  • 安装docker
yum install docker-ce  #由于repo中默认只开启stable仓库,故这里安装的是最新稳定版17.12.0
执行上面的命令是默认安装,下面这条命令就不用执行了
yum install <FQPN> # 例如:sudo yum install docker-ce-17.12.0.ce
  • 启动并加入开机启动
systemctl start docker
systemctl enable docker
  • 验证安装是否成功(有client和service两部分表示docker安装启动都成功了)
docker version

docker、centos7、windows10(博主宿主机系统)之间相互通信

  • VM中centos7的网络连接方式为nat,并将网卡配置成dhcp模式
  • docker默认是docker 0网卡,保持默认配置

让windows10和虚拟机通讯

NAT模式,centos7可以ping通windows10,windows10却不能ping通centos7

  • 问题在于主机的适配器设置中,NAT相关的适配器变成了自动获取IP地址。
  • 右击电脑右下角网络的符号,点击“打开网络和共享中心” -> “更改适配器设置”,就可以看到虚拟机的几个适配器配置,NAT模式的配置一般是VMnet8。
  • 右键 -> 属性 -> IPv4 -> 属性。
  • 设置ip地址和centos7在同一网段,即可。

让windows10和docker通讯

  • Windows10连接centos7中的Docker容器的
  • 拓扑图
 宿主机(windows10)--------->虚拟机(192.168.2.131)---------->docker容器 (172.17.0.1)
  • 如果此时在宿主机中ping Docker容器是ping不同的,因为在宿主机上没有通往172.18.0.2网络的路由,宿主机会将发往172.18.0.2网络的数据发往默认路由,这样就无法到达容器。

  • 解决方法:

    (1)首先要保证centos7和Docker容器,用ping测试是否通畅

    (2)关闭虚拟中的防火墙: systemctl stop firewalld.service

    (3)打开windows10的cmd,在其中添加通往 172.17.0.21网络的路由。

    (4)通往 172.17.0.1网络的数据包由192.168.2.131来转发

  • 具体操作

  • cmd(管理员模式)下

route add -p 172.17.0.0 mask 255.255.0.0 192.168.2.131  //-p表示永久添加
  • 查看添加的路由:
route print
172.17.0.0 255.255.0.0 192.168.2.131 192.168.2.200 36

docker容器中下载weblogic12c(可略过不看)

  • 获取镜像
docker pull ismaleiva90/weblogic12
//docker pull #获取镜像
//ismaleiva90/weblogic #weblogic的镜像,后面没有指定镜像版本就会获取默认的 latest版本
  • 生成并启动容器
docker run -d -p 49163:7001 -p 49164:7002 -p 49165:5556 ismaleiva90/weblogic12:latest
//docker run #启动
//-d #使得容器后台运行
//-p #指定端口号
//ismaleiva90/weblogic:latest #镜像的详细信息 //2018/3/6 启动命令: docker run -d -p 7001:7001 -p 7002:7002 --restart=always //ismaleiva90/weblogic12:latest
//启动命令更改之后,访问端口变为 7001, http://172.17.0.1:7001/console
docker run -d -p 7001:7001 -p 7002:7002 --restart=always ismaleiva90/weblogic12:latest
172.150.19.40  #当前主机的ip地址
49163 #访问端口号
访问结果,出现登录页面
  • 登录账号和密码:
用户名:  weblogic
密码: welcome1

docker容器中下载vulhub漏洞环境

docker-compose 的安装及使用

  • Docker Compose 是一个用来定义和运行复杂应用的 Docker 工具。使用 Docker Compose 不再需要使用 shell 脚本来启动容器。(通过 docker-compose.yml 配置)

  • 安装

  • 可以通过修改 URL 中的版本,自定义您需要的版本。

sudo curl -L https://github.com/docker/compose/releases/download/1.22.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
  • 卸载
sudo rm /usr/local/bin/docker-compose

正式下载漏洞环境Vulhub

  • 下载docker漏洞环境:Vulhub

Vulhub是一个面向大众的开源漏洞靶场,无需docker知识,简单执行两条命令即可编译、运行一个完整的漏洞靶场镜像。旨在让漏洞复现变得更加简单,让安全研究者更加专注于漏洞原理本身。

  • 搭建漏洞环境
 git clone https://github.com/vulhub/vulhub.git
https://github.com/vulhub/vulhub/archive/master.zip //直接下载地址
  • 进入vulhub-master/weblogic/CVE-2017-10271目录

  • 运行命令

docker-compose up -d //安装此漏洞环境
docker ps //查看运行服务端口
  • 访问ip:port即可看到web网页

docker-compose down //测试完毕之后,使用此命令即可结束服务,使环境变为初始状态。

验证Weblogic xml反序列化漏洞(CVE-2017-10271)

  • 用工具查看是否存在weblogic xml反序列化漏洞,检测工具请自行百度下载

  • 利用反序列化漏洞,执行系统命令

用wireshark抓渗透过程的包

  • 执行whoami命令的抓包

  • 抓到响应体的包

常见docker漏洞复现靶场

常见的基于 Docker 的漏洞复现靶场环境

扩展链接

kali2020安装docker

声明

严禁读者利用以上介绍知识点对网站进行非法操作 , 本文仅用于技术交流和学习 , 如果您利用文章中介绍的知识对他人造成损失 , 后果由您自行承担 , 如果您不能同意该约定 , 请您务必不要阅读该文章 , 感谢您的配合 !

docker搭建渗透环境并进行渗透测试的更多相关文章

  1. mac下通过docker搭建LEMP环境

    在mac下通过docker搭建LEMP环境境 1.安装virtualbox.由于docker是在lxc环境的容器 2.安装boot2docker,用于与docker客户端通讯 > brew up ...

  2. Mac下docker搭建lnmp环境 + redis + elasticsearch

    之前在windows下一直使用vagrant做开发, 团队里面也是各种开发环境,几个人也没有统一环境,各种上线都是人肉,偶尔还会有因为开发.测试.生产环境由于软件版本或者配置不一致产生的问题, 今年准 ...

  3. 使用Docker搭建apache环境

    Docker搭建apache环境 前言 操作机:ubuntu16 x64 Dockers servion 18.09.7 下载镜像 使用docker pull 拉取最新的 apache镜像 命令:do ...

  4. Docker搭建Hadoop环境

    文章目录 Docker搭建Hadoop环境 Docker的安装与使用 拉取镜像 克隆配置脚本 创建网桥 执行脚本 Docker命令补充 更换镜像源 安装vim 启动Hadoop 测试Word Coun ...

  5. 【Devops】【docker】【CI/CD】1.docker搭建Gitlab环境

    CI/CD[持续化集成/持续化交付] docker搭建Gitlab环境 1.查询并拉取gitlab镜像 docker search gitlab docker pull gitlab/gitlab-c ...

  6. docker搭建lnmp环境(问题,资料,命令)

    入门参考 http://www.runoob.com/docker/docker-install-nginx.html 十大常用命令玩转docker 1. #从官网拉取镜像 docker pull & ...

  7. 关于【搭建LAMP环境时,php测试页面打不开】解决

    关于[搭建LAMP环境时,php测试页面打不开]解决 〇.我的测试页面是: http://172.30.124.10/index.php 用火狐打不开,如下图. 一.httpd已经启动了(system ...

  8. Docker搭建disconf环境,三部曲之一:极速搭建disconf

    Docker下的disconf实战全文链接 <Docker搭建disconf环境,三部曲之一:极速搭建disconf>: <Docker搭建disconf环境,三部曲之二:本地快速构 ...

  9. Docker搭建disconf环境,三部曲之二:本地快速构建disconf镜像

    Docker下的disconf实战全文链接 <Docker搭建disconf环境,三部曲之一:极速搭建disconf>: <Docker搭建disconf环境,三部曲之二:本地快速构 ...

  10. Docker搭建disconf环境,三部曲之三:细说搭建过程

    Docker下的disconf实战全文链接 <Docker搭建disconf环境,三部曲之一:极速搭建disconf>: <Docker搭建disconf环境,三部曲之二:本地快速构 ...

随机推荐

  1. Solr6.4.2异常:org.apache.solr.common.SolrException: Error opening new searcher

    版权声明:本文为博主原创文章,转载请附上原文出处链接和本声明. 原文链接:https://www.cnblogs.com/chenghu/p/13840021.html Solr版本6.4.2 启动S ...

  2. 微信小程序分类的实现

    微信小程序的分类功能思路 实现思路 1.把屏幕当成一个固定的盒子,然后把盒子分成两边,并让盒子的每一边都能够滚动. 2.通过将左侧边栏元素的id和右边内容的categoryId进行匹配,渲染展示相同i ...

  3. ceil中有-0啊

          这里主要是有一点: 1 Math.ceil(d1)  ceil 方法上有这么一段注释:If the argument value is less than zero but greater ...

  4. 安装npm全局包提示没有写入权限: npm WARN checkPermissions Missing write access to /usr/local/lib/node_modules

    方法一 安装npm全局包提示没有写入权限: npm WARN checkPermissions Missing write access to /usr/local/lib/node_modules ...

  5. Verification of WISHBONE I2C Master Core(IRUN+Simvision)

    一.前言 很久没写技术博客了,有些懈怠,生活还得继续折腾.转眼工作一年多,时间越长越发觉得自己知之甚少,当然这跟IC行业技术密集有关.用空余时间在opencores网站上下载些小的IP看看 验证下,让 ...

  6. 同时使用mybatis和mybatis-plus时,pageHelper失效问题解决

    一.问题由来 最近刚拿到一个别人的项目,该项目中使用mybatis和mybatis-plus来操作数据库,我们需要在此基础上添加新功能. 做功能开发时一切都很顺利,我也很快完成了自己负责的模块,然后和 ...

  7. Linux使用tmux

    Tmux功能: 提供了强劲的.易于使用的命令行界面.可横向和纵向分割窗口.窗格可以自由移动和调整大小,或直接利用四个预设布局之一.支持 UTF-8 编码及 256 色终端.可在多个缓冲区进行复制和粘贴 ...

  8. 重要 | Spark和MapReduce的对比,不仅仅是计算模型?

    [前言:笔者将分上下篇文章进行阐述Spark和MapReduce的对比,首篇侧重于"宏观"上的对比,更多的是笔者总结的针对"相对于MapReduce我们为什么选择Spar ...

  9. 通过一个很常用的场景来展示vue数据驱动的应用

    需求:可以动态增减组合条件来进行数据查询. 界面运行效果如下图所示: 界面第一次加载时,默认会显示一个空的查询条件,如下图所示: 点击"加"图标,可以无限增加查询条件,也可以点击& ...

  10. Linux的进程、线程、文件描述符是什么

    说到进程,恐怕面试中最常见的问题就是线程和进程的关系了,那么先说一下答案:在 Linux 系统中,进程和线程几乎没有区别. Linux 中的进程就是一个数据结构,看明白就可以理解文件描述符.重定向.管 ...