ARP 欺骗的实现和防御

VMWare 网络基础知识

要进入或离开全屏模式,请按Ctrl+Alt+Enter。
要切换到前一个全屏虚拟机,请按Ctrl+Alt+向左箭头键。
要切换到下一个全屏虚拟机,请按Ctrl+Alt+向右箭头键。

概览

虚拟机虚拟了连接的硬件设备(如CD、声卡、打印机等),同时还虚拟了网络配置设备(如 DHCP 服务器,虚拟网络) - VMnet8, VMnet1; VMnet0 虚拟网络。
可以 Windows 系统(主机)控制面板下的 网络和 Internet\网络连接 查看。

VMnet8 - NAT:

虚拟机网络配置及原理

VMWare提供了三种工作模式:bridged(桥接模式)、NAT(网络地址转换模式)和host-only(主机模式)。

bridged(桥接模式)

在桥接模式下,VMWare虚拟出来的操作系统就像是局域网中的一台独立的主机,它可以访问网内任何一台机器。
在桥接模式下,你需要手工为虚拟系统配置IP地址、子网掩码,而且还要和宿主机器处于同一网段,这样虚拟系统才能和宿主机器进行通信。
同时,由于这个虚拟系统是局域网中的一个独立的主机系统,那么就可以手工配置它的TCP/IP配置信息,以实现通过局域网的网关或路由器访问互联网。

如果你想利用VMWare在局域网内新建一个虚拟服务器,为局域网用户提供网络服务,就应该选择桥接模式。

host-only(主机模式)

在某些特殊的网络调试环境中,要求将真实环境和虚拟环境隔离开,这时你就可采用host-only模式。在host-only模式中,所有的虚拟系统是可以相互通信的,但虚拟系统和真实的网络是被隔离开的。
在host-only模式下,虚拟系统和宿主机器系统是可以相互通信的,相当于这两台机器通过双绞线互连。

在host-only模式下,虚拟系统的 TCP/IP 配置信息(如IP地址、网关地址、DNS服务器等),都是由 VMnet1(host-only) 虚拟网络的 DHCP 服务器来动态分配的。

如果想利用VMWare创建一个与网内其他机器相隔离的虚拟系统,进行某些特殊的网络调试工作,可以选择host-only模式。

NAT(网络地址转换模式)

使用NAT模式,就是让虚拟系统借助 NAT(网络地址转换)功能,通过宿主机器所在的网络来访问公网。也就是说,使用NAT模式可以实现在虚拟系统里访问互联网。NAT模式下的虚拟系统的 TCP/IP 配置信息是由 VMnet8 (NAT) 虚拟网络的 DHCP 服务器提供的,无法进行手工修改,因此虚拟系统也就无法和本局域网中的其他真实主机进行通讯。采用NAT模式最大的优势是虚拟系统接入互联网非常简单,你不需要进行任何其他的配置,只需要宿主机器能访问互联网即可。

如果你想利用VMWare安装一个新的虚拟系统,在虚拟系统中不用进行任何手工配置就能直接访问互联网,建议你采用NAT模式。

提示:以上所提到的NAT模式下的VMnet8虚拟网络,host-only模式下的VMnet1虚拟网络,以及bridged模式下的VMnet0虚拟网络,都是由VMWare虚拟机自动配置而生成的,不需要用户自行设置。VMnet8和VMnet1提供DHCP服务,VMnet0虚拟网络则不提供(图1)

正常的网络配置有点类似的,如果动态分配的不行,就得手动分配,但是目的不同。

VMnet0表示的是用于桥接模式下的虚拟交换机;VMnet1表示的是用于仅主机模式下的虚拟交换机;VMnet8表示的是用于NAT模式下的虚拟交换机。

配置 VMWare 的网络(桥接)

结合上面的基础知识易得:在实际应用中,桥接的价值还是其中较高的一种。
如果是在利用虚拟机学习新的操作系统的话,桥接其实并不是一种友好的网络配置。如果用 kali 做渗透测试等等的时候,建议使用桥接。

一个经验

最开始照搬博客的时候出现的问题:“vim中 E212:无法打开并写入文件”
特权模式下都没办法写入数据的可能性:文件夹、文件不存在……
这样出现的问题往往不能通过搜索引擎解决。

补充

主要参照:解决kali桥接模式无法上网,这篇写的非常好。
需要补充说明的有:

  1. 文章中所谓的路由器 IP 就是 网关。(路由器 IP 这样的表示感觉有点偏口语),
  2. dhclient 命令使用动态主机配置协议动态的配置网络接口的网络参数。
    由于在 /etc/network/interfaces 中,博主配置的是iface lo inet dhcp,也就是动态分配 IP,所以需要用 dhclient 命令进行动态分配。

参考多个教程,整体配置逻辑为:

  1. VMWare 的虚拟网络编辑器(在菜单栏的编辑下)里更改设置,桥接到对应的端口(如果是无线的,可以接到 Intel®Dual Band Wireless-AC 7265),如果只有一个网卡,自动也没有关系。
  2. 对特定的虚拟机的网络适配器进行更改,复制物理网络连接状态有人推荐不要勾选。
  3. 以及用命令去对操作系统的网络进行配置,查看方法如下:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    root@kali:~# cat /etc/resolv.conf
    # Generated by NetworkManager
    nameserver 8.8.8.8

    root@kali:~# cat /etc/network/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 etho
    iface lo inet dhcp

    root@kali:~# dhclient eth0

APR 欺骗

ARPSPOOF 攻击实现

ARP 欺骗简介

APRSPOOF 欺骗:一种中间人攻击,攻击者通过毒化受害者的 ARP 缓存,将网关的MAC 替换成攻击者的MAC ,于是攻击者的主机实际上就充当了受害主机的网关,之后攻击者就可以截获受害者发出和接到的数据包,从中获取账号密码、银行卡信息等,也可以实现断网操作。

攻击前提

1. 局域网(内网)
2. 内网未进行处理(建议用手机热点或者宿舍wifi 进行操作)

(使用桥接,一开始使用net 连接操作不成功,可能是net连接中物理机相当于路由器中转数据,虚拟机和主机不在同一个网段)

HP: 113.54.230.118
Kali: 113.54.230.110

想要得到主机的IP可以用kali里面的nmap进行扫描,我们这里为了方便直接打开windows的cmd,输入ipconfig指令得到物理机的ip:
fping指令来扫描当前网段内的所有IP

1
arpspoof -i 网卡 -t B的IP  当前局域网网关

// i-> inet; t -> target
当前网络的端口通过ifconfig查看

(-i 指定接口 interface ,-t 指定目标 target)

1
arpspoof -i eth0 -t 192.168.42.115 192.168.1.1

参考:

  1. VMware Network Adapter VMnet1/8详解
  2. VMWare虚拟机网络配置(图文并茂,讲得很清晰)
  3. VMware虚拟机Bridged(桥接模式)
  4. 解决kali桥接模式无法上网(这篇写的非常好)
  5. 使用kali对舍友进行ARP断网攻击
  6. ARP协议分析&python编程实现ARP欺骗抓图片
------ The end ------

本文标题:ARP 欺骗的实现和防御

文章作者:Andy Wu

发布时间:2019年10月26日 - 12:10

最后更新:2020年12月18日 - 21:12

原始链接:https://zer0-nu1l.github.io/2019/10/26/ARP/

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。