热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

【渗透测试小白系列】之Docker入门以及漏洞环境搭建

(本文仅为平时学习记录,若有错误请大佬指出,如果本文能帮到你那我也是很开心啦) 该笔记参考网络中的文章,本文仅为了学习交流,严禁非法使用!!! 一、介绍Docker:开源的应用程序

(本文仅为平时学习记录,若有错误请大佬指出,如果本文能帮到你那我也是很开心啦)

 

该笔记参考网络中的文章,本文仅为了学习交流,严禁非法使用!!!

 

一、介绍

Docker:开源的应用程序容器引擎,使用Go语言开发。借助于Docker打包的应用程序,将这些应用程序包含到容器中,实现虚拟化,容器使用沙箱机制,相互独立、占用资源非常少

1.Docker的三个概念:

  • 镜像:image,Docker镜像是一个只读的模板,比如我们再镜像中包含完整的操作系统,在该操作系统中安装LAMP环境,镜像可以创建容器
  • 容器:container,Docker利用容器运行程序,容器是从镜像中创建运行的一个实例,容器可以运行、关闭、删除
  • 仓库:repository,集中存放镜像的地方,每个仓库中包含了多个镜像,可以私有可以公开,最大的仓库是Dockerhub

 

二、在Kali中安装Docker

1.更换Kali更新源

2.安装Docker

1 curl -s https://get.docker.com/ | sh
2 apt install docker.io

3.配置镜像加速器

  • /etc/docker/daemon.json 中写入如下内容(如果文件不存在请新建该文件)
1 {
2   "registry-mirrors": [
3     "https://dockerhub.azk8s.cn",
4     "https://reg-mirror.qiniu.com"
5   ]
6 }

4.重启Docker

/etc/init.d/docker restart

5.查看Docker版本

docker -v

6.查看当前Docker环境信息,找到repository-mirrors(存储库镜像)

docker info

【渗透测试小白系列】之Docker入门以及漏洞环境搭建

 

三、常用命令

1.镜像

1 docker search mysql  搜索MySQL镜像
2 docker pull 镜像名称  下载镜像
3 docker images  查看本地已下载好的镜像
4 docker rmi 镜像的ID  删除镜像

2.容器

 1 docker run -d -p 8080:80 --rm --name 容器名称 镜像ID或镜像名称
 2     -d  表示后台运行
 3     -p  表示后跟端口  port1:port2  将容器内部服务端口port2映射到本地端口port1(如果-p后什么也不写,则随机分配端口)
 4     --rm  表示容器停止之后会自动删除
 5     --name  表示容器运行起来之后
 6 docker ps  查看运行的Docker
 7 docker ps -a  查看所有容器的运行状态
 8 docker stop 容器名称或容器ID  关闭容器
 9 docker start 容器名称或容器ID  开启容器
10 docker rm 容器名称或容器ID  删除容器
11 docker exec -it 容器ID /bin/bash  进入容器内部
12     -it  表示交互模式
13 docker save 镜像ID > test.tar  导出镜像
14 docker load 

 

四、使用Vulhub搭建漏洞

1.介绍

Vulhub:是一个面向大众的开源漏洞靶场,无需docker知识,简单执行两条命令即可编译、运行一个完整的漏洞靶场镜像

2.下载地址

  • https://vulhub.org/#/environments/
  • https://github.com/vulhub/vulhub.git

3.环境准备

  • 首先需要安装pip(pip是Python用来管理工具包的工具)
curl -s https://bootstrap.pypa.io/get-pip.py | python3

【渗透测试小白系列】之Docker入门以及漏洞环境搭建

  • 安装最新版Docker
curl -s https://get.docker.com/ | sh
  • 启动Docker服务
service docker start
  • 安装compose
pip install docker-compose

【渗透测试小白系列】之Docker入门以及漏洞环境搭建

  • 查看compose版本

【渗透测试小白系列】之Docker入门以及漏洞环境搭建

【渗透测试小白系列】之Docker入门以及漏洞环境搭建

    • 报错原因:找不到 ssl_match_hostname模板
    • 解决方法:
      • 安装ssl_match_hostname模板
pip install ssl_match_hostname
      • 但是会提示该模块已经安装,最终问题原因是:**/usr/local/lib/python2.7/distpackages/docker/transport/ssladapter.py **,即在包路径下找不到 backports包里的ssl_match_hostname模块,复制模块到包路径下
      • 进入backports模块路径
cd /usr/local/lib/python2.7/dist-packages
      • 复制整个包到transport包路径下
cp -r backports /usr/local/lib/python2.7/dist-packages/docker/transport

【渗透测试小白系列】之Docker入门以及漏洞环境搭建

