分享

局域网ARP攻击实现与防范[图文] | 晴刃

 Gavin-book 2015-03-08

这篇文章给大家介绍一下现在局域网里面经常发生的ARP攻击是如何实现的,以及防范的方法。

地址解析协议(Address Resolution Protocol,ARP)是在仅知道主机的IP地址时确定其物理地址(MAC地址)的一种协议。想要了解更多细节的朋友可以百度”ARP协议”。这里我们只要简单的理解成,大多数情况下如果你是在一个局域网环境中上网,不管是用无线还是有线,在电脑启动的时候都要先获取你们网关的MAC地址,这个地址的获取就是通过ARP协议。

[*1*].攻击形成的原理浅析

假设:

局域网网关(A)IP: 192.168.1.1
局域网MAC: 11:11:11:11:11:11

被攻击者(B)IP: 192.168.1.2
被攻击者MAC: 22:22:22:22:22:22

攻击者(C)IP: 192.168.1.3
被攻击者MAC: 33:33:33:33:33:33

正常的时候,计算机B在自己的ARP缓存中记录了正确的网关IP和MAC映射关系(192.168.1.1>11:11:11:11:11:11),而这个时候C发动攻击,他捏造一个虚假的ARP数据包(192.168.1.1>44:44:44:44:44:44)这个数据包发送给B后,B的ARP缓存中关于网关的映射关系就被改成了错误的(192.168.1.1>44:44:44:44:44:44),这个全4的MAC在局域网中根本不存在。

在局域网中想要上网,数据必须先通过网关才能发送出去,但是B计算机的ARP缓存中对应网关的MAC地址被篡改,它现在无法和网关通信,所以就不能正常上网了。

[*2*].攻击的实施

让我们来看看Windows环境下ARP个攻击是如何实施的:

1,安装Sniffer(我用的版本是4.70.530汉化版,如果你英语不错,用英文版一样操作),这一步就不多说了,网上很多下载。

2,打开Sniffer点击菜单栏上的”捕获”>”自定义过滤器”sniffer-arp-setsniffer-arp-setsniffer-arp-set

3,开始捕获

上面的设置完成后就可以开始捕获ARP数据包了,点击”捕获”>”开始”,同时为了让我们能够捕获到网关回发给我们的ARP查询包,我们清除一下本地ARP缓存,在CMD中输入arp -d,再去ping一下你的网关,我这里的网关是192.168.1.1,那么就是ping 192.168.1.1,然后停止捕获。sniffer-arp-capture

4,更改数据包发动攻击

点击下方的”解码”,可以看到我们广播请求网关的MAC地址,以及从网关发回的请求响应,我们要的就是这个响应包(你们看到的数据包可能比我这里多,因为我当前是一台电脑连接在一个路由上,并没有其他机器发送数据,如果有其他机器的情况下,这里会出现多个ARP回复是正常的,选择的时候要注意看是来自网关的ARP回复):sniffer-arp-capturesniffer-arp-capture

这里我假设被攻击者是我的物理机MAC是90BA10CA21E3,IP地址是192.168.1.149,我将网关的MAC伪造成444444444444,那么就做出如下修改。(149的十六进制是95)sniffer-arp-send

如果我物理机没有开任何防火墙,结果查看arp缓存就是这样的,而且现在上不了网了。sniffer-arp-mac

下面是开启360ARP攻击拦截后的提示:sniffer-arp-360

这种攻击可以针对Windows或者Linux,如果系统没有安装ARP功能的防火墙,那被攻击者就将直接上不了网。

另外,sniffer还可以保存这个捕获文件,需要使用的时候只要打开这个捕获文件,发送伪造的数据包即可,甚至可以自己写一个按键程序,简化MAC地址和IP的输入。网上也有很多自动化的攻击工具,但他们的原理和这里介绍的大相径庭。

而这种攻击的另外一个版本,它甚至可以作为中间人,将网关的MAC地址改成攻击者的MAC地址,攻击者收到你的数据包后,再转发给真正的网关,这时被攻击者是能够正常上网的,只是数据包经过了攻击者的电脑,毫无安全可言,同时危害也极大。

[*3*].如何判断和防御ARP攻击

首先,如果你在一个局域网环境,一定要知道网关的正确MAC地址,这个时候不论是Linux还是Windows,都可以在命令行下输入”arp -a”来查看本地的ARP缓存,如果缓存的网关IP对应的不是正确的MAC地址,那么可以确定你受到了ARP攻击。这个时候你的电脑可能是一会能上网一会又不能上网,因为ARP缓存是有保存时间的,如果攻击者没有继续发动攻击,ARP缓存失效,重新请求网关MAC,你就获得了正确的网关MAC,就能上网了。

其实在写这篇文章的时候,我通过虚拟机对我的物理机进行过攻击,网上一些流行的ARP防火墙,还有我们经常使用的360安全卫士就能够很好的拦截(目前版本8.7,测试可以拦截),但是360默认的拦截功能是关闭的,如果处于多用户的局域网中,建议打开它(在360的木马防火墙里面>局域网防护ARP,开启即可)。
————————————————————————————————————

[**] 注:如文中未特别声明转载请注明出自: QingSword.COM

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多