迅维网

查看: 17997|回复: 80
打印 上一主题 下一主题

[原创]ARP攻击与防范初探

    [复制链接]
跳转到指定楼层
1#
发表于 2009-4-29 12:35:25 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式 来自: 重庆 来自 重庆

马上注册,获取阅读精华内容及下载权限

您需要 登录 才可以下载或查看,没有帐号?注册

x
这是我以前写的ARP的抓包分析的文章,开新版了转过来,给喜欢专研网络协议的朋友。

日期:2006-05-28  作者:余振中

  内网(局域网)里经常发生盗用IP、MAC地址,甚至用ARP攻击工具干扰局域网正常运行的情况。例如在网吧里由于资金有限都用普通交换机(非网管交换机),这就给利用ARP协议缺陷对局域网进行攻击创造了条件。最常见的攻击就是冒充网关发送“虚假广播包”,这可以造成受害者无规律的“断网”,或使受害者误认为攻击者是网关而将数据包发给攻击者(即APR欺骗)。有很多木马就用这种方式盗取游戏“帐号”、或其他敏感资料。本文从ARP协议层分析了常见的ARP攻击,并对防范该攻击的方法进行了初步探讨。

一、常用攻击方法分析

  1、用伪造源MAC地址发送ARP请求包,造成IP地址冲突或系统崩溃
  网卡驱动程序发送以太帧时不检查源MAC地址是否和网卡EEPOROM里的MAC地址相同。因此,攻击者可以修改系统的MAC地址,还可以发送伪造源MAC地址的ARP包,使跟踪者无法利用源MAC地址找到攻击者。
  (注:有些网卡可用程序烧录EEPOROM,修改MAC地址。如一些RTL8139网卡)
  用winarp1.50分别对Win98和WinXP进行ARP Flood攻击测试,Win98立即崩溃重启,另一台WinXP(2G 512MB)在2分钟以后停止响应,停止攻击1分钟后系统逐渐恢复正常。
  通过对winarp1.50、局域网终结者1.0等抓包观察,发现都是向网络发送以下格式的ARP请求包(广播包)进行攻击的。


图1

  该包对192.168.0.1的主机进行IP地址冲突攻击,目标主机收到后即弹出“IP地址冲突”对话框,当包发送量达到一定数值后会使目标崩溃或停止响应。
  其中,局域网终结者1.0伪造的源地址MAC以0006开头,winarp1.50是010101010101。有篇文章介绍只要将被攻击主机的MAC地址改为伪造的源MAC地址即可避开攻击,如果这样做了,那整个网段主机的MAC地址就都是相同的了!

  2、用伪造源MAC地址发送ARP响应包,对ARP高速缓存机制的攻击
  每个主机都用一个A R P高速缓存存放最近IP地址到MAC硬件地址之间的映射记录。高速缓存中的每一条记录(条目)的生存时间一般为20分钟,起始时间从被创建时开始算起。
  默认情况下,ARP从缓存中读取IP-MAC条目,缓存中的IP-MAC条目是根据ARP响应包动态变化的。因此,只要网络上有ARP响应包发送到本机,即会更新ARP高速缓存中的IP-MAC条目。
  因此,攻击者只要持续不断的发出伪造的arp响应包就能更改目标主机ARP缓存中的IP-MAC条目,造成网络中断或中间人攻击。
  用Sniffer Pro对网络执法官抓包可发现其阻断a、b两台主机网络通信的方法是:不断向a 、b两台主机发送伪造源地址的虚假的响应包,从而使a、 b主机arp高速缓存中对应与的IP-MAC条目改变(将原来正确的MAC地址改为不存在的MAC地址),致使两台主机无法通信。
  下面是网络执法官冒充a主机向b主机发送伪造的ARP响应包,它使b主机的ARP缓存由正确的192.168.0.1 00e04cf28001修改为错误的192.168.0.1 00e04cf28090条目,致使b主机无法和a主机通信。

