为什么内网渗透要用NAT模式

为什么内网渗透比赛时虚拟机要用NAT模式?

在学习了一点渗透的皮毛后,发现对计算机网络的了解很大程度上会帮助我们渗透摸清方向。而自己在学习计网时很多知识都遗忘或者没有掌握好(理论真的是内功心法,决定你的武功的高度),对比赛时的网络配置都不太了解,需要反思。
因此做了以下笔记,希望能帮助大家、帮助自己理解内网渗透(比赛)时的网络拓扑以及虚拟机网络配置问题。

虚拟机三种网络模式(Bridged, NAT, Host Only)

1. Bridged(桥接)

桥接网络是指本地物理网卡和虚拟网卡通过VMnet0虚拟交换机进行桥接,物理网卡和虚拟网卡在拓扑图上处于同等地位,那么物理网卡和虚拟网卡就相当于处于同一个网段,虚拟交换机就相当于一台现实网络中的交换机,所以两个网卡的IP地址也要设置为同一网段。

类似于把物理主机虚拟为一个交换机,所有桥接设置的虚拟机连接到这个交换机的一个接口上,物理主机也同样插在这个交换机当中,所以所有桥接下的网卡与网卡都是交换模式的,相互可以访问而不干扰。

简单来说,桥接网络就是通过虚拟网卡,把虚拟机放到宿主机的局域网网络内,将其视为一个独立的,真实存在的局域网主机。因此该局域网内的主机和虚拟机都可以互相访问。

桥接模式的网络拓扑图
图:桥接的网络拓扑图

⚠️注意

  1. 此时虚拟网卡和物理网卡(宿主机)在网络拓扑上处于同等地位。
  2. 此时,虚拟机上的虚拟网卡连接到虚拟交换机。虚拟交换机通过虚拟网桥连接到主机物理网卡。此时,虚拟机的IP必须与主机在同一网段,且子网掩码、网关(Gateway)以及DNS也需要与主机保持一致。

🎯与内网渗透相关的

在做内网渗透时,主机网络经常需要进行手动设置(manual),此时,虚拟机如果要采用桥接的方式,则在虚拟机里要对注意中的网络配置进行再次的修改。

2. NAT(Network Address Translation, 网络地址转换)

NAT模式中,就是让虚拟机借助NAT(网络地址转换)功能,通过宿主机器所在的网络来访问公网。
NAT模式中,虚拟机的网卡和物理网卡的网络,不在同一个网络,虚拟机的网卡,是虚拟机软件提供的一个虚拟网络。

虚拟机向外部网络发送的请求数据”包裹”,都会交由NAT网络适配器加上”特殊标记”并以主机的名义转发出去,外部网络返回的响应数据”包裹”,也是先由主机接收,然后交由NAT网络适配器根据”特殊标记”进行识别并转发给对应的虚拟机,因此,虚拟机在外部网络中不必具有自己的IP地址。从外部网络来看,虚拟机和主机在共享一个IP地址,默认情况下,外部网络终端也无法访问到虚拟机。

NAT模式的网络拓扑图
图:NAT模式的网络拓扑图

⚠️注意:

  • NAT由于是在一个虚拟网络里面的,所以虚拟机与局域网其他主机无法互相访问,但与宿主机互通。但也可设置端口转发,让外部网络的主机通过宿主机上建立的转发端口间接与虚拟机进行通信
  • 从外部网络看,虚拟机和宿主机共享一个IP
  • 虚拟机和宿主机使用同一个TCP/IP配置
  • 虚拟机内部是一个独立的局域网络,由虚拟DHCP服务器提供,并且通过虚拟网络地址转换器直接连接到主机网卡

3. Host Only(仅主机模式)

这个模式理解相对简单,仅主机模式,是一种比NAT模式更加封闭的的网络连接模式,它将创建完全包含在主机中的专用网络。仅主机模式的虚拟网络适配器仅对主机可见,并在虚拟机和主机系统之间提供网络连接。无法连接外网。

⚠️注意:

  • 同一台主机上可以创建多个Host Only主机模式的虚拟网络,处于同一个Host Only虚拟网络中的虚拟机可以互相通信。如果它们处于不同的虚拟网络,则默认无法进行通信(可设置路由进行通信)。

4. 自定义网络连接配置

利用虚拟机软件提供的虚拟网络连接组件,可以创建复杂的虚拟网络。

一个形象的比喻

桥接模式的虚拟机,就像一个在路由器”民政局”那里”上过户口”的成年人,有自己单独的居住地址,虽然和主机住在同一个大院里,但好歹是有户口的人,可以大摇大摆地直接和外面通信。
NAT模式的虚拟机,纯粹就是一个没上过户口的黑户,路由器”民政局”根本不知道有这么个人,自然也不会主动和它通信。即使虚拟机偶尔要向外面发送点的信件,都得交给主机以主机的名义转发出去,主机还专门请了一位叫做NAT的老大爷来专门负责这些虚拟机的发信、收信事宜。
仅主机模式的虚拟机,纯粹是一个彻彻底底的黑奴,不仅没有户口、路由器”民政局”不知道这么号人,还被主机关在小黑屋里,连信件也不准往外发。

为什么优先用NAT?

介绍了以上几种虚拟机网络配置,那么我们在做内网渗透(比赛)时,为什么推荐用NAT呢?其实答案就在上面的⚠️注意 里面了:

  1. 桥接模式,虚拟机的IP必须与主机在同一网段,且子网掩码、网关(Gateway)以及DNS也需要与主机保持一致。 因此需要额外进行设置,且黑盒情况网络状况检查比较困难。而NAT模式,从外部网络看,虚拟机和宿主机共享一个IP,且其使用同一个TCP/IP配置。因此虚拟机使用NAT模式时,主机做好网络配置后,就不需要再在虚拟机里进行设置。
  2. 因为从外部网络看,虚拟机和宿主机共享一个IP,有时内网渗透比赛时,🎯标靶可能对客户机IP做了防火墙限制,此时使用桥接模式无法很好进行
  3. Host Only模式,必须要主机都在同一虚拟网络里才能进行

Reference

https://zhuanlan.zhihu.com/p/56658358
https://www.cnblogs.com/xuliangxing/p/7027124.html