ARP欺骗技术是基于以太网与IP网络的常见攻击手段,本文将全面解释什么是ARP攻击,ARP欺骗发生以后可以利用的几种黑客攻击手段,以及如何防范ARP欺骗发生。

1.什么是ARP,为什么ARP欺骗会发生

ARP是地址解析协议(Address Resolution protocol)的简称,首先看一下TCP/IP网络的开放系统互联协议分层结构:

在这里插入图片描述

七层分别为物理层,数据链路层,网络层,传输层,会话层,表示层,应用层。对于任何一台在网络上的计算机来说,都有两个网络地址,一个是基于网卡的MAC地址, 另外一个是IP地址。

MAC地址全球唯一而且不可改变的存储在网卡上面,MAC地址是用来在数据连接层,当发送帧数据时候需要使用MAC地址,帧数据包运行在数据链路层,帧数据包头包含源机器 MAC地址与目的计算机的MAC地址,一个帧数据包最大为1500字节。MAC地址是独立于应用协议的IP地址。MAC地址主要应用在接受发送以太网的数据帧。

IP地址在网络层与数据传输层及之上的数据包中工作,每个计算机必须有个IP作为唯一标识,IP地址是虚拟的,不依赖于硬件的,而是通过软件实现。

IP地址与MAC地址一起实现了开放系统模型的数据发送与接收。IP层之上的通信通过构造数据包来完成,数据包头中包含源主机与目的主机的IP地址,这些数据包的通信必须依赖于数据链路层的帧数据包,这些IP数据包被适当的分片以后,包装在以太网帧数据包中,帧头部分包含源主机与目的主机(下一跳)MAC地址。发送一下物理层再经过网络上的交换机,发送到正确的MAC地址主机。

当构造一个以太网帧数据包时候,源主机知道目的主机的IP地址,但是无法获知目的主机的MAC地址,这个时候必须有一种方法可以找到目标主机(下一跳)MAC地址,于是ARP解析协议就登场啦,它就可以通过目标主机的IP地址获取MACARP协议通过发送ARP请求数据包通过目的主机IP地址来查询MAC,ARP请求报文通过广播方式发送整个局域网内所有计算机,每个计算机都会检查ARP请求报文,但是只有IP地址与之相符的计算机会发送一条包含自己MAC地址的ARP应答报文。

显然ARP请求广播报文会消耗局域网的网络带宽资源,于是为了减少发送ARP报文的次数 操作系统一般都会维护一个ARP应答缓存表,只有当缓存表中查询不到对应的MAC地址时候,才会发送ARP广播请求报文,由于ARP协议是一种无状态协议,当收到一条ARP应答报文时候,它就会更新ARP应答缓存表不管它之前是否发送了ARP广播请求报文。

ARP欺骗正是利用ARP协议的无状态性,通过捏造不存在的MAC地址更新操作系统ARP路 由缓存表。Windowns下查询ARP缓存表的命令及显示如下:

在这里插入图片描述
当一个捏造的ARP应答报文被接受以后,ARP路由表将被更新,任何发往目的IP主机B的数据包可能被重定向到目标主机B(实施欺骗的主机)。这种通过ARP欺骗更新ARP缓存路由表的攻击方式通常被称为ARP中毒。

交换机匹配帧的目的MAC地址与自己MAC地址表(MAC地址-端口)从而转发帧数据包到正确的端口,MAC地址表的每条记录是由MAC地址与对应端口组成,当交换机第一次通电启动时候,交换机通过检查到达端口第一个数据帧中的源MAC地址从而建立该MAC地址表。

当网卡处于混杂模式时,网卡可以检查所有帧数据包不管该帧的目的MAC是不是它自己。在交换机构建的网络环境中,交换机的帧转发是根据交换机自己的路由表完成,这样就阻止了网络数据包嗅探工具跨过交换器在不同网段进行网络嗅探。然而通过ARP欺骗,网络数据包嗅探工具可以在基于交换机的网络上完成数据包嗅探。

2. 基于ARP欺骗的攻击方法

中间人攻击

中间人攻击(man in the middle attack)是最典型攻击之一,当一个中间人攻击完成以后,一个恶意用户将在两台相互通信的目的主机之间。这样他就可以完成网络数据包(以太网数据包) 嗅探与分析,中间人计算机将在两台相互通信的目的主机之间转发帧数据包,而两台目的主 机对此毫无察觉,一个完整的中间人攻击过程如下:

在这里插入图片描述
这种攻击方式不仅对计算机有效,还可以扩展到路由器与网关设备,从而在路由器与主机之间使用中间人攻击。

广播攻击
如果以太网帧的目的地址为FF:FF:FF:FF:FF:FF,则该以太网数据帧为广播帧,网段中所有的计算机都会收到该广播帧,公共扫描网络上的主机,发送假的ARP应答报文,设定网关的MAC地址为广播地址,所有发送到该网关的数据将被广播发送,导致网络嗅探攻击。

拒绝服务攻击(DOS)
通过更新ARP缓存表,插入一条不存在的MAC地址记录匹配一个目的IP,将会知道该帧数据被丢弃,从而导致主机不能接受到数据包产生拒绝服务攻击效果,它其实是中间人攻击成功以后,中间人离开之后而产生的后中间人攻击效应。

会话劫持
连接劫持(会话劫持)是一种类似中间人攻击的方法,当两台计算机相互连接时,中间人通过ARP欺骗,完成连接劫持。连接劫持一个简单例子是连接劫持者控制一个远程主机登录连接之后,开始进入远程主机,获取相关资料。

题外话

黑客&网络安全如何学习

如果你也对网路安全技术感兴趣,但是又没有合适的学习资源,我可以把私藏的网安学习资料免费共享给你们,来看看有哪些东西。

网上虽然也有很多的学习资源,但基本上都残缺不全的,这是我们和网安大厂360共同研发的的网安视频教程,内容涵盖了入门必备的操作系统、计算机网络和编程语言等初级知识,而且包含了中级的各种渗透技术,并且还有后期的CTF对抗、区块链安全等高阶技术。总共200多节视频,100多本网安电子书,最新学习路线图和工具安装包都有,不用担心学不全。
在这里插入图片描述

🐵这些东西我都可以免费分享给大家,需要的可以点这里自取👉:网安入门到进阶资源

更多推荐