快速发包突破ARP防火墙思路

今天忽然想写个关于破Arp 防火墙的文章,也是老生常谈了,真理只有一条:知道原理,就能知道解决方案……

Arp 也是个很老的通讯协议了,Arp 攻击也很老了,关于Arp 欺骗原理,我写过很多了,这里不再累赘了

这里只是简单的谈一谈“金山贝壳Arp 防火墙v2.0”的防御原理(其他各类Arp 防火墙基本一样,这里就拿金山贝壳举例),以及突破方法。

Arp 防火墙的防御方案:

1、绑定本机Arp 缓存表中网关的Mac、IP 地址(使用“arp -a”命令,可以看到网关Mac、IP 状态是静态的)。作用:防止别的机器对本机发包,伪装成网关欺骗本机。

2、使用驱动过滤本机接收及发送原始的数据包,分析其中的Arp 数据包,判断是否是伪造或错误的数据包。作用:从底层拦截Arp 欺骗数据,防止别的机器对本机发包,欺骗本机,同时还拦截本机对外发送Arp 欺骗数据包。

3、疯狂的对网关发送正常的Arp 数据包,发送的数据内容为“我才是IP:***.***.***.***,我的Mac 地址是:**-**-**-**-**-**!”,发送数据包的间隔时间极短,几毫秒一次。作用:不停地给网关说“我才是真的机器”,防止别的机器伪装成本机,去欺骗网关。

4、其他的非主要防御手段,不重要,就不做介绍了。

Arp 防火墙的突破方案:

从上边的防御方案来看,唯一存在缺陷的地方,便是网关。

如果网关没有绑定的话,那么你可以欺骗网关,但是,目标机器也在不停的给网管发包,说他才是真的机器,那么……

如何才能成功欺骗网关呢?

So,你发包?我也发!我比你发的还快!

那么,形势就变成了这样,目标机器和黑客机器都争着给网关说:“我才是真的!!!”,口水淹没大法,哈哈,是不是有点真假美猴王的感觉呢?

这下网关就懵了,这可如何是好呢,所以网关会把Arp 缓存表一会改成这个,一会改成那个……

由于黑客机器比目标机器发包速度快,所以在一个很短的时间段内,网关的Arp 缓存表中的地址,黑客机器占得几率比较高,所以网关对黑客机器发出去的数据包,就要比目标机器多一些。

所以黑客机器就拿到了目标机器的部分数据包,从而达到了欺骗的目的……

但是,这种方案后遗症很大,由于双方都在争网关,在很短的一个时间片内,被黑客机器争到了,那么目标机器会掉线,最典型的现象就是:疯狂的丢包、掉线,所以这种方法是万不得已的时候才用的……

这就是很热的疯狂发包的破墙方法,你用Arp Emp v1.0 可以轻松搞定……

实际上,在实战中,这种方法很少有效,而且还容易引起掉线,十分不推荐使用……

如果Arp 防火墙只绑定网关的话,对Arp 缓存表中的其他机器地址不作处理的话,那么可以修改目标机器缓存表中的其他机器,但是没什么用,因为机房中,一般很少有机器互相通讯,基本都是对外通信……

Arp 攻击的终极防御方案:

网关和子网机器都互相绑定对方地址。

缺陷:Arp 协议完全失去了存在的意义……

后记:

由于Arp 协议的天生缺陷,导致可以任意欺骗,如今各类防火墙的诞生,以及绑定Mac 地址的方法,完全丧失了当初简单、快速、高效的设计初衷,基本上已经间接的废止了Arp 协议……

91ri.org点评:其实没啥好说的 文章写的很好 不是那种死板的介绍 令人感觉生动 推荐一下本文。发包工具可以到本站首页的”神兵利器”栏目上下载。

顺便为大家介绍一下linux下防ARP的文章 <<linux绑定MAC地址防ARP>>

本文转自Nuclear博客由网络安全攻防研究室(www.91ri.org)信息安全小组收集整理。