安装Vmware
设置虚拟机网络——虚拟机的三种模式
桥接模式
使用物理机的网卡来接受和发送数据
NAT模式
vmnet1 vmnet8等
虚拟机所有系统都可以设置该模式
仅主机
自定义
安装靶场
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
纯文本
查看docker 和 docker-compose版本
docker --version
docker-compose --version
docker -v
纯文本
启动 停止 重启 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
纯文本
可以设置开机自启动
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
纯文本
建立容器
docker-compose build
纯文本
启动漏洞环境
docker-compose up -d
纯文本
访问靶场环境
打开虚拟机浏览器——> 虚拟机ip:8080
关闭漏洞环境
docker-compose down
纯文本
vulapps靶场搭建
$docker pull medicean/vulapps:s_shiro_1 #下载镜像 $docker run -d -p 0:8080 medicean/vulapps:s_shiro_1 #运行
纯文本
按照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
CONTAINERID IMAGE COMMAND CREATED STATUS PORTS NAMES
root@kali:~# docker ps -a
CONTAINERID 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
CONTAINERID IMAGE COMMAND CREATED STATUS PORTS NAMES
2e04aa6ba917 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
纯文本
居然成功了!为搭建这个环境绕了好几天,真心累,不过看到终于可以成功访问,再累也值了。
附其他漏洞模块地址:BashImageMagickOpenSSLStruts2WordPressZabbix
访问虚拟机ip:端口号
docker ps
提升建议:
1、phpstudy、LAMP环境搭建漏洞靶场 2、自己搭建DVWA、sqli-labs、upload-labs靶场 3、使用docker搭建vulhub、vulapps靶场
git clone https://github.com/vulhub/vulhub