1安装虚拟机 靶场以及漏洞环境——docker

简介: 安装虚拟机 靶场以及漏洞环境——docker

安装Vmware

 

 

设置虚拟机网络——虚拟机的三种模式

 

 

桥接模式

image.png



使用物理机的网卡来接受和发送数据

 

 

NAT模式

image.png


vmnet1  vmnet8

虚拟机所有系统都可以设置该模式

仅主机

 

 image.png

 

自定义

 

 image.png 

 

 

 

安装靶场

 

 

1.Windows + Apache + Mysql +  Php安装

 

 

 

 

 

 

2.docker 安装

kali更新apt

apt-get update

纯文本

 

apt-get upgrade

纯文本

 

删除更新包

apt-get clean

纯文本

 

 

 

安装docker环境

apt-get install -y docker docker-compose

image.png

纯文本

查看docker docker-compose版本

docker --version
docker
-compose --version
docker
-v

image.png纯文本

 

启动  停止 重启 docker

systemctl start docker
systemctl stop docker
systemctl restart docker

纯文本

 

 

 

   配置加速器

使用Docker的时候,需要经常从官方获取镜像,但是由于显而易见的网络原因,拉取镜像的
过程非常耗时,严重影响使用Docker的体验。
$sudo vim
/etc/docker/daemon.json     //自动创建
{
"registry-mirrors":[
"https://dockerhub.azk8s.cn"
,
"https://reg-mirror.qiniu.com"
,
"https://1rqfztnd.mirror.aliyuncs.com"

]
}


纯文本

 

 

 

使配置器生效

$sudo systemctl daemon-reload #重新加载配置文件
$sudo systemctl restart docker #
重启docker


纯文本

 image.png

可以设置开机自启动

systemctl enable docker &&systemctl start dock

纯文本

 

 

 

漏洞靶场vulhub:

Vulhub是一个面向大众的开源漏洞靶场,无需docker知识,简单执行一条命令即可编译、运
行一个完整的漏洞靶场镜像。
项目地址:https://github.com/vulhub/vulhul
VulApps
:收集各种漏洞环境,统一采用Dockerfile 形式。
项目地址:https://github.com/Medicean/VulApps


克隆靶场
git clone https
://github.com/vulhub/vulhub

wget https
://github.com/vulhub/vulhub/archive/master.zip -O vulhub-master.zip
(我是本地下载,传上去的)

解压
unzip vulhub
-master.zip


纯文本

 

 

 

vulhub使用  (以tomcat弱口令漏洞靶场为例)

cd vulhub
ls

纯文本

 image.png 

 

建立容器

docker-compose build

纯文本

 image.png 

 

启动漏洞环境

docker-compose up -d

纯文本

 

 image.png

访问靶场环境

打开虚拟机浏览器——>  虚拟机ip:8080


 image.png

 

关闭漏洞环境

docker-compose down

纯文本

 image.png 

 

 

 

vulapps靶场搭建

$docker pull medicean/vulapps:s_shiro_1 #下载镜像 $docker run -d -p 0:8080 medicean/vulapps:s_shiro_1 #运行

纯文本

 image.png 

 

按照vulapps使用教程,可直接使用docker 命令拉取相关镜像,以 Struts2 S2-037 漏洞环境为例:  
获取镜像:

root@kali:~#  docker pull medicean/vulapps:s_struts2_s2-037

但在直接安装时出现了问题,提示  
Cannot connect to the Docker daemon at unix:///var/run/docker.sock.  
经查,可采用如下方法解决该错误:

root@kali:~# systemctl enable docker

root@kali:~# systemctl daemon-reload

root@kali:~# systemctl restart docker.service

再运行获取镜像的命令,成功下载了镜像。  
创建并启动容器:

root@kali:~# docker run -d -p 80:8080 medicean/vulapps:s_struts2_s2-037

def46cd77fae38bf26e3cf8e124789b94588e3df86a1ecac8d98093057af862c

#显示一串hash值,表示运行成功

参数说明:
  -d 表示守护形式后台一直运行该容器  
  -p 80:8080 把容器的8080 端口映射到本机的 80 端口(前面的 80 代表物理机的端口,可随意指定。)

二、使用:

访问方式:    http:// IP 地址:端口号/

实际碰到的问题:
安装好后,实际使用这个IP+端口的方式并不能打开  
使用docker ps命令查看,没有在运行

root@kali:~# docker ps
CONTAINER
ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES

root@kali
:~# docker ps -a
CONTAINER
ID        IMAGE                               COMMAND                  CREATED             STATUS                      PORTS               NAMES
d976cbab9501        medicean
/vulapps:s_struts2_s2-037   "/usr/local/tomcat/b"   27 seconds ago      Exited (1)26seconds ago                       silly_napier

纯文本

 

 

 

使用docker ps -a 命令,发现服务启动后即退出了。

网上的一些办法都试了,但始终会退出,百思不得其解。

使用同样的命令,随便试了一下nginx,居然成功了

root@kali:~# docker run -d -p 8080:80--name webserver nginx

root@kali
:~# docker ps
CONTAINER
ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                  NAMES
2e04
aa6ba917        nginx            "nginx -g 'daemon of"   17 minutes ago      Up 17minutes       0.0.0.0:8080->80/tcp  webserver

纯文本

 

考虑是否和kali2020不兼容?对这个真的是不熟悉,只能用笨办法,在kali2019环境安装下docker试试。参照下面几条命令可以安装:

root@kali:~# curl -fsSL http://mirrors.zju.edu.cn/docker-ce/linux/debian/gpg | sudo apt-key add -

