下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922

详解ARP欺骗攻击和防御

作者:课课家教育     来源: http://www.kokojia.com点击数:1452发布时间: 2018-01-18 15:00:32

标签: ARP欺骗网络管理安全通信

软考,您想通过吗?一次通过才是硬道理

  上网时断时续,有时甚至提示连接受限、根本无法获得IP,交换机无法ping通,而指示灯状态正常,重启交换机后客户机可以上网,但很快又涛声依旧!严重影响了用户使用,甚至给用户造成了直接经济损失。根据描述,电脑很可能遭受ARP个攻击啦。那么至于什么是ARP欺骗,我们下面一起来看看。
  一、ARP欺骗
  ARP (Address Resolution Protocol)是地址解析协议,是一种将IP地址转化成物理地址的协议。一些攻击者通过利用ARP欺骗技术实现对数据的截取和侦听。ARP协议用于IP地址将MAC地址的转换,此映射关系存储在ARP缓存表中,如ARP缓存表被他人修改,则会导致发送给正确主机的数据包发送给另外一台由攻击者控制的主机。ARP欺骗(ARP spoofing),也叫ARP毒药(ARP poison),即可完成这些功能。

详解ARP欺骗攻击和防御_ARP欺骗_网络管理_安全_通信_课课家教育
  假设攻击者和目标主机在同一个局域网中,并且想要截获和侦听目标主机到网关间的所有数据。当然,对于使用集线器的局域网环境,攻击者只需要把网卡设置为混杂模式即可。但是现在的局域网都是交换机了,不仅可以提高局域网的容量,而且可以提高安全性。在这种情况下,攻击者首先会试探交换机是否存在失败保护模式(fail-safe mode),是交换机所处的特殊模式状态。交换机维护IP地址和MAC地址的映射关系时会花费一定处理能力,当网络通信时出现大量虚假MAC地址时,某些类型的交换机会出现过载情况,从而转换到失败保护模式。若交换机不存在失败保护模式,则需要使用ARP欺骗技术。
  攻击者主机需要两块网卡,IP地址分别是192.168.0.5和192.168.0.6,插入交换机的两个端口,准备截获和侦听目标主机192.168.0.3和路由器192.168.0.1之间的所有通信。另外攻击者主机还需要有IP数据包转发功能,此项功能在linux下只需要执行命令echo 1> /proc/sys/net/ipv4/ip_forward就可以。以192.168.0.4的网络通信为例,正常的ARP转换如下:
  1.主机A192.168.0.4想要与路由器192.168.0.1通信,从而接入Internet。
  2.主机A以广播的方式发送ARP请求,希望得到路由器的MAC。
  3.交换机收到ARP请求,并把此请求发送给连接到交换机的各个主机。同时,交换机将更新它的MAC地址和端口之间的映射表,即将192.168.0.4绑定它所连接的端口。
  4.路由器收到A的ARP请求后,发出带有自身MAC地址的ARP响应。
  5.路由器更新ARP缓存表,绑定A的IP地址和MAC地址。
  6.交换机收到了路由器对A的ARP响应后,查找它的MAC地址和端口之间的映射表,把此ARP响应数据包发送到相应的端口。同时,交换机更新它的MAC地址和端口之间的影射表,即将192.168.0.1绑定它所连接的端口。
  7.主机A收到ARP响应数据包,更新ARP缓存表,绑定路由器的IP地址和MAC地址。
  8.主机A使用更新后的MAC地址信息把数据发送给路由器,通信通道就此建立。
  ARP欺骗需要攻击者迅速地诱使目标主机192.168.0.3和路由器192.168.0.1都和它建立通信,从而使自己成为中间人MiM(Man in Middle)。换句话说,攻击者的主机此时相当于一个被攻击者完全控制的路由器,目标主机和路由器之间的所有数据通信都要由攻击者主机转发,攻击者也就能对数据作各种处理。要达到同时欺骗目标主机和路由器的目的,攻击者应打开两个命令界面,执行两次ARP欺骗:一次诱使目标主机认为攻击者的主机有路由器的MAC地址,这可以利用IP地址欺骗技术,伪造路由器的IP地址,从攻击者主机的一块网卡上发送给目标主机ARP请求包,则错误的MAC地址和IP地址的映射将更新到目标主机;另一次使路由器相信攻击者的主机具有目标主机的MAC地址,方法和前面相似。
  二、WRP欺骗的特征
  ARP欺骗的特征就是本机网关对应的地址信息被欺骗,原来正确的地址被非法欺骗者篡改,非法欺骗者自己充当网关来达到ARP欺骗的目的。在有问题计算机上通过arp -a查询ARP缓存表会发现网关IP地址对应的MAC地址和正常时不同,正确的网关MAC地址被篡改。
  总的来说网关MAC地址与正常地址不同是ARP欺骗的最大特征,一旦确认此点就可以断定内网中存在ARP欺骗病毒。
  三、找到ARP欺骗主机
  1.我们可以利用ARPkiller的"Sniffer杀手"扫描整个局域网IP段,然后查找处在"混杂"模式下的计算机,就可以发现对方了.检测完成后,如果相应的IP是绿帽子图标,说明这个IP处于正常模式,如果是红帽子则说明该网卡处于混杂模式。它就是我们的目标,就是这个家伙在用网络执法官在捣乱。
  2.使用tracert命令在任意一台受影响的主机上,在DOS命令窗口下运行如下命令:tracert61.135.179.148。假定设置的缺省网关为10.8.6.1,在跟踪一个外网地址时,第一跳却是10.8.6.186,那么,10.8.6.186就是病毒源。原理:中毒主机在受影响主机和网关之间,扮演了“中间人”的角色。所有本应该到达网关的数据包,由于错误的MAC地址,均被发到了中毒主机。此时,中毒主机越俎代庖,起了缺省网关的作用。
  四、ARP欺骗的防范:
  中毒的网络,就会一直有发送arp病毒包的,这些arp病毒包会误导你的机器对网关mac地址的解析。所以需要绑定mac地址。两种方法:
  1.列出局域网内所有机器的MAC地址。
  # arpAddress HWtype HWaddress Flags Mask Iface
  192.168.1.1 ether 00:07:E9:2A:6F:C6,然后,绑定MAC地址, #arp -s 192.168.1.1 00:07:E9:2A:6F:C6
  注意:假如用户的网关设置了hostname的话,这里192.168.1.1就有可能需要换成hostname。
  2.创建一个/etc/ethers文件,比如你要绑定网关,那就在/etc/ethers里写上:192.168.1.1 00:07:E9:2A:6F:C6,然后执行 #arp -f ,每次重启机器后需要重新绑定MAC地址。
  另外,mac地址的绑定需要双向的,即机器a绑定了机器b,机器b也要绑定机器a,这样arp病毒才会被彻底挡住。
  并不是所有的内网上网故障都是由ARP欺骗病毒引起的,很多网络管理人员动不动就拿ARP欺骗病毒说事,希望本文可以帮助网管快速定位故障,不要以为ARP欺骗病毒是内网故障的缔造者,要知道其他病毒,黑客入侵,驱动故障等问题也会造成内网上网故障,希望各位管理人员不要反复从ARP欺骗下手解决所有故障问题,那样只会走弯路,在故障排除时我们还是要保持一份平常冷静的心。

赞(30)
踩(0)
分享到:
推荐查看
华为认证网络工程师 HCIE直播课视频教程