博客网 >

ARP攻击的原理与解决方法(第三版)含如何在局域网内查找病毒主机

【故障原因】

  局域网内有人使用ARP欺骗的木马程序(比如:魔兽世界,天堂,劲舞团等盗号的软件,某些外挂中也被恶意加载了此程序)。

【故障原理】

  要了解故障原理,我们先来了解一下ARP协议。

  在局域网中,通过ARP协议来完成IP地址转换为第二层物理地址(即MAC地址)的。ARP协议对网络安全具有重要的意义。通过伪造IP地址和MAC地址实现ARP欺骗,能够在网络中产生大量的ARP通信量使网络阻塞。

  ARP协议是“Address Resolution Protocol”(地址解析协议)的缩写。在局域网中,网络中实际传输的是“帧”,帧里面是有目标主机的MAC地址的。在以太网中,一个主机要和另一个主机进行直接通信,必须要知道目标主机的MAC地址。但这个目标MAC地址是如何获得的呢?它就是通过地址解析协议获得的。所谓“地址解析”就是主机在发送帧前将目标IP地址转换成目标MAC地址的过程。ARP协议的基本功能就是通过目标设备的IP地址,查询目标设备的MAC地址,以保证通信的顺利进行。

  每台安装有TCP/IP协议的电脑里都有一个ARP缓存表,表里的IP地址与MAC地址是一一对应的,如下所示。

主机             IP地址              MAC地址

A             192.168.16.1    aa-aa-aa-aa-aa-aa

B             192.168.16.2    bb-bb-bb-bb-bb-bb

C             192.168.16.3    cc-cc-cc-cc-cc-cc

D             192.168.16.4    dd-dd-dd-dd-dd-dd

  我们以主机A(192.168.16.1)向主机B(192.168.16.2)发送数据为例。当发送数据时,主机A会在自己的ARP缓存表中寻找是否有目标IP地址。如果找到了,也就知道了目标MAC地址,直接把目标MAC地址写入帧里面发送就可以了;如果在ARP缓存表中没有找到相对应的IP地址,主机A就会在网络上发送一个广播,目标MAC地址是“FF.FF.FF.FF.FF.FF”,这表示向同一网段内的所有主机发出这样的询问:“192.168.16.2的MAC地址是什么?”网络上其他主机并不响应ARP询问,只有主机B接收到这个帧时,才向主机A做出这样的回应:“192.168.16.2的MAC地址是bb-bb-bb-bb-bb-bb”。这样,主机A就知道了主机B的MAC地址,它就可以向主机B发送信息了。同时它还更新了自己的ARP缓存表,下次再向主机B发送信息时,直接从ARP缓存表里查找就可以了。ARP缓存表采用了老化机制,在一段时间内如果表中的某一行没有使用,就会被删除,这样可以大大减少ARP缓存表的长度,加快查询速度。

  从上面可以看出,ARP协议的基础就是信任局域网内所有的人,那么就很容易实现在以太网上的ARP欺骗。对目标A进行欺骗,A去Ping主机C却发送到了DD-DD-DD-DD-DD-DD这个地址上。如果进行欺骗的时候,把C的MAC地址骗为DD-DD-DD-DD-DD-DD,于是A发送到C上的数据包都变成发送给D的了。这不正好是D能够接收到A发送的数据包了么,嗅探成功。

  A对这个变化一点都没有意识到,但是接下来的事情就让A产生了怀疑。因为A和C连接不上了。D对接收到A发送给C的数据包可没有转交给C。

  做“man in the middle”,进行ARP重定向。打开D的IP转发功能,A发送过来的数据包,转发给C,好比一个路由器一样。不过,假如D发送ICMP重定向的话就中断了整个计划。

  D直接进行整个包的修改转发,捕获到A发送给C的数据包,全部进行修改后再转发给C,而C接收到的数据包完全认为是从A发送来的。不过,C发送的数据包又直接传递给A,倘若再次进行对C的ARP欺骗。现在D就完全成为A与C的中间桥梁了,对于A和C之间的通讯就可以了如指掌了。