a、b主机的真实地址:  a= 192.168.0.1 00e04cf28001       b=192.168.0.2  00e01890e2d3


图2

  同时网络执法官还冒充b主机向a主机发送伪造的ARP响应包,使a、b两个主机中都保存了对方错误(伪造)的ARP条目。通过观察发现网络执法官伪造的源地址和真实MAC地址十分接近,它只修改了后面三个字节。
  网络执法官为了“管理”网络,有规律的发出ARP请求包来询问网络上存活的主机或从应答中找出是否有主机不匹配先前的IP-MAC。因此,我们可以从这些请求包的源MAC地址(大量的源MAC地址相同,目的IP为本网段)来定位安装了网络执法官的机器,以避免滥用。

二、防范

  1、使用静态ARP缓存(应急办法)
  用arp -s命令在各主机上绑定网关的IP和MAC地址,同时在网关上绑定各主机的IP和MAC地址的方法。
  如果是WIN主机可编写一个批处理文件rarp.bat内容如下:(其中192.168.16.254 00-22-aa-00-22-aa是网关的IP和MAC地址)
  @echo off
  arp -d
  arp -s 192.168.16.254 00-22-aa-00-22-aa
  将文件中的网关IP地址和MAC地址更改为您自己的网关IP地址和MAC地址即可。
  将这个批处理软件拖到“windows--开始--程序--启动”中。

arp 命令简介:
  arp –a :显示ARP高速缓存中所有的内容
  arp –d [IP地址 MAC地址]:删除指定的IP-MAC条目,若不指定就清空ARP高速缓存
  arp –s [IP地址 MAC地址] :手工设置IP-MAC静态条目
  (注:在不同的系统中,手工设置的arp静态条目是有区别的。在linux和win2000中,静态条目不会因为伪造的arp响应包而改变,而动态条目会改变。而在win98中,手工设置的静态条目会因为收到伪造的arp响应包而改变。)
  使用静态ARP缓存增大了网络维护量,在较大的网络或经常移动主机的网络中这样做更为困难。使用静态ARP缓存只能防止ARP欺骗,对IP地址冲突、Flood攻击仍然没有办法阻止,因此不推荐这样做。

  2、用可防ARP攻击的交换机(彻底防治,推荐)
  使用三层交换机,绑定端口-MAC-IP,限制ARP流量,及时发现并自动阻断ARP攻击端口,合理划分VLAN,彻底阻止盗用IP、MAC地址,杜绝ARP的攻击。

点评

同意楼主: 5.0
同意楼主: 5
  发表于 2014-5-10 17:31
同意楼主: 5
  发表于 2012-5-30 23:35

评分

参与人数 1下载分 +10 威望 +1 收起 理由
新诚达 + 10 + 1 不错分析的很好

查看全部评分

本文由 会员698 原创或被授权转载制作,其他机构或个人未经许可严禁转载。
2#
发表于 2009-4-29 13:51:21 | 只看该作者 来自: 重庆 来自 重庆
现在的防范,一般只有做双向绑定。。。
----------------------------------------
绑定端口-MAC-IP 就可根本杜绝,但人力太大。目前一些智能交换机具备自动识别、划分VLAN、限制ARP流量等手段,也能杜绝和立即发现搞破坏的机器。但一般的网吧等小单位都舍不得多花1-2千元买这样的交换机。其实从长远、从网络的稳定、可靠性来说,配置这种交换机是很必要和经济的。

点评

同意楼主: 4.5
同意楼主: 5
  发表于 2012-5-30 23:35
同意楼主: 4
同意,不过要是配置交换机的话,特别是三层交换机来讲,价格上会比较昂贵,当然还要看我们这个网络需不需要做一些比较重要的网络传输等。如若不需要,也确实没必要花钱在上面。  发表于 2011-9-24 22:36
现在的ARP防火墙很多,360安全卫士自带一个还行,用防火墙还是很不错的,  发表于 2010-7-12 23:20
回复 支持 反对

