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

相关文章
|
5天前
|
关系型数据库 MySQL Linux
Docker安装Mysql5.7,解决无法访问DockerHub问题
当 Docker Hub 无法访问时,可以通过配置国内镜像加速来解决应用安装失败和镜像拉取超时的问题。本文介绍了如何在 CentOS 上一键配置国内镜像加速,并成功拉取 MySQL 5.7 镜像。
50 2
Docker安装Mysql5.7,解决无法访问DockerHub问题
|
8天前
|
数据可视化 大数据 Linux
OpenEuler虚拟机安装保姆级教程 | 附可视化界面
本文介绍了如何在VMware中安装openEuler操作系统,从选择合适的镜像版本下载开始,到创建虚拟机、配置CPU虚拟化、进行系统安装、设置网络连接,直至安装DDE桌面环境实现图形化操作。openEuler是一款由华为开源的操作系统,支持多种处理器架构,广泛应用于数据库、大数据、云计算等领域。文中还分享了安装过程中的注意事项及解决网络问题的方法,适合初次接触openEuler的用户参考学习。
OpenEuler虚拟机安装保姆级教程 | 附可视化界面
|
14天前
|
监控 虚拟化 Docker
Window系统安装Docker
这篇文章提供了在Windows系统上安装与配置Docker的详细指南,包括Docker Desktop的安装及通过Docker来运行容器化应用的步骤。
41 1
Window系统安装Docker
|
6天前
|
数据可视化 数据挖掘 Docker
Docker Desktop 安装 ClickHouse 超级简单教程
Docker Desktop 安装 ClickHouse 超级简单教程
18 1
|
6天前
|
Ubuntu Linux 网络安全
Docker&Docker Compose安装(离线+在线)
Docker&Docker Compose安装(离线+在线)
65 1
|
8天前
|
NoSQL Linux Redis
Docker学习二(Centos):Docker安装并运行redis(成功运行)
这篇文章介绍了在CentOS系统上使用Docker安装并运行Redis数据库的详细步骤,包括拉取Redis镜像、创建挂载目录、下载配置文件、修改配置以及使用Docker命令运行Redis容器,并检查运行状态和使用Navicat连接Redis。
64 3
|
8天前
|
网络安全 虚拟化 Docker
SSH后判断当前服务器是云主机、物理机、虚拟机、docker环境
结合上述方法,您可以对当前环境进行较为准确的判断。重要的是理解每种环境的特征,并通过系统的响应进行综合分析。如果在Docker容器内,通常会有明显的环境标志和受限的资源视图;而在云主机或虚拟机上,虽然它们也可能是虚拟化的,但通常提供更接近物理机的体验,且可通过硬件标识来识别虚拟化平台。物理机则直接反映硬件真实信息,较少有虚拟化痕迹。通过这些线索,您应该能够定位到您所处的环境类型。
12 2
|
12天前
|
Linux 虚拟化
vmware虚拟机安装2024(超详细)
vmware虚拟机安装2024(超详细)
115 6
|
13天前
|
Linux 网络安全 Docker
安装后无法使用 Docker 命令
【10月更文挑战第3天】
31 2
|
14天前
|
存储 NoSQL MongoDB
docker安装Mongodb
这篇文章详细说明了如何使用Docker安装MongoDB,包括拉取镜像、创建并运行容器、数据持久化存储以及访问容器内的MongoDB服务的具体步骤。
29 1