【故障现象】

  当局域网内某台主机运行ARP欺骗的木马程序时,会欺骗局域网内所有主机和路由器,让所有上网的流量必须经过病毒主机。其他用户原来直接通过路由器上网现在转由通过病毒主机上网,切换的时候用户会断一次线。

  切换到病毒主机上网后,如果用户已经登陆了服务器,那么病毒主机就会经常伪造断线的假像,那么用户就得重新登录服务器,这样病毒主机就可以盗号了。

  由于ARP欺骗的木马程序发作的时候会发出大量的数据包导致局域网通讯拥塞以及其自身处理能力的限制,用户会感觉上网速度越来越慢。当ARP欺骗的木马程序停止运行时,用户会恢复从路由器上网,切换过程中用户会再断一次线。

【HiPER用户快速发现ARP欺骗木马】

  在路由器的“系统历史记录”中看到大量如下的信息(440以后的路由器软件版本中才有此提示):

   MAC Chged 10.128.103.124

   MAC Old 00:01:6c:36:d1:7f

   MAC New 00:05:5d:60:c7:18

  这个消息代表了用户的MAC地址发生了变化,在ARP欺骗木马开始运行的时候,局域网所有主机的MAC地址更新为病毒主机的MAC地址(即所有信息的MAC New地址都一致为病毒主机的MAC地址),同时在路由器的“用户统计”中看到所有用户的MAC地址信息都一样。

   如果是在路由器的“系统历史记录”中看到大量MAC Old地址都一致,则说明局域网内曾经出现过ARP欺骗(ARP欺骗的木马程序停止运行时,主机在路由器上恢复其真实的MAC地址)。

【在局域网内查找病毒主机】

  在上面我们已经知道了使用ARP欺骗木马的主机的MAC地址,那么我们就可以使用NBTSCAN工具来快速查找它。

  NBTSCAN可以取到PC的真实IP地址和MAC地址,如果有”ARP攻击”在做怪,可以找到装有ARP攻击的PC的IP/和MAC地址。

  命令:“nbtscan -r 192.168.16.0/24”(搜索整个192.168.16.0/24网段, 即192.168.16.1-192.168.16.254);或“nbtscan 192.168.16.25-137”搜索192.168.16.25-137 网段,即192.168.16.25-192.168.16.137。输出结果第一列是IP地址,最后一列是MAC地址。

  NBTSCAN的使用范例:

  假设查找一台MAC地址为“000d870d585f”的病毒主机。

  1)将压缩包中的nbtscan.exe 和cygwin1.dll解压缩放到c:下。

  2)在Windows开始—运行—打开,输入cmd(windows98输入“command”),在出现的DOS窗口中输入:C: btscan -r 192.168.16.1/24(这里需要根据用户实际网段输入),回车。

  3)通过查询IP--MAC对应表,查出“000d870d585f”的病毒主机的IP地址为“192.168.16.223”。

【解决思路】

  1、不要把你的网络安全信任关系建立在IP基础上或MAC基础上,(rarp同样存在欺骗的问题),理想的关系应该建立在IP MAC基础上。

  2、设置静态的MAC-->IP对应表,不要让主机刷新你设定好的转换表。

  3、除非很有必要,否则停止使用ARP,将ARP做为永久条目保存在对应表中。

  4、使用ARP服务器。通过该服务器查找自己的ARP转换表来响应其他机器的ARP广播。确保这台ARP服务器不被黑。

  5、使用"proxy"代理IP的传输。

  6、使用硬件屏蔽主机。设置好你的路由,确保IP地址能到达合法的路径。(静态配置路由ARP条目),注意,使用交换集线器和网桥无法阻止ARP欺骗。

  7、管理员定期用响应的IP包中获得一个rarp请求,然后检查ARP响应的真实性。

  8、管理员定期轮询,检查主机上的ARP缓存。

  9、使用防火墙连续监控网络。注意有使用SNMP的情况下,ARP的欺骗有可能导致陷阱包丢失。