纯文本

 

root@kali:~#echo'deb http://mirrors.zju.edu.cn/docker-ce/linux/debian/ buster stable'| sudo tee /etc/apt/sources.list.d/docker.list

纯文本

 

root@kali:~#apt-get update

纯文本

 

root@kali:~#apt-get install docker-ce

纯文本

 

安装完成,检测一下版本:

root@kali:~# docker -v

纯文本

 

Docker version 19.03.6, build 369ce74a3c

纯文本

 

老方法启动模块:

root@kali:~# docker run -d -p 80:8080medicean/vulapps:s_struts2_s2-037

纯文本

 

0c1c0cfa6a513182048d50979641e172ea2caf281f2731e54c991796a601df3b

纯文本

 

root@kali:~# docker ps

纯文本

 

CONTAINERID        IMAGE                               COMMAND                  CREATED             STATUS              PORTS                  NAMES

纯文本

 

0c1c0cfa6a51        medicean/vulapps:s_struts2_s2-037   "/usr/local/tomcat/b"   4 seconds ago       Up 3 seconds        0.0.0.0:80->8080/tcp  lucid_montalcini

纯文本

 

居然成功了!为搭建这个环境绕了好几天,真心累,不过看到终于可以成功访问,再累也值了。

网络图片:https://ucc.alicdn.com/images/user-upload-01/2020052215295667.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3hnY2hlbmdoYWk=,size_16,color_FFFFFF,t_70

附其他漏洞模块地址:BashImageMagickOpenSSLStruts2WordPressZabbix


image.png


访问虚拟机ip:端口号

docker ps


image.png

 

 image.png

 

 

提升建议:

1phpstudyLAMP环境搭建漏洞靶场 2、自己搭建DVWAsqli-labsupload-labs靶场 3、使用docker搭建vulhubvulapps靶场

 

 

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

相关文章
|
10月前
|
存储 分布式计算 Linux
安装篇--CentOS 7 虚拟机安装
VMware 装 CentOS 7 不知道从哪下手?这篇超详细图文教程手把手教你在 VMware Workstation 中完成 CentOS 7 桌面系统的完整安装流程。从 ISO 镜像下载、虚拟机配置,到安装图形界面、设置用户密码,每一步都有截图讲解,适合零基础新手快速上手。装好之后无论你是要搭 Hadoop 集群,还是练 Linux ,这个环境都够你折腾一整天!
4383 3
|
12月前
|
关系型数据库 应用服务中间件 nginx
Docker一键安装中间件(RocketMq、Nginx、MySql、Minio、Jenkins、Redis)
本系列脚本提供RocketMQ、Nginx、MySQL、MinIO、Jenkins和Redis的Docker一键安装与配置方案,适用于快速部署微服务基础环境。
|
9月前
|
应用服务中间件 Linux nginx
在虚拟机Docker环境下部署Nginx的步骤。
以上就是在Docker环境下部署Nginx的步骤。需要注意,Docker和Nginix都有很多高级用法和细节需要掌握,以上只是一个基础入门级别的教程。如果你想要更深入地学习和使用它们,请参考官方文档或者其他专业书籍。
421 5
|
10月前
|
关系型数据库 数据库 PostgreSQL
docker 安装 Postgres 17.6
本文介绍如何通过Docker安装和配置PostgreSQL 17.6。内容包括拉取镜像、导出配置文件、运行容器并挂载数据与配置文件目录,以及进入容器使用psql操作数据库的完整步骤,便于持久化管理和自定义配置。
1616 3
docker 安装 Postgres 17.6
|
9月前
|
NoSQL 算法 Redis
【Docker】(3)学习Docker中 镜像与容器数据卷、映射关系!手把手带你安装 MySql主从同步 和 Redis三主三从集群!并且进行主从切换与扩容操作,还有分析 哈希分区 等知识点!
Union文件系统(UnionFS)是一种**分层、轻量级并且高性能的文件系统**,它支持对文件系统的修改作为一次提交来一层层的叠加,同时可以将不同目录挂载到同一个虚拟文件系统下(unite several directories into a single virtual filesystem) Union 文件系统是 Docker 镜像的基础。 镜像可以通过分层来进行继承,基于基础镜像(没有父镜像),可以制作各种具体的应用镜像。
916 6
|
9月前
|
Java Linux 虚拟化
【Docker】(1)Docker的概述与架构,手把手带你安装Docker,云原生路上不可缺少的一门技术!
1. Docker简介 1.1 Docker是什么 为什么docker会出现? 假定您在开发一款平台项目,您的开发环境具有特定的配置。其他开发人员身处的环境配置也各有不同。 您正在开发的应用依赖于您当前的配置且还要依赖于某些配置文件。 您的企业还拥有标准化的测试和生产环境,且具有自身的配置和一系列支持文件。 **要求:**希望尽可能多在本地模拟这些环境而不产生重新创建服务器环境的开销 问题: 要如何确保应用能够在这些环境中运行和通过质量检测? 在部署过程中不出现令人头疼的版本、配置问题 无需重新编写代码和进行故障修复
739 2
|
12月前
|
Linux Docker Windows
windows docker安装报错适用于 Linux 的 Windows 子系统必须更新到最新版本才能继续。可通过运行 “wsl.exe --update” 进行更新。
适用于 Linux 的 Windows 子系统需更新至最新版本(如 wsl.2.4.11.0.x64.msi)以解决 2025 年 Windows 更新后可能出现的兼容性问题。用户可通过运行 “wsl.exe --update” 或访问提供的链接下载升级包进行更新。
4346 0