渗透测试-Kali虚拟机技术
网络配置常用的虚拟机软件有VMware workstations和VirtualBox等,在使用虚拟机时,很VMware的网络连接问题十分基础而关键。本文介绍下关于VMware workstations网络连接的三种模式。工作模式网卡介绍Host-Only(仅主机模式)VMnet1表示用于仅主机模式下的虚拟交换机虚拟机只能与主机构成内部通信,无法对外网进行访问B...
系统简介
虚拟机
Kali
Kali是一套用于安全渗透的Linux发行版虚拟机操作系统 ,其强大之处在于系统内置了大量的安全渗透方面的软件(预装超过300个渗透测试工具),新手可以免于配置,开箱即用!Kali虚拟机官网下载地址:https://www.kali.org/downloads/
。
Kali Linux系统作为最受欢迎的渗透测试系统,你如果是一个安全渗透专家或者网络安全管理员,必须要学会慎重并且合理地利用这个系统,因为对目标系统造成的实质伤害会带来法律的约束以及制裁!
Xshell
Xshell 是一个强大的安全终端模拟软件,它支持SSH1, SSH2, 以及Microsoft Windows 平台的TELNET 协议。
Xshell的两个作用:
- Xshell是Windows下的软件,可以将你的Windows系统和你的Linux系统链接起来,让你在Windows系统下去操作你的Linux系统,不需要频繁去按ctrl+alt来释放鼠标;
- Xshell在渗透测试(或者主机远程运维)过程中可以在Windows界面下用来访问远端不同系统下的服务器,达到远程控制终端的目的。
Xshell的官网下载地址为:https://xshell.en.softonic.com/
,下面介绍下Xshell的简单使用。
1、打开Xshell,会自动带有一个本地shell,用于控制本地主机:
2、我们将连接Centos7虚拟机:
3、连接远程主机,可新建会话,输入IP地址、端口、主机账户、主机密码:
3、成功登录后即可远程操控主机:
在介绍Kali Linux系统之前,先来了解下VMware虚拟机中网络配置。
网络配置
常用的虚拟机软件有VMware workstations和VirtualBox等,在使用虚拟机时,VMware的网络连接问题十分基础而关键。本文介绍下关于VMware workstations网络连接的三种模式。
工作模式 | 虚拟网卡(虚拟交换机) | 介绍 |
---|---|---|
Host-Only(仅主机模式) | VMnet1 | 虚拟机只能与主机构成内部通信,无法对外网进行访问 |
Bridged(桥接模式) | VMnet0 | 仅一台虚拟机可以和宿主互通,并可以访问外网 |
NAT(网络地址转换模式) | VMnet8 | 多台虚拟机和物理主机之间都可以互相通信,虚拟机也可访问外网 |
打开VMware虚拟机,我们可以在选项栏的“编辑”下的“虚拟网络编辑器”中看到这三种模式:
在物理主机上对应的有VMware Network Adapter VMnet1
和VMware Network Adapter VMnet8
两块虚拟网卡,它们分别作用于仅主机模式与NAT模式下:
那为什么在物理机上没有VMware Network Adapter VMnet0
桥接模式的虚拟网卡呢?接下来来看一下这是为什么。在此之前先来看看“仅主机”模式下虚拟机主机访问百度的结果(无法访问):
桥接模式
什么是桥接模式?桥接模式就是将主机网卡与虚拟机虚拟的网卡利用虚拟网桥进行通信。在桥接的作用下,类似于把物理主机虚拟为一个交换机,所有桥接设置的虚拟机连接到这个交换机的一个接口上,物理主机也同样插在这个交换机当中,所以所有桥接下的网卡与网卡都是交换模式的,相互可以访问而不干扰。在桥接模式下,虚拟机IP地址需要与主机在同一个网段,如果需要联网,则网关与DNS需要与主机网卡一致。其网络结构如下图所示:
接下来,我们就来实际操作,如何设置桥接模式。
1、安装完Centos7虚拟系统之后,在开启系统之前,点击“编辑虚拟机设置”来设置网卡模式,选择“桥接模式”:
2、在VMware菜单栏中,“编辑->虚拟网络编辑器”,桥接模式使用的是vmnet0
虚拟交换机,有的打开之后可能看不到,点击下面的更改设置:
3、选择桥接模式并勾选对应的网卡,这一步非常关键,这里的这个下拉选项如果选错了那么是没有办法联网的,并且你的主机和虚拟机也会无法通信:
4、使用ipconfig /all
命令查询Windows物理主机无线WIFI网卡对应的IP地址和DNS服务器地址等信息:
5、以root权限进入网卡配置文件的存放路径/etc/sysconfig/network-scripts
,找到ifcfg-eth
文件并使用vi
命令准备进行编辑:
6、输入i
进入插入模式修改2个配置项,并在文件末尾添加以下5行配置行,然后按Esc
键+“:wq
”保存编辑并退出文件:
简单解释下相关配置项:
配置项 | 解释 |
---|---|
BOOTPROTO=static | 表示静态IP |
ONBOOT=yes | 表示是否开机启动, 要想网卡开机就启动或通过 systemctl restart network控制网卡,必须设置为 yes |
IPADDR | 自由指定虚拟机的IP地址,与物理主机保持同一网段即可 |
GATEWAY | 网关地址,与物理主机无线网卡的网关地址一致 |
NETMASK | 子网掩码,与物理主机无线网卡的子网掩码一致 |
NDS1、NDS2 | 域名解析服务器,没有这个配置,你的虚拟机访问的域名就无法被解析,只能通过IP来访问 |
7、最后使用命令systemctl restart network
重启网卡:
8、此时虚拟机即可连接外网,成功访问百度:
9、那主机与虚拟机之间的通信是否正常呢?我们就用远程工具Xshell
来测试一下,主机与虚拟机通信正常:
桥接模式配置简单,但如果你有大量虚拟机主机(如分布式集群)而你的网络环境是IP资源很缺少或对IP管理比较严格的话,那桥接模式就不太适用了。如果真是这种情况的话,可以用VMware的另一种网络模式:NAT模式。
NAT模式
在NAT模式中,主机网卡直接与虚拟NAT设备相连,然后虚拟NAT设备与虚拟DHCP服务器一起连接在虚拟交换机VMnet8
上,这样就实现了虚拟机联网。其网络结构如下图所示:
那么我们会觉得很奇怪,为什么需要虚拟网卡VMware Network Adapter VMnet8
呢?原来我们的VMware Network Adapter VMnet8虚拟网卡主要是为了实现主机与虚拟机之间的通信。在之后的设置步骤中,我们会加以验证,先来看看如何配置NAT模式:
1、使用ipconfig /all
命令查询Windows物理主机分配给VMnet8
虚拟网卡对应的IP地址信息:
2、设置虚拟机中NAT模式的选项,打开VMware,点击 “编辑” 菜单栏下的 “虚拟网络编辑器”,查看并设置NAT参数及DHCP参数:
3、将相应虚拟机的网络连接模式设置为NAT模式:
4、以root权限进入网卡配置文件的存放路径/etc/sysconfig/network-scripts
,找到ifcfg-eth(网卡名称各异)
文件并使用vi
命令准备进行编辑:
5、输入i
进入插入模式修改2个配置项,并在文件末尾添加以下5行配置行,然后按Esc
键+“:wq
”保存编辑并退出文件:
【补充】此处列举下公告DNS服务器地址列表:
6、最后使用命令systemctl restart network
重启网卡:
7、此时虚拟机即可连接外网,成功访问百度:
8、前面我们说过VMware Network Adapter VMnet8
虚拟网卡的作用是为了实现主机与虚拟机之间的通信,现在就来测试一下。在物理主机禁用VMbet8网卡,然后在Centos7主机中发现依然能访问百度:
9、上面虚拟机仍然能联通外网,说明确实不是通过VMware Network Adapter VMnet8
虚拟网卡,但是我们会发现VMnet8网卡被禁用后,远程连接工具Xshell将无法连接虚拟机了:
10、最后将VMware Network Adapter VMnet8
虚拟网卡启用,发现远程工具可以连接上虚拟机了:
这就是NAT模式,利用虚拟的NAT设备以及虚拟DHCP服务器来使虚拟机连接外网,而VMware Network Adapter VMnet8
虚拟网卡是用来让物理主机和虚拟机进行通信的。
【补充】扯一点闲话,上面这个过程中,物理机对VMware Network Adapter VMnet8
虚拟网卡的IP配置都是自动的(但是并不影响):
为了对整个NAT模式下的网络拓扑了解更清晰,我们也可以对其IP地址进行设置:
主机模式
Host-Only仅主机模式其实就是NAT模式去除了虚拟NAT设备,然后使用VMware Network Adapter VMnet1
虚拟网卡连接VMnet1
虚拟交换机来与虚拟机通信的,Host-Only模式将虚拟机与外网隔开,使得虚拟机成为一个独立的系统,只与主机相互通讯。其网络结构如下图所示:
通过上图我们可以发现,在仅主机模式下,如果要使得虚拟机能联网,我们可以将主机网卡共享给VMware Network Adapter VMnet1
网卡,从而达到虚拟机联网的目的。接下来,我们就先来实际测试一下。
1、老规矩,先使用ipconfig /all
命令查询Windows物理主机分配给VMnet1
虚拟网卡对应的IP地址信息:
2、设置“虚拟网络编辑器”,可以查看并设置DHCP
的起始范围(VMware已根据物理机的IP配置为我们自动划分,保持默认即可):
3、设置Centos 7虚拟机为Host-Only
仅主机模式:
4、以root权限进入网卡配置文件的存放路径/etc/sysconfig/network-scripts
,找到ifcfg-eth(网卡名称各异)
文件并使用vi
命令准备进行编辑:
5、输入i
进入插入模式修改2个配置项,并在文件末尾添加以下3行配置行(网关地址可以不给,此处没用),然后按Esc
键+“:wq
”保存编辑并退出文件:
6、最后使用命令systemctl restart network
重启网卡:
7、此时虚拟机和物理机即可正常通讯,但是虚拟机无法访问外网:
8、接下来为了使得虚拟机在仅主机模式下也能联网,我们可以将物理主机的无线WIFI网卡共享**给VMware Network Adapter VMnet1
网卡:
9、接下来我们必须强制将VMnet1
的IP地址由自动获取改为192.168.92.1
,因为一会需要在虚拟机中将它指定为DNS服务器的地址:
10、在上面虚拟机中的网卡配置文件的基础上,添加一行DNS地址配置行:
11、重启网卡,然后虚拟机即可成功访问外网了:
以上就是关于VMware三种网络模式的工作原理及配置详解。
Kali系统
网络配置
1、Kali虚拟机的 NAT模式 网络配置:
1、配置IP地址和网关:
root@kali:~# cd /etc/network
root@kalicd:~# vi interfaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
#source /etc/network/interfaces.d/*
# The loopback network interface
auto lo
iface lo inet loopback
//新增以下内容可配置静态IP地址
auto eth0
iface eth0 inet static
address 192.168.190.100
netmask 255.255.255.0
gateway 192.168.190.2
//若是想动态分配IP地址,则添加以下一行配置即可
auto eth0
iface eth0 inet dhcp
2、配置DNS服务(可不用手动配置,VMware会自动配置):
root@kali:~# cd /etc
root@kali:~# vi resolv.conf
nameserver 192.168.190.2 (IP必须是VMware设置的VMnet8虚拟网关地址)
3、重启网卡:
root@kali:~# service networking restart
2、Kali虚拟机的 桥接模式 网络配置:
1、配置IP地址和网关:
root@kali:~# cd /etc/network
root@kalicd:~# vi interfaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
#source /etc/network/interfaces.d/*
# The loopback network interface
auto lo
iface lo inet loopback
//新增以下内容可配置静态IP地址
auto eth0
iface eth0 inet static
address 192.168.0.199
netmask 255.255.255.0
gateway 192.168.0.2
//若是想动态分配IP地址,则添加以下一行配置即可
auto eth0
iface eth0 inet dhcp
2、配置DNS服务(改为物理机无线网卡WLAN的DNS服务器地址):
root@kali:~# cd /etc
root@kali:~# vi resolv.conf
nameserver 202.96.128.166
nameserver 114.114.114.114
3、重启网卡:
root@kali:~# service networking restart
配置后可成功访问外网:
SSH服务
1、使用Xshell远程登陆Kali主机,发现连接失败:
2、在Kali虚拟机中查看SSH服务的启动状态,发现未开启:
3、修改SSH服务的配置文件/etc/ssh/sshd_config
,新增以下两行配置项:
4、重新启动SSH服务/etc/init.d/ssh start
,并查看SSH服务的开启状态:
5、此时直接使用Xshell连接Kali仍然不行,如下:
6、那么要在Kali虚拟机上先生成以下两个密钥(执行命令后都会让输入密码,直接敲回车设置为空即可):
root@kali:~# ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key
root@kali:~# ssh-keygen -t dsa -f /etc/ssh/ssh_host_rsa_key
7、此时再使用Xshell即可成功连接Kali虚拟机:
8、为防止Kali重启后,无法远程Kali我们可以设置系统自动启动SSH服务,方法如下:
//系统自动启动SSH服务
root@kali:~# update-rc.d ssh enable
//关闭系统自动启动SSH服务
root@kali:~# update-rc.d ssh disabled
Apache服务
kali上是自带的有Apache服务的,我们可以借助它搭建站点,同时可用于虚拟机之间传输文件,只要将 Kali 虚拟机内需要传输的文件(比如生成的木马程序)放在 Apache 站点的根路径下/etc/www/html
即可 ,局域网内的主机便可通过浏览器访问站点并下载文件。
相关运维命令如下:
开启服务:/etc/init.d/apache2 start
重启服务:/etc/init.d/apache2 restart
关闭服务:/etc/init.d/apache2 stop
编辑端口:vim /etc/apache2/ports.conf
主页路径:/etc/www/html
开启后浏览器访问到的默认主页如下:
网站部署
前面讲了,虚拟机技术是将一台服务器分隔成若干个虚拟的专享使用空间,然而空间都不能自定义,只能支持特定的功能,并且都使用一个IP,更重要的是各个空间之间是会相互影响的,包括CPU、内存、磁盘这些都是共享的。直观来讲就是一台服务器分隔成多个空间,然后共多用户共同使用服务器资源。
当我们想部署网站的时候,经常会听到VPS、云主机、虚拟机等关键字,这几者之间有何区别?
VPS
VPS 是Virtual Private Server的英文缩写,即虚拟专用服务器。VPS就是利用容器技术和虚拟化技术将一台物理机划分为N台独立的服务器,划分出来的服务器之间是相互独立的互不影响,每台服务器有独立的IP、CPU、内存、磁盘,划分出来的每台服务器就是VPS。用户使用VPS就像是使用一台独立服务器一样,你可以自定义的安装想要的软件。
云主机
相信你经常会听到阿里云、腾讯云、亚马逊云等热门词,但是这些云是什么意思呢。互联网中的云你可以粗略的理解为集群,一台单独的服务器无法构成云,一台服务器的计算能力始终是有限的,将N多台服务器通过云技术组建成一个集群就可以理论上提供无限大的计算能力。
那么云主机又是什么呢?VPS的是什么我们已经讲过,从内部看云主机在使用上和VPS几乎是一样的,从外部来看云主机是更高级是VPS,VPS是在一台服务器,不管怎么扩展都超不过这台服务器的计算能力,然而云主机是一个超大集群服务器分出来的,理论上他的最大计算能力就是整个集群的计算能力,因此云主机相对于VPS而言它的扩展性更好。当然云主机技术相比VPS技术更加的困难。
VPS、云主机、虚拟机的区别?
通过上面的讲解你一定知道了VPS、云主机、虚拟机的各自特点,所以他们的区别就很明显了,现在我们用租房打个比方来说明:
- 虚拟机:是一套房,隔离出来了N多个房间,房间只有基本的床、凳子等私人的东西,然而厕所、厨房、洗衣机等等这些都是公共使用了,相互之间使用是有影响的。
- VPS:同样是一大套房分隔出来的N个房间,但是房间里面有厕所,有洗衣机,这些你是独立的,你还可以安装其他家电,就想是一个独立的小公寓一样,房间与房间之间没有任何的共享资源,都是独立的。
- 云主机:就像是一栋大楼,楼房中公寓的墙壁都是打穿了的是一个超大的空间,你需要多大的空间,就用隔离板给你隔离出多大的空间,在空间内是一个独立,空间外面是完全不影响的,如果你突然觉得空间不够了,那么还可以把隔离板移动来扩大空间,具有很好的扩展性。
通过上面的讲解你一定了解了VPS、云主机、虚拟机这三者各自的特点和区别,总之一句话:虚拟机是公卫的青年公寓、VPS是独卫高级大床房、云主机则是豪华别墅。
怎样选择VPS、云主机、虚拟机?
从分析中可以看到,云主机要好于VPS,VPS要好于虚拟机,但是越好技术就越复杂,成本就越高,价格就更昂贵。选当然是选最合适的,不一定要选最好的,如果你只是一个人开发人员,只是需要部署一个个人站,那么虚拟主机就够了;如果你是像部署一个小型企业的官网之类的,那么你选择一个VPS就够了;如果你的网站访问量很大,并且还会持续发展,那么你最好是选择云主机。
更多推荐
所有评论(0)