(该解决方法来源于CSDN博主「KISSLOO」的原创文章https://blog.csdn.net/lql971203/article/details/89047265,十分详细,感谢!!!)

4.下载Vulhub资源

1 git clone https://github.com/vulhub/vulhub.git
2 或wget https://github.com/vulhub/vulhub/archive/master.zip -O vulhub-master.zip

【渗透测试小白系列】之Docker入门以及漏洞环境搭建

5.解压

unzip vulhub-master.zip

【渗透测试小白系列】之Docker入门以及漏洞环境搭建

6.进入Vulhub下某个目录(根据漏洞名称或服务名称命名)中

【渗透测试小白系列】之Docker入门以及漏洞环境搭建

【渗透测试小白系列】之Docker入门以及漏洞环境搭建

7.启动整个环境,Docker会自动pull镜像并运行

docker-compose up -d

【渗透测试小白系列】之Docker入门以及漏洞环境搭建

【渗透测试小白系列】之Docker入门以及漏洞环境搭建

8.运行起来的环境需要查看端口,tomcat默认端口8080

docker ps

【渗透测试小白系列】之Docker入门以及漏洞环境搭建

9.每个环境目录下都有相应的说明文件,请阅读该文件

10.网页浏览http://192.168.10.135:8080

【渗透测试小白系列】之Docker入门以及漏洞环境搭建

11.进行漏洞/环境测试

12.测试完成后,删除整个环境,或关闭容器

  • 注:在哪一个目录中开启的,就需要在哪一个目录中关闭,环境启动是依赖docker-compose.yml开启的
1 docker-compose down -v
2 docker stop 容器名称或容器ID  关闭容器

【渗透测试小白系列】之Docker入门以及漏洞环境搭建


推荐阅读
  • docker安装到基本使用
    记录docker概念,安装及入门日常使用Docker安装查看官方文档,在"Debian上安装Docker",其他平台在"这里查 ... [详细]
  • {moduleinfo:{card_count:[{count_phone:1,count:1}],search_count:[{count_phone:4 ... [详细]
  • Webmin远程命令执行漏洞复现及防护方法
    本文介绍了Webmin远程命令执行漏洞CVE-2019-15107的漏洞详情和复现方法,同时提供了防护方法。漏洞存在于Webmin的找回密码页面中,攻击者无需权限即可注入命令并执行任意系统命令。文章还提供了相关参考链接和搭建靶场的步骤。此外,还指出了参考链接中的数据包不准确的问题,并解释了漏洞触发的条件。最后,给出了防护方法以避免受到该漏洞的攻击。 ... [详细]
  • 现在比较流行使用静态网站生成器来搭建网站,博客产品着陆页微信转发页面等。但每次都需要对服务器进行配置,也是一个重复但繁琐的工作。使用DockerWeb,只需5分钟就能搭建一个基于D ... [详细]
  • 本文主要介绍关于linux文件描述符设置,centos7设置文件句柄数,centos7查看进程数的知识点,对【Linux之进程数和句柄数】和【linux句柄数含义】有兴趣的朋友可以看下由【东城绝神】投 ... [详细]
  • 在Docker中,将主机目录挂载到容器中作为volume使用时,常常会遇到文件权限问题。这是因为容器内外的UID不同所导致的。本文介绍了解决这个问题的方法,包括使用gosu和suexec工具以及在Dockerfile中配置volume的权限。通过这些方法,可以避免在使用Docker时出现无写权限的情况。 ... [详细]
  • 云原生边缘计算之KubeEdge简介及功能特点
    本文介绍了云原生边缘计算中的KubeEdge系统,该系统是一个开源系统,用于将容器化应用程序编排功能扩展到Edge的主机。它基于Kubernetes构建,并为网络应用程序提供基础架构支持。同时,KubeEdge具有离线模式、基于Kubernetes的节点、群集、应用程序和设备管理、资源优化等特点。此外,KubeEdge还支持跨平台工作,在私有、公共和混合云中都可以运行。同时,KubeEdge还提供数据管理和数据分析管道引擎的支持。最后,本文还介绍了KubeEdge系统生成证书的方法。 ... [详细]
  • 标题: ... [详细]
  • 篇首语:本文由编程笔记#小编为大家整理,主要介绍了软件测试知识点之数据库压力测试方法小结相关的知识,希望对你有一定的参考价值。 ... [详细]
  • Servlet多用户登录时HttpSession会话信息覆盖问题的解决方案
    本文讨论了在Servlet多用户登录时可能出现的HttpSession会话信息覆盖问题,并提供了解决方案。通过分析JSESSIONID的作用机制和编码方式,我们可以得出每个HttpSession对象都是通过客户端发送的唯一JSESSIONID来识别的,因此无需担心会话信息被覆盖的问题。需要注意的是,本文讨论的是多个客户端级别上的多用户登录,而非同一个浏览器级别上的多用户登录。 ... [详细]
  • GSIOpenSSH PAM_USER 安全绕过漏洞
    漏洞名称:GSI-OpenSSHPAM_USER安全绕过漏洞CNNVD编号:CNNVD-201304-097发布时间:2013-04-09 ... [详细]
  • 本文探讨了容器技术在安全方面面临的挑战,并提出了相应的解决方案。多租户保护、用户访问控制、中毒的镜像、验证和加密、容器守护以及容器监控都是容器技术中需要关注的安全问题。通过在虚拟机中运行容器、限制特权升级、使用受信任的镜像库、进行验证和加密、限制容器守护进程的访问以及监控容器栈,可以提高容器技术的安全性。未来,随着容器技术的发展,还需解决诸如硬件支持、软件定义基础设施集成等挑战。 ... [详细]
  • php7 curl_init(),php7.3curl_init获取301、302跳转后的数据
    最近在做一个蜘蛛项目,发现在抓取数据时,有时会碰到301的页面,原本写的curl_init函数php7-远程获取api接口或网页内容&#x ... [详细]
  • OWASP(安全防护、漏洞验证工具)开放式Web应用程序安全项目(OWASP,OpenWebApplicationSecurityProject)是一个组织 ... [详细]
  • FIN7后门工具伪装成白帽工具进行传播
    fin7,后门,工具,伪装,成,白, ... [详细]
author-avatar
yinghccll
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有