VMware虚拟机搭建渗透网络及原理解析

前言

作为一名黑客(我没说我是hk),你要了解目标网络的拓扑,这样才能更加准确的模拟和实施渗透攻击。作为学生的我,只能用VMware来模拟企业环境。这一步很关键,所以不仅要能用虚拟机,还要清楚虚拟机不同模式的原理,更要通过配置不同模式连通企业的网络,下面这篇文章就来带你入门如何搭建渗透测试环境

这篇文章的写作顺序:
1.先熟悉VMware三种模式
本人是MacBook,如果你是windows电脑可以参考
https://blog.csdn.net/weixin_42442713/article/details/80903173
2.实验VMware三种模式
3.按照metasploit魔鬼训练营中的环境搭建网络(一个小公司网路模型)
//# vmware网络配置的进阶请参照官网教程
//# https://docs.vmware.com/cn/VMware-Workstation-Pro/index.html


vmnet8: nat模式下主机与虚拟机通信的网卡
Vmnet8: nat模式下的虚拟交换机
vmnet1: host-only模式下主机与虚拟机通信的网卡
Vmnet0: 桥接模式下的虚拟交换机


理论:

桥接模式

主机和虚拟机是邻居,就好比你的电脑和你宿舍同学的电脑之间的关系,主机和虚拟机都连接在虚拟交换机上,所以你应该把虚拟机配置为主机所在的网段(不配置的话无法和主机通信)。主机用他原本的网卡通过虚拟网桥和虚拟交换机连接。如果真实的路由器发出了dncp信息或者路由更新,主机会通过广播的方式把信息通过虚拟网桥传达给虚拟机(可以见实验的图片),前提是你把路由器配置成网关,否则,你的虚拟机不会理睬路由器的任何通知,并且你也不能上网。

NAT模式

如果网络IP资源紧缺,但是又希望你的虚拟机能够连网,这时候NAT模式是最好的选择。NAT模式借助虚拟NAT设备和虚拟DHCP服务器,使得虚拟机可以连网。

Host-Only模式

Host-Only模式就是NAT模式去除了虚拟NAT设备,然后使用VMware Network Adapter VMnet1虚拟网卡连接VMnet1虚拟交换机来与虚拟机通信的,Host-Only模式将虚拟机与外网隔开,使得虚拟机成为一个独立的系统,只与主机相互通讯。

实验:

VMWare的配置在网络模块,可自行配置。Internet共享是nat。自定义是Host-Only。接下来演示的都是虚拟机的网络配置
在这里插入图片描述

桥接模式

图片仔细看包括文字
在这里插入图片描述
桥接模式下虚拟机的IP地址要和虚拟机处于同一网段,网关相同,dns服务器相同
查看MacBook电脑的网关地址和dns地址
网关是192.168.43.1
dns是192.168.43.1
在这里插入图片描述
在这里插入图片描述
1.kali中/etc/network/interfaces配置网络

auto eth0
iface eth0 inet static
address 192.168.43.103
netmask 255.255.255.0
gateway 192.168.43.1

/etc/resolv.conf配置dns

nameserver 192.168.43.1

如果嫌麻烦直接就

auto eth0
iface eth0 inet dhcp

真实的dncp服务器会帮你获取ip。网关和dns可以在你访问网络的时候动态获取
/etc/init.d/networking restart重新启动网络
kali虚拟机的网卡eth0
在这里插入图片描述

我主机的网卡是en0
在这里插入图片描述

实验:

虚拟机ping主机,在en0抓包
在这里插入图片描述
虚拟机ping 一下外网114.114.114.114并在主机的en0抓包
在这里插入图片描述

NAT模式

如果网络IP资源紧缺,但是又希望你的虚拟机能够连网,这时候NAT模式是最好的选择。NAT模式借助虚拟NAT设备和虚拟DHCP服务器,使得虚拟机可以连网。
在这里插入图片描述
虚拟机和主机的网卡vmnet8必须处于同一网段,你可以自己配置(/Library/Preferences/VMware\ Fusion/vmnet8,nat.conf找网关,dhcpd.conf找可定义的ip范围),也可以使用虚拟dhcp来自动获取。
这里我就直接使用虚拟dhcp服务器自动获取了
配置/etc/network/interfaces

