ARP欺骗在局域网中的分析及全面防御
发布网友
发布时间:2022-04-22 06:58
我来回答
共4个回答
热心网友
时间:2022-04-24 15:44
关于ARP欺骗,首先了解ARP协议。ARP协议即为地址解析协议。通信时将局域网中主机的IP地址解析为MAC地址,从而实现数据包传输。只有局域网才存在ARP欺骗。假定有如下五个IP地址的主机或者网络设备,它们分别是:
主机A 192.168.1.2
主机B 192.168.1.3
网关C 192.168.1.1
主机D 10.1.1.2
网关E 10.1.1.1
假如主机A要与主机B通信,它首先会检查自己的ARP缓存中是否有192.168.1.3这个地址对应的MAC地址,如果没有它就会向局域网的广播地址发送ARP请求包,大致的意思是192.168.1.3的MAC地址是什么请告诉192.168.1.2,而广播地址会把这个请求包广播给局域网内的所有主机,但是只有192.168.1.3这台主机才会响应这个请求包,它会回应192.168.1.2一个ARP包,大致的意思是192.168.1.3的MAC地址是02-02-02-02-02-02。这样的话主机A就得到了主机B的MAC地址,并且它会把这个对应的关系存在自己的ARP缓存表中。之后主机A与主机B之间的通信就依靠两者缓存表里的MAC地址来通信了,直到通信停止后2分钟,这个对应关系才会从表中被删除。
再来看一个非局域网内部的通信过程。假如主机A需要和主机D进行通信,它首先会发现这个主机D的IP地址并不是自己同一个网段内的,因此需要通过网关来转发,这样的话它会检查自己的ARP缓存表里是否有网关192.168.1.1对应的MAC地址,如果没有就通过ARP请求获得,如果有就直接与网关通信,然后再由网关C通过路由将数据包送到网关E,网关E收到这个数据包后发现是送给主机D(10.1.1.2)的,它就会检查自己的ARP缓存,看看里面是否有10.1.1.2对应的MAC地址,如果没有就使用ARP协议获得,如果有就是用该MAC地址与主机D通信。
通过上面的例子我们知道,在以太局域网内数据包传输依靠的是MAC地址,IP地址与MAC对应的关系依靠ARP表,每台主机(包括网关)都有一个ARP缓存表。在正常情况下这个缓存表能够有效保证数据传输的一对一性,像主机B之类的是无法截获A与D之间的通信信息的。
但是主机在实现ARP缓存表的机制中存在一个不完善的地方,当主机收到一个ARP的应答包后,它并不会去验证自己是否发送过这个ARP请求,而是直接将应答包里的MAC地址与IP对应的关系替换掉原有的ARP缓存表里的相应信息。这就导致主机B截取主机A与主机D之间的数据通信成为可能。
首先主机B向主机A发送一个ARP应答包说192.168.1.1的MAC地址是02-02-02-02-02-02,主机A收到这个包后并没有去验证包的真实性而是直接将自己ARP列表中的192.168.1.1的MAC地址替换成02-02-02-02-02-02,同时主机B向网关C发送一个ARP响应包说192.168.1.2的MAC是02-02-02-02-02-02,同样,网关C也没有去验证这个包的真实性就把自己ARP表中的192.168.1.2的MAC地址替换成02-02-02-02-02-02。当主机A想要与主机D通信时,它直接把应该发送给网关192.168.1.1的数据包发送到02-02-02-02-02-02这个MAC地址,也就是发给了主机B,主机B在收到这个包后经过修改再转发给真正的网关C,当从主机D返回的数据包到达网关C后,网关也使用自己ARP表中的MAC,将发往192.168.1.2这个IP地址的数据发往02-02-02-02-02-02这个MAC地址也就是主机B,主机B在收到这个包后再转发给主机A完成一次完整的数据通信,这样就成功地实现了一次ARP欺骗攻击。
对于ARP欺骗攻击的防护目前一般有两种方法。第一种即为在主机上绑定网关的IP地址和MAC地址。如果是局域网用户还要在路由器上绑定。第二种方法即为使用ARP防火墙,该方法比较简单,其实实现原理也就是将网关的IP地址与MAC地址绑定,从而解决局域网ARP欺骗的问题。(部分资料来源于互联网)
热心网友
时间:2022-04-24 17:02
一、ARP欺骗原理
ARP(Address Resolution Protocol)欺骗是一种利用计算机病毒是计算机网络无法正常运行的计算机攻击手段。感染此木马的计算机试图通过“ARP 欺骗”手段截获所在网络内其它计算机的通信信息,并因此造成网内其它计算机的通信故障。
ARP欺骗木马的中毒现象表现为:使用局域网时会突然掉线,过一段时间后又会恢复正常。比如出现用户频繁断网,IE浏览器频繁出错等现象。 如果局域网需要通过身份认证的,会突然出现认证信息(无法ping通网关)。重启机器或在MS-DOS窗口下运行命令arp -d后,又可恢复上网。ARP欺骗木马只需成功感染一台电脑,就 可能导致整个局域网无法上网,严重的可能带来整个网络的瘫痪。此外,该木马还会窃取用户密码,如盗取QQ密码、网络游戏密码和账号去做金钱交易,盗窃网上银行账号来做非法交易活动等,这是木马的惯用伎俩,给用户造成了很大的不便和巨大的经济损失。
ARP欺骗就是一种用于会话劫持攻击中的常见手法。ARP是地址解析协议的简称,是一种将 IP 地址转化为 物理地址的协议。在 OSI 网络参考模型的第二层(数据链路层)中,存在着两个子层:介 质访问控制(MAC)和逻辑链路控制(LLC)。由 MAC 子层提供的最广为认知的服务或许 就是它的地址了,就像以太网的地址一样。在以太网中,数据传输的目的地址和源地址的正 式名称是 MAC 地址。此地址大多数情况下是独一无二的固化到硬件设备上的,而 IP 地址 所要转化的物理地址就是 MAC 地址。
在网络数据传输中实际传输的是“帧”(Frame),它以比特流的方式通过传输介质传输出 去,其中帧里面就包含有所要传送的主机的 MAC 地址。在以太网中一台主机要同另一台主 机进行通信就必须要知道对方的 MAC 地址(就如同我们要给对方邮信一定要知道对方的地 址一样)。但是我们如何知道这个 MAC 地址呢?这时就用到了地址解析协议,所谓“地址 解析”就是主机在发送帧前将目标 IP 地址转换成目标 MAC 地址的过程。ARP 协议的基本功能就是通过目标设备的 IP 地址,查询目标设备的 MAC 地址,以保证通信的顺利进行。
在电信一般接终端的交换机都是2层交换机,交换原理是通过IP寻找对应的MAC网卡地址,由于TCP/IP协议决定了只会通过MAC寻址到对应的交换机的物理端口,所以才会遭到ARP欺骗攻击。
首先局域网的某一台电脑中了ARP病毒,通过他自动发送ARP欺骗包,正常的TCP/IP网络是不会有这样的错误包发送的,而人工发送又比较麻烦。也就是说当黑客没有运行这个恶毒程序的话,网络上通信应该是一切正常的,保留在各个连接网络计算机上的ARP缓存表也应该是正确的,只有程序启动开始发送错误ARP信息以及ARP欺骗包时才会让某些计算机访问网络出现问题。接下来我们来阐述下ARP欺骗的原理。
第一步:假设这一个网络,一个Hub或交换机连接了3台机器,依次是计算机A,B,C。
A的地址为:IP:192.168.1.1 MAC:AA-AA-AA-AA-AA-AA
B的地址为:IP:192.168.1.2 MAC:BB-BB-BB-BB-BB-BB
C的地址为:IP:192.168.1.3 MAC:CC-CC-CC-CC-CC-CC
第二步:正常情况下在A计算机上运行ARP -A查询ARP缓存表应该出现如下信息。
Interface:192.168.1.1 on Interface 0x1000003
Internet Address Physical Address Type
192.168.1.3 CC-CC-CC-CC-CC-CC dynamic
第三步:在计算机B上运行ARP欺骗程序,来发送ARP欺骗包。
B向A发送一个自己伪造的ARP应答,而这个应答中的数据为发送方IP地址是192.168.10.3(C的IP地址),MAC地址是DD-DD-DD-DD-DD-DD(C的MAC地址本来应该是CC-CC-CC-CC-CC-CC,这里被伪造了)。当A接收到B伪造的ARP应答,就会更新本地的ARP缓存(A可不知道被伪造了)。而且A不知道其实是从B发送过来的,A 这里只有192.168.10.3(C
的IP地址)和无效的DD-DD-DD-DD-DD-DD mac地址。
第四步:欺骗完毕我们在A计算机上运行ARP-A来查询ARP缓存信息。你会发现原来正确的信息现在已经出现了错误。
从上面的介绍我们可以清楚的明白原来网络中传输数据包最后都是要根据MAC地址信息的,也就是说虽然我们日常通讯都是通过IP地址,但是最后还是需要通过ARP协议进行地址转换,将IP地址变为MAC地址。而上面例子中在计算机A上的关于计算机C的MAC地址已经错误了,所以即使以后从A计算机访问C计算机这个192.168.1.3这个地址也会被ARP协议错误的解析成MAC地址为DD-DD-DD-DD-DD-DD的。
ARP欺骗可以造成内部网络的混乱,让某些被欺骗的计算机无法正常访问内*,让网关无法和客户端正常通信。实际上他的危害还不仅仅如此,由于系统并不会判断ARP缓存的正确与否,无法像IP地址冲突那样给出提示。由于网关MAC地址错误,所以从网络中计算机发来的数据无法正常发到网关,自然无法正常上网。这就造成了无法访问*的问题。
二、ARP欺骗的主要方式
从影响网络连接的方式来看,ARP欺骗通常分为四种:
(1)冒充网关欺骗计算机。它是通过建立假网关(其实是网内一普通的感染ARP病毒的主机),让被它欺骗的计算机向假网关发数据,而不能通过网关正常上网。在用户的角度看来,就是上不了网了以及网络掉线了,这样会给用户造成系统网关出错的假象。
(2)冒充计算机欺骗网关。感染ARP病毒的计算机不断冒充其它计算机通知网关,并按照一定的频率不断进行,结果网关发给正常计算机的数据被欺骗计算机拦截,造成正常计算机无法收到信息。
(3)冒充计算机欺骗计算机。攻击源会以正常身份伪造虚假的ARP应答,欺骗其它计算机,结果其它计算机发给被冒充计算机的数据全部被攻击源截取。如果冒充计算机启动IP Forword(IP转发)功能,很容易获取发往配冒充计算机的数据而不被发现。
(4)ARP泛洪攻击:攻击源伪造大量MAC和IP地址,对局域网内广播,干扰正常通信。
三、ARP病毒分析
由于ARP欺骗的木马程序发作的时候会发出大量的数据包导致局域网通讯拥塞以及其自身处理能力的*,用户会感觉上网速度越来越慢。当ARP欺骗的木马程序停止运行时,用户会恢复从路由器上网,切换过程中用户会再断一次线。
在路由器的“系统历史记录”中看到大量如下的信息:
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地址)。
BKDR_NPFECT.A病毒引起ARP欺骗之实测分析。
(一)病毒现象
中毒机器在局域网中发送假的APR应答包进行APR欺骗,造成其他客户机无法获得网关和其他客户机的网卡真实MAC地址,导致无法上网和正常的局域网通信。
(二)病毒原理分析
1.病毒的组件
本文研究的病毒样本有三个组件构成:
%windows%\SYSTEM32\LOADHW.EXE(108,386 bytes)…”病毒组件释放者”;
%windows%\System32\drivers\npf.sys(119,808 bytes)…”发ARP欺骗包的驱动程序”;
%windows%\System32\msitinit.dll (39,952 bytes)…“命令驱动程序发ARP欺骗包的控制者”。
2.病毒运作基理
(1)LOADHW.EXE 执行时会释放两个组件npf.sys和msitinit.dll.
LOADHW.EXE释放组件后即终止运行。
注意:病毒假冒成winPcap的驱动程序,并提供winPcap的功能。客户若原先装有winPcap。
npf.sys将会被病毒文件覆盖掉。
(2)随后msitinit.dll将npf.sys注册(并监视)为内核级驱动设备:"NetGroup Packet Filter Driver"
msitinit.dll还负责发送指令来操作驱动程序npf.sys(如发送APR欺骗包,抓包,过滤包等)以下从病毒代码中提取得服务相关值:
(3)npf.sys 负责监护msitinit.dll.并将LOADHW.EXE注册为自启动程序:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce]
dwMyTest =LOADHW.EXE
由于该项位于RunOnce下,该注册表启动项在每次执行后,即会被系统自动删除。
(三)反病毒应急响应解决方案
按以下顺序删除病毒组件:
1.删除“病毒组件释放者”。
%windows%\SYSTEM32\LOADHW.EXE
2.删除“发ARP欺骗包的驱动程序”(兼“病毒守护程序”)。
四、ARP欺骗的防御技术
(1)设置静态ARP缓存(静态绑定)。最常用的方法就是做IP和MAC静态绑定,在网内把主机和网关都做IP和MAC绑定。欺骗是通过ARP的动态实时的规则欺骗内网机器,所以我们把ARP全部设置为静态可以解决对内网PC的欺骗,同时在网关也要进行IP和MAC的静态绑定,这样双向绑定才比较保险。具体操作分为两步:
第一步在PC机上,打开DOS提示符窗口,先输入:arp -d(清除ARP缓存表) 回车后,然后输入arp s IP地址MAC地址(IP和MAC为网关的);也可作批处理文件放在启动项中,内容如下:
@echo off
arp -d
arp -s <inet-addr> <eth-addr>
第二步在交换机或路由器上,对每个IP对应得MAC地址进行静态绑定。
(2)安装ARP防护软件和杀毒软件。目前关于ARP类的防护软件也比较多了,大家比较常用的主要有360安全卫士、欣向ARP工具和Antiarp等。目前常用的杀毒软件也比较多,诸如卡巴斯基、Macfee、瑞星和趋势科技等。安装了相关软件后,PC用户要经常升级病毒库。
(3)DHCP结合静态*。通过方法①中的IP与MAC的双向绑定,可以有效防范ARP欺骗,但是由于操作繁琐,会大大加重网络管理的负担。另外,遇到那些通过ARP欺骗非法攻击的用户来说,他可以事先自己手动更改IP地址,这样检查起来就更加复杂了。通过在网关上建立DHCP服务器,把DHCP的地址池或者将客户端获得IP的租约设置为一个非常长的时间,可以固定主机MAC与IP的对应关系,从而保证MAC地址与IP地址的惟一性 ,有效地避免ARP欺骗的发生。
针对上述情况,我们建议广大局域网络中的计算机用户采取如下方法进行防范:
1、建议计算机用户及时下载安装浏览器的漏洞补丁程序;
2、经常升级计算机系统中防毒软件和防火墙。还可以在局域网中安装并使用网络防火墙软件,网络防火墙在防病毒过程中也可以起到至关重要的作用,能有效地阻挡自来网络的攻击和病毒的入侵;
3、计算机用户不要随意点击打开QQ 、MSN 等聊天工具上发来的地址链接或是其他数据信息,更不要随意打开或运行陌生、可疑的文件和程序;
4、将局域网系统管理员帐户的密码的位数设置复杂一点;
5、关闭一些不需要的网络服务,也可以关闭一些没有必要的网络共享。
热心网友
时间:2022-04-24 18:37
ARP欺骗分为二种,一种是对路由器ARP表的欺骗;另一种是对内网PC的网关欺骗。
第一种ARP欺骗的原理是——截获网关数据。它通知路由器一系列错误的内网MAC地址,并按照一定的频率不断进行,使真实的地址信息无法通过更新保存在路由器中,结果路由器的所有数据只能发送给错误的MAC地址,造成正常PC无法收到信息。第二种ARP欺骗的原理是——伪造网关。它的原理是建立假网关,让被它欺骗的PC向假网关发数据,而不是通过正常的路由器途径上网。在PC看来,就是上不了网了,“网络掉线了”。
由于ARP欺骗通常出现在局域网中,所以防御的办法只有一个,在路由器或者交换机上进行端口-MAC绑定,一个端口只有一个MAC地址能通过,由于局域网是基于MAC的通信,所以网内的PC无法伪造MAC。这样以来,完全杜绝了ARP欺骗。
同时,对于一般的ARP嗅探,ARP防火墙可以搞定,但是对于特殊的ARP嗅探,就连防火墙也*为力了。
1,一般的ARP嗅探,向网关发送ARP包的间隔为3S,ARP防火墙的发包间隔也是3S,所以可以防止攻击。
2,特殊ARP嗅探,向网关发送ARP包的间隔为XS,但是ARP防火墙的发包间隔仍然为3S,这样一来,ARP如同虚设。
所以说,要防止ARP欺骗,唯一的办法就是看好PC的MAC地址就行了。
热心网友
时间:2022-04-24 20:28
倒~~题目好大。
arp技术百度一下有很多的~
比如DAI,TAC等等,或者你给个细分的题目,看看大家能不能帮你回答一下