ETTERCAP之ARP欺骗实验

0x00

准备kali-linux作为攻击机,准备两台windows机器作为被攻击机器,可以都使用虚拟机,网络模式应该处于同一局域网内,使用NAT模式或者仅主机模式。

攻击机网络信息:(留意其MAC地址)

靶机一:使用一台win2003服务器,为了实验结果明显,首先清掉ARP缓存表。(称为A主机)

以下是正确的arp信息:留意此时的网关和对应的正确MAC地址。

之后清理掉现有的MAC地址表。

靶机二:采用一台win10系统机,进行与靶机一相同的操作(称为B):

网络信息:

Arp表缓存:

使用相同命令清掉全部缓存:

 

 

0x01

单向主机型欺骗:冒充网关欺骗其他主机。

  1. 为了达到断网效果,关闭linux的数据包转发功能。

  1. 打开Ettercap:打开图形界面

  1. 配置攻击前的参数:
    1. 开启嗅探

b)选择嗅探的网卡

c)开启ARP毒化

 

d)

 

e)配置插件(更多的插件功能自行了解)

F)扫描内网主机,然后查看所有主机的MAC地址。

   

然后将所有非网关主机(攻击机除外)加入同一个攻击目标群。

到此前期的攻击配置基本完成。(这个时候攻击其实已经启动了,先停下来)

  1. 为了看到实验效果,我们先让两台主机和网关三个互相进行ping测试,获取到正确的MAC地址缓存表。

A主机地址缓存表

 

B主机地址缓存表

总结:此时两台主机的网关记录都是:00-50-56-ee-1d-4c

 

  1. 重新开始攻击,然后重新获取两台主机的arp地址表

A主机

 

B主机

发现此时互相之间的ARP表已经完全相同了,全部变为攻击机的的MAC地址。

 

  1. 之后用wireshark抓一个网卡的arp的数据包来查看一下:
    1. 这数据包的含义是:源地址00-0c-29-50-a3-ff的主机(攻击机),告诉目标地址00-0c-29-50-a3-ff(A主机),网关的MAC地址是 00-0c-29-50-a3-ff。
    2. 这个包达到的效果就是:当A主机收到这个数据包,就匹配自己的MAC地址表,发现地址有修改,然后用新收到的MAC地址进行修改。这样以后在进行通信的时候,A主机就会把攻击机当成网关,将数据全部发给网关。

和上面这个数据包类似,可以查看其他的数据包,也基本是产生类似效果的包。

当然所有的包中有可能抓到一两个正常的ARP数据包,不过,不会产生什么效果,因为很快就会被新的响应包覆盖。

 

 

0x02

双向欺骗,获取两台主机之间的telnet数据。

同一局域网内的主机进行通信是不需要经过网关进行转发的,这样就需要使用双向欺骗,来窃听两台主机之间的通信流量。

 

  1. 前期的配置和前面差不多,只不过在设置目标的时候要分别将主机A和主机B加入不同的主机群。
  2. 可以再将两台主机的ARP缓存清空,然后重新查看ARP缓存表。
    1. A主机

    1. B主机

此时我们可以发现两台主机的网关的MAC地址全部是正确的。

  1. 使用B主机telnet登录A主机。

成功窃听两台主机之间的通信流量(telnet属于明文传输)

  1. 此时主机A是可以连接网络的。然后再抓个数据包分析一下

 

可以看到arp包基本全是由攻击机发送的,并且是指向主机A和B发送了数据包。

 

 

0x03 后话

Arp攻击实验演示基本结束,关于arp的原理,可以参考《TCP/IP协议卷一》这本书。

上一篇博文有涉及:https://blog.csdn.net/CSDNPM250/article/details/88795648