【HiPER用户的解决方案】

  建议用户采用双向绑定的方法解决并且防止ARP欺骗。

  1、在PC上绑定路由器的IP和MAC地址:

  1)首先,获得路由器的内网的MAC地址(例如HiPER网关地址192.168.16.254的MAC地址为0022aa0022aa)。

  2)编写一个批处理文件rarp.bat内容如下:

  @echo off

   arp -d

   arp -s 192.168.16.254 00-22-aa-00-22-aa

  将文件中的网关IP地址和MAC地址更改为您自己的网关IP地址和MAC地址即可。

  将这个批处理软件拖到“windows--开始--程序--启动”中。

  3)如果是网吧,可以利用收费软件服务端程序(pubwin或者万象都可以)发送批处理文件rarp.bat到所有客户机的启动目录。Windows2000的默认启动目录为“C:\Documents and SettingsAll Users「开始」菜单程序启动”。

  2、在路由器上绑定用户主机的IP和MAC地址(440以后的路由器软件版本支持):

  在HiPER管理界面--高级配置--用户管理中将局域网每台主机均作绑定。

   再一次鄙视那些发arp,p2p管制类软件的朋友!!!!!!

   一个净化的网络空间不光给别人带来便利,也会方便到自己!!!

   试想以下当你发布了这些arp,p2p管制软件以后,这些软件的使用者反而影响到你自己的时候,你会有什么感觉!!!!!

   希望大家自觉抵制非网络管理员滥用此类软件,在龙族论坛上我也经常看见,希望版主能有所考虑。

  另:防护补丁可在我原来的帖子里下载:http://www.chinadforce.com/viewt ... ight=%2Bwang1234567

    有关我发的防ARP攻击补丁最新补完,另附送个人我防范arp攻击心得可在我原来的帖子里下载:http://www.chinadforce.com/viewt ... ight=%2Bwang1234567

有关我发的防ARP攻击补丁最新补完,另附送个人我防范arp攻击心得

答有关我发的防ARP攻击补丁的疑问
有朋友说安装以后可以防止网络执法官的影响,但对网络剪刀手效果不大的疑问

在此先解释一下原理

网络剪刀手是通过网关来控制内网的机器,若对方是合法的,你想绕开,恐怕思路上说不过去!因为你毕竟要通过它才能往外连接啊!
不过根据原理,这个软件好像是针对IP来控制的,有个办法就是在断了情况下重置自己的IP地址(可能还包括MAC地址,有修改自己MAC地址的软件),这样就可以暂时躲过网关的控制!但只能是暂时的!!


该补丁原理是实时绑定网关mac/ip,能彻底解决arp欺骗的问题。


下载后请一定按照以下步骤操作完成时时绑定(以下步骤只适合2K/XP系统):
1:在命令行状态,ping 网关地址(内网),例如你的网关(内网)是192.168.0.1,那么在命令行状态下你输入ping 192.168.0.1,回车。

2:在命令行状态下,输入arp -a,
C:\Documents and Settings\Administrator>arp -a

Interface: 192.168.0.119 --- 0x10003
Internet Address Physical Address Type
192.168.0.1 00-e0-2a-b0-75-0c dynamic
192.168.1.1 00-e0-2a-75-75-75 static
3。这时候记下你的网关地址所对应的Physical Address ,也就是MAC地址。

按照以下说明替换IP和MAc地址:

FL freeland=192.168.0.1 00-aa-bb-cc-dd-ee 1 freeland false
          ↓     ↓
     替换为网关IP地址 替换为网关MAC值

例如你的网关是192.168.1.1 ,网关mac地址为00-e0-2a-75-75-75,那么你的A.bat内容应该是这样的
FL freeland=192.168.1.1 00-e0-2a-75-75-75 3 freeland false

只要动态刷新ARP缓存表,就可以解决

4:如果以后更换网关网卡或者路由器,这时候网关的MAC地址就会改变,所以请重新检查mac地址并重新修改服务器共享盘内的A.bat的mac地址字符段(否则客户机会上不了网).

补丁下载 在我发的
http://www.chinadforce.com/viewt ... page%3D3&page=1贴中

有2个版本,for 2K和for XP的,大家可以有选择安装,for 2K是2000下用,for XP是xp下使用,2003版本的我现在正在做,请xian1010 朋友等待一段时间。
另外:各种防火墙对对ARP攻击是没有效果的,也就是说你开着防火墙也没有用
(注:我仅仅测试了毒霸,江名,瑞星和诺顿,天网,其他杀软防火墙没有试用,不知道效果如何)
听说zonealarm有效,没有测试,希望有安装的测试一下

答:xkdream 朋友的问题:你可以去下载一款辅助工具,比如一些局域网查看工具,捕获发进来的数据包分析一下,就可以知道具体是哪个IP在攻击你!!!!!!

在此推荐我个人使用的局域网查看工具,为绿色破解版,功能很不错,建议配合使用

