查看完整版本: 浅谈ARP欺骗以及若干解决方法

yaoaijia 2007-5-27 20:35

浅谈ARP欺骗以及若干解决方法

[quote]
[b][font=黑体][size=5][color=red]【前言】[/color][/size][/font][/b]

[color=black]“ARP欺骗”肆虐!清华大学万余台电脑感染病毒,清华大学的校园BBS上,有多名同学抱怨学校宿舍网速太慢,并频频出现掉线现象。引起这种现象的是一种名为“ARP欺骗”的电脑病毒。从4月10日起,已经陆续有100多个宿舍网络端口被封闭,给学生们的正常上网带来了影响。[/color]
[/quote]

[quote]
[size=6][font=黑体][size=5][color=red][b]【什么是ARP】[/b][/color][/size][/font]
[/size][color=black][/color]
[color=black]ARP即“Address Resolution Protocol”(地址解析协议),用于根据1个已知的IP地址查找硬件地址。[/color]
[color=black][/color]
[color=black]它把IP地址翻译成硬件地址(MAC)。MAC地址是48位的二进制码,翻译成16进制后形如:XX-XX-XX-XX-XX-XX。这点与IP地址不同,IP地址本身是32位二进制码,只是每8位翻译成了十进制。

在局域网中,网络中实际传输的是“帧”,帧里面是有目标主机的MAC地址的。在以太网中,一个主机要和另一个主机进行直接通信,必须要知道目标主机的MAC地址。[/color]
[/quote]



[align=left][quote][/align][align=left][size=6][font=黑体][size=5][color=red][b]【什么是ARP欺骗】[/b][/color][/size]
[/font][/size][color=black][/color][/align][align=left][color=black][/color][/align][align=left][color=black][/color][/align][align=left][color=black]第一步:假设我们宿舍4人路由器共享上网,A,B,C,D。[/color][/align]
[table=401][tr][td][align=left][color=black]名   称[/color][/align][/td][td][align=left][color=black]      IP地址[/color][/align][/td][td][align=left][color=black]      MAC地址[/color][/align][/td][/tr][tr][td][align=left][color=black]路由器[/color][/align][/td][td][align=left][color=black]192.168.0.254[/color][/align][/td][td][align=left][color=black]GG-GG-GG-GG-GG-GG[/color][/align][/td][/tr][tr][td][align=left][color=black]计算机A[/color][/align][/td][td][align=left][color=black]192.168.0.1[/color][/align][/td][td][align=left][color=black]AA-AA-AA-AA-AA-AA[/color][/align][/td][/tr][tr][td][align=left][color=black]计算机B[/color][/align][/td][td][align=left][color=black]192.168.0.2[/color][/align][/td][td][align=left][color=black]BB-BB-BB-BB-BB-BB [/color][/align][/td][/tr][tr][td][align=left][color=black]计算机C[/color][/align][/td][td][align=left][color=black]192.168.0.3[/color][/align][/td][td][align=left][color=black]CC-CC-CC-CC-CC-CC [/color][/align][/td][/tr][tr][td][align=left][color=black]计算机D[/color][/align][/td][td][align=left][color=black]192.168.0.4[/color][/align][/td][td][align=left][color=black]DD-DD-DD-DD-DD-DD[/color][/align][/td][/tr][/table]

[align=left]
[color=black]第二步:正常情况下在A计算机上运行ARP -A查询ARP缓存表应该出现如下信息。

Interface: 192.168.0.1 on Interface *****
Internet Address   Physical Address       Type
[color=red]192.168.0.254  GG-GG-GG-GG-GG-GG  dynamic[/color]    [/color][color=green](一般必有)[/color][/align][align=left][color=black]192.168.0.2      BB-BB-BB-BB-BB-BB     dynamic   [color=green](可能有)[/color]
192.168.0.3      CC-CC-CC-CC-CC-CC     dynamic   [/color][color=green](可能有)[/color][/align][align=left][color=black]192.168.0.4      DD-DD-DD-DD-DD-DD  dynamic   [/color][color=green](可能有)[/color][/align]
[align=left]
[color=black]第三步:若计算机B上运行ARP欺骗程序,向A发送ARP欺骗包。[/color][/align][align=left][color=black]
这里举例:B(192.168.0.2)发过来的包内容为【192.168.0.254,BB-BB-BB-BB-BB-BB】,此时,A的ARP缓存第一条(见上面)会被更新为:[color=red]192.168.0.254  BB-BB-BB-BB-BB-BB  dynamic[/color] [/color][color=red]。[/color][/align]
[align=left][color=black]到此为止,ARP欺骗完成。ARP缓存表已经变成了畸形,而此时的A浑然不觉。更糟糕的是,[/color][color=black]要是arp病毒随便改个不存在的MAC,那么A发的信息永远也不可能被传送到外网。[/color][/align]
[align=left][color=black][color=red]一度兴风作浪(现在还是)的P2P终结者或聚生网管就是利用这个原理,控制机发送ARP欺骗包给所有局域网内的受控机,宣称自己是网关(gateway,也可称路由器)。这样的话,其他机子访问外部网络的时候,理所当然会经过网关中转,但是此时他们眼中的网关是控制机而不是真正的路由器(被欺骗了)。
[/color]
OK,所有的数据都得经过控制机,控制机就可以随心所欲的控制任何一台机的数据流速了。

