1. 什么是ARP?
ARP(AddressResolutionProtocol)地址解析协议用于将计算机的网络IP地址转化为物理MAC地址。ARP协议的基本功能就是通过目标设备的IP地址,查询目标设备的MAC地址,以保证通信的顺利进行。在每台安装有TCP/IP协议的电脑里都有一个ARP缓存表,表里的IP地址与MAC地址是一一对应的,如果系统ARP缓存表被修改不停的通知路由器一系列错误的内网IP或者干脆伪造一个假的网关进行欺骗的话,网络就肯定会出现大面积的掉线问题。ARP攻击在现今的网络中频频出现,有效的防范ARP形式的网络攻击已成为确保网络畅通必要条件。
2. ARP的原理。
我在网上找到了一段很生动的描述:
通常主机在发送一个ip包之前,它要到该转换表中寻找和ip包对应的mac地址。如果没有找到,该主机就发送一个ARP广播包,看起来象这样子:
"我是主机xxx.xxx.xxx.xxx , mac是xxxxxxxxxxx ,ip为xxx.xxx.xxx.xx1的主机请告之你的mac来"
ip为xxx.xxx.xxx.xx1的主机响应这个广播,应答ARP广播为:
"我是xxx.xxx.xxx.xx1,我的mac为xxxxxxxxxx2"
于是,主机刷新自己的ARP缓存,然后发出该ip包。
了解这些常识后,现在就可以谈在网络中如何实现ARP欺骗了,可以看看这样一个例子:
一个入侵者想非法进入某台主机,他知道这台主机的防火墙只对192.0.0.3(假设)这个ip开放23口(telnet),而他必须要使用telnet来进入这台主机,所以他要这么做:
1、他先研究192.0.0.3这台主机,发现这台95的机器使用一个oob就可以让他死掉。
2、于是,他送一个洪水包给192.0.0.3的139口,于是,该机器应包而死。
3、这时,主机发到192.0.0.3的ip包将无法被机器应答,系统开始更新自己的arp对应表。将192.0.0.3的项目搽去。
4、这段时间里,入侵者把自己的ip改成192.0.0.3
5、他发一个ping(icmp 0)给主机,要求主机更新主机的arp转换表。
6、主机找到该ip,然后在arp表中加入新的ip-->mac对应关系。
7、防火墙失效了,入侵的ip变成合法的mac地址,可以telnet了。
有人也许会说,这其实就是冒用ip嘛。是冒用了ip,但决不是ip欺骗,ip欺骗的原理比这要复杂的多,实现的机理也完全不一样。
3. 实战ARP
我给大家演示一下ARP入侵是如何实现的。给大家揭开这个谜团。当然,只是一笔带过,这篇文章只是让大家识别并防范。决不会教大家利用并入侵。
图一,防火墙拦截了我本机发出的真实ARP信息(IP:192.168.1.23):
图二,伪装IP和MAC。大家记一下和下面的对比:
图三,防火墙拦截到了我们伪装的IP(192.168.1.56)和MAC(00-11-22-33-44-55):
图四,ARP欺骗用到的文件。注意图片中的地址路径。其实就是把百度首页和LOGO存了下来,做一个一模一样的假百度。当受害者访问baidu.com的时候,其实访问的是假站点:
图五,把遭受ARP的用户的百度站点指向我的机器IP(192.168.1.23):
图六,ARP之后的百度。其实访问的是我制作的假站点。利用图四的文件,加上一句话,便于区分。如果不加上那段文字,你能发现是假的么?如果在页面里放一个width和height都为0的iframe呢?或者是其他恶意代码:
服务器的ARP和这个大同小异。用一个小软件就可以使整个机房未防范ARP的服务器上的所有网站都感染病毒。不用一个一个网站入侵,省时省力。据马路消息,盛大某次被黑,就是被ARP。即盛大的服务器没有被入侵,只是同一机房的某台o御比较差的机器被攻克了。
4. ARP的防范
普通防火墙是不能防范ARP的。
专门防范ARP的防火墙有:AntiARP、ARP Guard、360ARP防火墙、金山ARP防火墙,貌似超级巡警也带了ARP防火墙。
PS:非局域网用户就不用装了。
版权与免责声明
1、本站所发布的文章仅供技术交流参考,本站不主张将其做为决策的依据,浏览者可自愿选择采信与否,本站不对因采信这些信息所产生的任何问题负责。
2、本站部分文章来源于网络,其版权为原权利人所有。由于来源之故,有的文章未能获得作者姓名,署“未知”或“佚名”。对于这些文章,有知悉作者姓名的请告知本站,以便及时署名。如果作者要求删除,我们将予以删除。除此之外本站不再承担其它责任。
3、本站部分文章来源于本站原创,本站拥有所有权利。
4、如对本站发布的信息有异议,请联系我们,经本站确认后,将在三个工作日内做出修改或删除处理。
请参阅权责声明!