使用道具 举报

3#
发表于 2009-4-29 17:06:02 | 只看该作者 来自: 广东肇庆 来自 广东肇庆
技防是一种手段,关键是人防,要下面的使用人要养成好习惯,久不久就查下木马,病毒的,打下补丁,还要选对杀毒软件,杀毒软件不是不爱国货,是怕了。
管理员不轻松啊。

回复 支持 反对

使用道具 举报

4#
发表于 2009-5-8 20:46:45 | 只看该作者 来自: 重庆 来自 重庆
技防是一种手段,关键是人防,要下面的使用人要养成好习惯,久不久就查下木马,病毒的,打下补丁,还要选对杀毒软件,杀毒软件不是不爱国货,是怕了。
管理员不轻松啊。
维修打杂 发表于 2009-4-29 17:06

不知道你到底看过ARP协议没?
不管是病毒还是人为的都是利用ARP协议中:不检查发包的源MAC地址是否真实,来做手脚。
现在售价1-2K的百兆交换机各端口都有检查ARP包中的MAC地址的功能,还有ARP发包率限制等功能(乱发ARP包的端口被自动阻断并报警)。完全能杜绝所谓的伪造源MAC地址的ARP包的攻击。

只是这种方法较费人工,但基本是属于一劳永逸的工作,从长远看是值得的,并且现在在某些有安全要求的部门规定:必须使用端口+MAC绑定入网的。

回复 支持 反对

使用道具 举报

5#
发表于 2010-1-4 09:34:26 | 只看该作者 来自: 河北承德 来自 河北承德
本帖最后由 localdisk 于 2010-1-4 09:35 编辑

补充一下,其实arp攻击不仅仅是针对上网计算机的,而且还有路由器,所以要从两个方面来解决问题,第一,上面针对上网计算机的楼主说的很清楚,解决方法很合理,比如静态arp捆绑就是一种很有效的方法,而且不附加任何软件,是一种很不错的临时解决方案.除此还有安装arp防火墙的方法,比如360的就不错,不知道大家试过没有,要从硬件上解决的话就必须采用有vlan功能的交换机,其实这种交换机也不贵,也不一定非要三层的,只需要它支持vlan就行,使用它的这个功能做下端口隔离,就可以解决计算机这一方的问题,也有一种端口隔离交换机就可以实现这种功能,好象是tp-link的.第二,在路由器方面,必须有ip-mac地址绑定功能,做下捆绑是必须的,而且现在支持ip-mac绑定的路由器捆绑起来非常简单,从这两个方面就可以防止arp的攻击,应该非常有效.但只从一个方面来做,是起不到arp攻击防范做用的,或者说只起到一半的作用.

点评

同意楼主: 5.0
同意楼主: 5
  发表于 2012-5-30 23:36

评分

参与人数 1下载分 +6 收起 理由
yzz163 + 6

查看全部评分

回复 支持 反对

使用道具 举报

6#
发表于 2010-1-4 13:45:32 | 只看该作者 来自: 重庆 来自 重庆
这个帖是好几年前写的了。对于防范ARP攻击的讨论已经早有了共识:1、隔离 2、断网。

我不认同用 arp防火墙 之类的东西。如果你的网里有人搞ARP攻击,最有效的方法是:断开他的网络,并交给相关部门处理。
WIN机器“容忍性不强”,我管理的网络里也无法容忍有 ARP欺骗。因为容忍了它的存在,就是在容忍网络的不稳定,用户受不了,这是不合格的 “网络管理员”。

回复 支持 反对

使用道具 举报

7#
发表于 2010-6-5 23:22:09 | 只看该作者 来自: 湖南长沙 来自 湖南长沙
在路由和本机同时使用mac绑定ip ,就可以避免arp攻击。

回复 支持 反对

使用道具 举报