auto eth0
iface eth0 inet dhcp

/etc/init.d/networking restart重启
在这里插入图片描述

主机MacBook的两个网卡:
原先就存在的en0,ip是192.168.43.15
和虚拟机通信的网卡vmnet8,ip是192.168.83.1
在这里插入图片描述

在这里插入图片描述

实验:

虚拟机和主机通信:wireshark监听vmnet8网卡
虚拟机和外网通信:wireshark监听en0网卡

1.虚拟机和主机通信:
虚拟机使用192.168.83.143,通过Vmnet8虚拟交换机,与我的vmnet8网卡192.168.83.1通信
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
2.虚拟机和外网通信:
虚拟机使用192.168.83.143,通过Vmnet8虚拟交换机,到达nat转换器转换成主机en0的ip192.168.43.15和外网通信
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
虚拟机主动向外网建立通信是可以的,外网不能主动向虚拟机建立通信。

Host-Only模式

Host-Only模式就是NAT模式去除了虚拟NAT设备,然后使用VMware Network Adapter VMnet1虚拟网卡连接VMnet1虚拟交换机来与虚拟机通信的,Host-Only模式将虚拟机与外网隔开,使得虚拟机成为一个独立的系统,只与主机相互通讯。
在这里插入图片描述
仍然采用dhcp配置的方法:

auto eth0
iface eth0 inet dhcp

主机vmnet1网卡ip
在这里插入图片描述

kali虚拟机eth0网卡ip
在这里插入图片描述二者必须是一个网段

实验:

虚拟机ping主机,主机vmnet1抓包。可以ping通
在这里插入图片描述
虚拟机ping外网114.114.114.114
在这里插入图片描述
主机在vmnet1入口处丢弃虚拟机访问外网的包,外网自然也不可能访问内网

小型的企业网络模型

metasploit魔鬼训练营pdf下载:
https://pan.baidu.com/s/1xHP9vHf9nk4X_sg-GXte5g 提取码: 7rn9
实验环境下载:
https://pan.baidu.com/s/1uliDaot6_FL_kXD1SxweEA 提取码: 6j8k
网络拓扑图
在这里插入图片描述
我还是大学生,还没去过企业。但是就我推测,拓扑的意思是,外网和企业内网都可以访问dmz区域(内网和外网之间的区域,目的是外网方便访问,内网更加安全),但是外网不可以访问企业内网。企业内网访问外网进行限制,可以访问某些指定网站。
其中dnz区域外侧应该还有个防火墙,过滤规则是只允许外网访问dmz,并且只允许内网访问部分外网。
而网关服务器又是另一层过滤,阻挡一切从外网访问内网的数据,放行内网的数据。

说的不对的指正一下哈,我声明,这是我的猜测,不要误导一些人。

那我就按照书上的教程来配置环境。
除去宿主主机,一共需要配置5个电脑
1.DMZ区域的网站服务器OWASP-Ubuntu
2.DMZ区域的后台服务器Win2003
3.自己的攻击机,就用我的kali2020了
4.网关服务器Linux-Ubuntu
5.公司内网客户机WinXP

下面的拓扑我自己画的,献丑了,有不对的一定要帮我纠正,谢谢


我画错了,nat设备连接eth0网卡,而,VMnet8网卡是虚拟机与主机通信用的(我回过头重新学习发现的错误)

这个拓扑图务必要仔细的研究,方便深入理解VMware搭建的网络
在这里插入图片描述

那么下面我先配置这5个主机

配置

声明下,nat模式的虚拟机如果不使用dhcp而是static,也是可以的,但是有一定可能性你配置的static和另一个虚拟机从dhcp获取的ip重叠,但是问题不大。既然这样就都配置成static就好了
1.winxp和win2003
在这里插入图片描述

2.OWASP-Ubuntu
VMware选择nat模式
编辑/etc/network/interfaces