[/quote][/color][/align]

[color=black][quote]
[/color][align=left][size=5][font=黑体][color=red][b]【中招症状】[/b][/color][/font][/size]
[/align][align=left][color=black][/color][/align][align=left][color=black][/color][/align][align=left][color=black][/color][/align][align=left][color=black]ARP欺骗可以造成内部网络的混乱,让某些被欺骗的计算机无法正常访问内外网,让网关无法和客户端正常通信。[/color][b][color=red]如果你的计算机时不时的掉线,或者ping不同网关时就该引起注意了。[/color][/b][/align]
[color=black][/quote]

[quote]
[/color][b][size=5][font=黑体][color=red]【解决方案】[/color][/font][/size]
[/b][color=red][/color]
[size=3][color=red][b]快速且有效:[/b][/color][/size]

[color=black][color=black][b]使用静态ARP绑定法。可以解决已经受ARP攻击的电脑,也可以来防止ARP攻击的侵害。[/b][/color][/color]
[color=black]
前者,假设网关IP为[color=red]192.168.0.254[/color],在运行中输入[/color][url=http://192.168.0.254/][color=red]http://192.168.0.254[/color][/url][color=black]来登录路由器,找到路由器的LAN端MAC地址,假设为GG-GG-GG-GG-GG-GG。[/color]

[color=black]
开始-运行-CMD,进入命令提示符;
[/color][color=black]ARP  -D[/color]    [color=green]//清除ARP缓存,注意中间有空格。[/color]
[color=black]ARP  -S    192.168.0.254    GG-GG-GG-GG-GG-GG[/color]   [color=green] //静态ARP绑定。
[/color]

[color=black]然后用ARP –A查看缓存,发现现在的一个条目跟以前不一样了,现在变static了。如下:[/color]
[color=black]
[color=red]192.168.0.254  GG-GG-GG-GG-GG-GG  static (与前面最大的不同是[color=red]dynamic变static了[/color])
[/color]
静态的好处是发现同一个IP新的ARP缓存时,采取丢弃处理,不更新。这样就抵制了ARP欺骗。当然病毒技术发达,他们可以很轻松地把static该为dynamic  ,继续作孽。
[/color]
[b][color=black]这里我找到了一个较好的动态解决方案:[/color][/b]

[color=black]用VBScript脚本实现,每N秒钟自动刷新一遍ARP缓存,脚本名可以为ARP.VBS。




[/color][table=481][tr][td][align=left][color=black]set Ws = WScript.CreateObject("WScript.Shell")
     count=0 [/color][/align][align=left]
[color=black]for each ps in getobject("winmgmts:\\.\root\cimv2:win32_process").instances_
     if ps.name="wscript.exe" then count=count+1
         next
     if count > 2 then wscript.quit
         i=1[/color][/align][align=left]
[color=black]for i = 1 to 3 '3为绑定的次数
     i=i-1 '永远也不会是3,所以一直循环
     WScript.Sleep(1000*60*0.1) '每0.1分钟绑定一次
     ws.run "arp -d",0
     ws.run "arp -s 192.168.0.254  GG-GG-GG-GG-GG-GG",0
     next[/color][/align][/td][/tr][/table]

[color=black]当然,为了简单一点,也可以建立个批处理文件,如ARP.BAT。

[/color][table=481][tr][td][align=left][color=black]@echo off
arp -d[/color][/align][align=left][color=black]arp -s 192.168.0.254  GG-GG-GG-GG-GG-GG[/color][/align][/td][/tr][/table]

[color=black]然后把ARP.VBS或ARP.BAT放到“开始-启动”中即可。专业版的用户也可以用组策略来加载,运行-gpedit.msc,计算机配置-脚本(启动/关机),在启动中添加刚才的脚本,参数空,就OK老。

[/color][color=red][size=3][b]完全:[/b][/size]
[/color]
[color=black]跟普通的病毒查杀一样,参考病毒查杀教材。或者把使用ARP欺骗软件(p2p终结者等)的人狂欧一顿,^_^。

防火墙防范:使用ARP防火墙 AntiARP 4.1.1(最新个人版),可以监测ARP欺骗行为,主动抑制等。
下载地址:[/color][url=http://www.antiarp.com/][color=black]www.antiarp.com[/color][/url]

[color=black][/quote][/color]

fenglove2008 2007-5-27 21:34

这个欺骗欺负过不少网站,上次绿盟好像也是这样中招的!被欺骗了,原因是局域网的主机被黑!

zry22 2007-5-29 16:41

大家可以绑不定MAC地址。或者下载ARP专杀;

wlcol 2007-5-30 09:29

总能看到这中情况,自己也解决不少.
楼主能将它写出来,辛苦了!

赵高 2007-5-30 12:03

下载ARP专杀也许是唯一的方法。

hefan 2007-6-1 21:54

en 上次我就被攻击了!!!:mad: :mad: 后来找"Antiarp"这款软件!!!软件挺易上手的 很容易就解决了!!!

彭建安 2007-6-20 07:30

首先申明:本段章摘自〈网管员世界论坛〉

临时处理对策:
  步骤一. 在能上网时,进入MS-DOS窗口,输入命令:arp –a 查看网关IP对应的正确MAC地址,将其记录下来。
      注:如果已经不能上网,则先运行一次命令arp –d将arp缓存中的内容删空,计算机可暂时恢复上网(攻击如果不停止的话),一旦能上网就立即将网络断掉(禁用网卡或拔掉网线),再运行arp –a。

步骤二. 如果已经有网关的正确MAC地址,在不能上网时,手工将网关IP和正确MAC绑定,可确保计算机不再被攻击影响。手工绑定可在MS-DOS窗口下运行以下命令: arp –s 网关IP 网关MAC

例如:假设计算机所处网段的网关为218.197.192.254,本机地址为218.197.192.1在计算机上运行arp –a后输出如下:

C:\Documents and Settings>arp -a
Interface: 218.197.192.1 --- 0x2
Internet Address Physical Address Type
218.197.192.254 00-01-02-03-04-05 dynamic

其中00-01-02-03-04-05就是网关218.197.192.254对应的MAC地址,类型是动态(dynamic)的,因此是可被改变。
被攻击后,再用该命令查看,就会发现该MAC已经被替换成攻击机器的MAC,如果大家希望能找出攻击机器,彻底根除攻击,可以在此时将该MAC记录下来,为以后查找做准备。

手工绑定的命令为:
arp –s 218.197.192.254 00-01-02-03-04-05

绑定完,可再用arp –a查看arp缓存,
C:\Documents and Settings>arp -a
Interface: 218.197.192.1 --- 0x2
Internet Address Physical Address Type
218.197.192.254 00-01-02-03-04-05 static

这时,类型变为静态(static),就不会再受攻击影响了。但是,需要说明的是,手工绑定在计算机关机重开机后就会失效,需要再绑定。所以,要彻底根除攻击,只有找出网段内被病毒感染的计算机,令其杀毒,方可解决。找出病毒计算机的方法:

myname1994 2007-6-20 09:26

嗯.现在得看看了.呵呵.

kof98 2007-6-20 10:23

这种病毒困扰我很久了,现在只能装个防火墙来预防下

wawf 2007-6-20 18:10

对于这种病毒只能靠用防火墙防范了!
但是局域网内的病毒源没有清除就没有治本!

浩瀚 2007-6-20 18:37

关键是我无法登陆路由
无法找到网关地址

enter 2007-6-21 13:06

这个问题是蛮普遍的了!

fenglinghe 2007-6-26 16:37

最近就受这种事的干扰,烦啊,还好在网上可以down下楼主介绍的工具用,不错啊

bobbyyes 2007-6-26 18:05

这个病毒在有VLAN的公司内好像发作不起来啊。

yaoaijia 2007-6-29 04:08

回复 #14 bobbyyes 的帖子

vlan的好处多多啊。

matoid 2007-6-29 10:10

现在公司里就是受ARP攻击,接上网线的机器都没问题,可用AP的机器都存在问题

shadow810310 2007-9-6 11:30

我也饱受其害。。公司前期arp猖獗。。后经一系列手段,得到控制。。无奈。。。但偶尔还是会有发生。

bin3033 2008-2-26 10:22

同样啊,我们的局域网也受到攻击了

big_white 2008-2-28 22:35

呵呵,昨天刚解决掉这个困扰了我几天的问题

jiandan603 2008-2-29 12:53

学习一下了!

jsyxsp 2008-3-5 09:28

学习中  以后用到要好好的试试

thomashan 2008-3-21 10:05

非常感谢,受教了

wanghanbin 2008-4-2 15:24

好,眼睛都看花了,因为是我需要的。感谢楼主分享,尤其是.bat文件。呵呵

wyyky 2008-4-19 22:01

本人新手,想问下:可不可以批量绑定 IP MAC地址?

jevipxb268 2008-4-24 21:58

辛苦了!

魅影封城 2008-4-25 09:45

,学习一下! :lol:

yebei666 2008-4-30 10:39

看了这篇文章得到的最大的好处就是知道了P2P终结者的工作原理,再次谢谢

amdahl 2008-5-5 23:02

学习了!!
深受聚生网管其害,试试能不能反一反!

过路人 2008-6-26 09:41

平时应该做好IP对应表,到时才可以快速找到.

QQ_119072 2008-7-2 21:53

你就算举例也不要拿个GGGG-GGGG-GGGG的MAC吧?别误导别人好吧!
DHCP-Snooping和DAI都可以解决
页: [1]
查看完整版本: 浅谈ARP欺骗以及若干解决方法