8#
发表于 2010-6-9 10:13:13 | 只看该作者 来自: 河北衡水 来自 河北衡水
我 的局域网就是把MAC和IP绑定在一起了.

回复 支持 反对

使用道具 举报

9#
发表于 2010-6-22 20:26:28 | 只看该作者 来自: 安徽铜陵 来自 安徽铜陵
一般都用拔线大法来判断。比如60台机子 3个普通交换机,一个个交换机断,,再几台机子断。。。直到找到那个鬼

评分

参与人数 1下载分 +10 收起 理由
yzz163 + 10 这也是十分奏效的办法。

查看全部评分

回复 支持 反对

使用道具 举报

10#
发表于 2010-7-21 17:34:19 | 只看该作者 来自: 江苏苏州 来自 江苏苏州
没想到华硕工程师对网络也有造诣,我以前也是学网络的,学的是思科

回复 支持 反对

使用道具 举报

11#
发表于 2010-7-21 17:46:27 | 只看该作者 来自: 江苏苏州 来自 江苏苏州
本帖最后由 许冠杰 于 2010-7-21 17:47 编辑

sniffer pro 对于ip 和mac 地址都是仿冒的病毒主机,也基本是无能为力,sniffer pro 是用于大型企业网,小网络根本就是无用的!现在都是交换网络,普通交换机无镜像端口,抓到的包也是不全的!只能用arp欺骗交换机才能抓全包,基地里也没几个有这个能力的!还是一台台连最保险!在有比较差劲的网络设备的网络环境下,遇到arp攻击只有在主机上装arp防火墙,并在路由器上绑定所有机器的mac ip,没有别的好办法

回复 支持 反对

使用道具 举报

12#
发表于 2010-11-22 14:35:49 | 只看该作者 来自: 浙江金华 来自 浙江金华
回复 yzz163 的帖子

同意你的观点...现在 的 政府机关等 还有大型国企,大型私企都是使用端口+mac绑定入网的。对对那些在这些单位做维护的要减少很多麻烦.....

点评

端口+mac,工作量太大,以后维护也麻烦!  发表于 2013-11-10 20:58
比较彻底、安全的方法就是在交换机上:端口+mac绑定。虽然工作量大点。  发表于 2011-5-9 22:06
回复 支持 反对

使用道具 举报

13#
发表于 2010-12-14 16:15:54 | 只看该作者 来自: 天津河西区 来自 天津河西区
在路由和本机同时使用mac绑定ip ,就可以避免arp攻击

回复 支持 反对

使用道具 举报

14#
发表于 2011-1-21 10:53:35 | 只看该作者 来自: 山东青岛 来自 山东青岛
MAC-IP-端口绑定,才能从根本上解决

回复 支持 反对

使用道具 举报

15#
发表于 2011-3-11 11:46:46 | 只看该作者 来自: 广东广州 来自 广东广州
最简单,不就是,把物理地址和ip地址绑定

回复 支持 反对

使用道具 举报

16#
发表于 2011-3-29 12:50:26 | 只看该作者 来自: 山东东营 来自 山东东营
用可防ARP攻击的交换机
带这种功能的,恐怕也只有三层交换机了吧。

点评

错误.3层是网络层了.  发表于 2011-5-9 22:03
回复 支持 反对

使用道具 举报

17#
发表于 2011-4-9 19:22:16 | 只看该作者 来自: 北京海淀 来自 北京海淀
还是双绑比较容易解决问题。这样是最安全的了。

回复 支持 反对

使用道具 举报

18#
匿名  发表于 1970-1-1 08:00:00 来自
post_deleted

19#
发表于 2011-5-28 23:39:28 | 只看该作者 来自: 江苏无锡 来自 江苏无锡
使用端口+MAC绑定入网
这个好!

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表
附近
店铺
微信扫码查看附近店铺
维修
报价
扫码查看手机版报价
信号元
件查询
点位图 AI维修
助手



芯片搜索

快速回复