主要功能:(1)搜索所有工作组。(2)搜索指定网段内的计算机,并显示每台计算机的计算机名,IP地址,工作组,MAC地址,用户。(3)搜索所有工作内或是选定的一个或几个工作组内的计算机,并显示每台计算机的计算机名,IP地址,工作组,MAC地址,用户。(4)将搜索出的计算机信息保存到指定的文本文件中。(5)搜索所有计算机的共享资源。(6)将指定共享资源映射成本地驱动器。(7)搜索所有共享资源内的共享文件。(8)搜索选定的一个或几个共享资源内的共享文件。(9)在搜索共享文件时,你可选择搜索你所需要的一种或几种文件类型的共享文件。(10)打开指定的计算机。(11)打开指定的共享目录(12)打开指定的共享文件。(13)发送消息,给选定的一台或几台计算机发消息,给指定工作组内的所有计算机发消息,给所有计算机发消息。(14)端口扫描,你也可以扫描出局域网内或指定网段内所有开放指定TCP端口的计算机,也可以扫描出指定计算机内活动的TCP端口。(15)ping指定的计算机,查看指定计算机的MAC地址,所在的工作组以及当前用户等

如果动手能力再强的,可以通过设置防火墙,使本机只响应网关来的MAC,这才是解决的根本办法
国产的防火墙目前很少有这个功能,我个人使用的是Look'n'Stop,配合补丁使用,可安然无忧~

“Look'n'Stop防火墙”功能强大、设置复杂,如果对Look'n'Stop防火墙不熟悉的人安装完后产生了各种网络问题,最好还是上网查查资料,自己解决一些问题,这样不仅解决了问题又学到了知识。实在没办法就上论坛问问。

附送我个人使用Look'n'Stop防范arp心得:
阻止网络执法官等arp控制
  网络执法官是利用的ARp欺骗的来达到控制目的的。
  ARP协议用来解析IP与MAC的对应关系,所以用下列方法可以实现抗拒网络执法官的控制。
如果你的机器不准备与局域网中的机器通讯,那么可以使用下述方法:
  A.在“互联网过滤”里面有一条“ARP : Authorize all ARP packets”规则,在这个规则前面打上禁止标志;
  B.但这个规则默认会把网关的信息也禁止了,处理的办法是把网关的MAC地址(通常网关是固定的)放在这条规则的“目标”区,在“以太网:地址”里选择“不等于”,并把网关的MAC地址填写在那时;把自己的MAC地址放在“来源”区,在“以太网:地址”里选择“不等于”。
  C.在最后一条“All other packet”里,修改这条规则的“目标”区,在“以太网:地址”里选择“不等于”,MAC地址里填FF:FF:FF:FF:FF:FF;把自己的MAC地址放在“来源”区,在“以太网:地址”里选择“不等于”。其它不改动。  
  这样网络执法官就无能为力了。此方法适用于不与局域网中其它机器通讯,且网关地址是固定的情况下。
  如果你的机器需要与局域网中的机器通讯,仅需要摆脱网络执法官的控制,那么下述方法更简单实用(此方法与防火墙无关):
  进入命令行状态,运行“ARP -s 网关IP 网关MAC”就可以了,想获得网关的MAC,只要Ping一下网关,然后用Arp -a命令查看,就可以得到网关的IP与MAC的对应。此方法应该更具通用性,而且当网关地址可变时也很好操作,重复一次“ARP -s 网关IP 网关MAC”就行了。此命令作用是建立静态的ARP解析表。     

ARP攻击补丁下载:可在我原来发的
http://www.chinadforce.com/viewt ... page%3D3&page=1贴中下载

<< 开机时桌面及任务栏没显示的解决方... / 关键字: ARPARP病毒ARP... >>

专题推荐

不平凡的水果世界

不平凡的水果世界

平凡的水果世界,平凡中的不平凡。 今朝看水果是水果 ,看水果还是水果 ,看水果已不是水果。这境界,谁人可比?在不平凡的水果世界里,仁者见仁,智者见智。

中国春节的那些习俗

中国春节的那些习俗

正月是农历新年的开始,人们往往将它看作是新的一年年运好坏的兆示期。所以,过年的时候“禁忌”特别多。当然,各个地方的风俗习惯不一样,过年的禁忌也是不一样的。

评论
0/200
表情 验证码:

danyi2007

  • 文章总数0
  • 画报总数0
  • 画报点击数0
  • 文章点击数0
个人排行
        博文分类
        日期归档