auto eth0 
        iface eth0 inet static
        address 10.10.10.129
        netmask 255.255.255.0
        gateway 10.10.10.254

/etc/init.d/networking restart重启

3.kali2020
VMware选择nat模式
编辑/etc/network/interfaces

auto eth0 
        iface eth0 inet static
        address 10.10.10.128
        netmask 255.255.255.0
        gateway 10.10.10.254

/etc/init.d/networking restart重启

4.网关Ubuntu
VMware选择nat模式
编辑/etc/network/interfaces

auto eth0
iface eth0 inet static
        address 10.10.10.254
        netmask 255.255.255.0
        network 10.10.10.0
        broadcast 10.10.10.255
        gateway 10.10.10.2
iface eth1 inet static
        address 192.168.10.254
        netmask 255.255.255.0
        network 192.168.10.0
        broadcast192.168.10.255

我配置的eth0的网关是虚拟nat的地址10.10.10.2,这个地址在/Library/Preferences/VMware\ Fusion/vmnet8/nat.conf,当然也可以自己修改这个地址然后重新启动虚拟机

虚拟机关机,然后VMware中添加设备->网络适配器->添加
在这里插入图片描述
重启查看
在这里插入图片描述
设置网关转发功能
编辑/etc/rc.local
在末尾加上一句

/sbin/iptables -t nat -A POSTROUTING -s 192.168.10.0/24 -d 10.10.10.0/24 -o eth0 -j MASQUERADE

书上的命令没有 -d 10.10.10.0/24,不加上的话公司内网的用户还是能够随意访问外网,起不到host-only的效果,所以加上后只允许公司内网的人访问dmz区域

iptables命令可以简单的在
http://www.zsythink.net/archives/tag/iptables/page/2/
学习一下,其中
-t nat 是选择表nat
-A POSTROUTING 是在POSTROUTING链添加规则
-s 192.168.10.0/24 来源是 192.168.10.0/24的主机
-d 10.10.10.0/24 目的是10.10.10.0/24的主机
-o eth0 转发到eth0网卡
-j MASQUERADE 自动nat转换

一整个话的意思就是从192.168.10.0/24网段来的发往10.10.10.0/24网段的数据包都转发到eth0网卡(10.10.10.0/24网段)并且设置自动nat

通信

在这里插入图片描述
winxp:可以访问dmz区域,不可以访问外网
ping 10.10.10.128通
在这里插入图片描述
ping 114.114.114.114不通
在这里插入图片描述
kali2020:可以访问外网,可以访问内网
ping 114.114.114.114通
在这里插入图片描述
ping 192.168.10.128通
在这里插入图片描述
但是我认为这样配置有很多缺陷,比如说没有限制外网的用户,这样不是等于随便给别人入侵吗,也许这就是模拟环境和实战的差距,书上教的和真实的永远是有差距的

其他的尝试

我好奇如果dmz的owasp-ubuntu设置dhcp获得一个ip,然后kali2020静态设置owasp-ubuntu的ip,结果会怎么样。发现这样是可以的!ping的对象根本不知道你是dhcp获取的真ip还是static设置的伪装ip。头脑中联想出一系列搞事情的画面…
在这里插入图片描述
在这里插入图片描述

最后总结一下配置文件

linux&windows:
配置网络ip
kali:/etc/network/interfaces
centos:/etc/sysconfig/network-scripts/ifcfg-ens33
配置dns
/etc/resolv.conf
配置域名映射,优先于/etc/resolv.conf
/etc/hosts
C:\windows\system32\drivers\etc\hosts
启动执行的最后一个用户配置脚本
/etc/rc.local
配置内核
/etc/sysctl.conf

macos-VMWare:
配置虚拟网络
/Library/Preferences/VMware\ Fusion/networking
配置虚拟dhcp服务器
/Library/Preferences/VMware\ Fusion/vmnet1/dhcpd.conf
/Library/Preferences/VMware\ Fusion/vmnet8/dhcpd.conf
配置虚拟nat服务器
/Library/Preferences/VMware\ Fusion/vmnet8/nat.conf

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值