战术攻防之近距离搏击篇(ARP)攻击(2) |
| 发布时间: 2012/7/5 10:09:04 |
|
二、 攻击分类
◆ARP缓存中毒 这是个非常有意思的标题—“中毒”,这能让我联想到霉绿色的空气和腐锈的红色河水,毕竟地球区域生态环境令人担心?。 ARP缓存中毒其实质并没有字面含义那么可怕。还记得前面所提高过ARP缓存表的概念吧,事实上每个网络设备都有一个APR表,其中临时记录着匹配的设备MAC和IP地址映射对。它保证这些记录具有唯一性,即一个IP只单独映射一个MAC。又由于ARP本身不具备认证信任机制,因此欺骗行为变的泛滥。当网络设备发送ARP REQUEST时,它完全相信ARP REPLY回应是来自于正确设备,因为它不能验证回应数据包是否确切从正确的设备发送的。更糟糕的是,许多操作系统并不需要发送ARP请求数据包就直接承认其他设备发送的ARP回应数据包。 这样垃圾方式的设计让入侵变的肆意,而防御却无奈了许多。假设我是一个黑帽,我知道ARP并无验证行为,而且系统不需要发送请求数据包就可接收ARP的回应数据包。我会怎么做?创建一个貌似合法的ARP REPLY数据包,其中伪造我所希望的MAC和IP地址,并发送给盲目接收此类数据包的主机系统。结果,这种方式欺骗主机使其更新我所希望的MAC-IP地址映射对。当然,我可以肆意广播这种ARP REPLY数据包,愚弄整个网络系统所有主机(?冷)。 现在你知道了ARP的一个小技巧,我们称其为:ARP缓存中毒。正是通过它,无数的发明创造出来,正如轮子的发明可以和人类登月媲美,简单的发明可以翘动地球。 ◆MAC泛洪攻击(Flooding) 现在的网络结构大多数使用交换方式(Switched)结构取代早先的的广播方式(Broadcast),这样的优势在于交换机不会向每个端口无聊的推送广播风暴,它稍微智能的判断需要推送数据的端口,这让那些层在HUB方式连接的下大显神威的嗅探器(snffer)感到憋足。 然而进步的力量有时候令“安全”变的很娇嫩。交换机启用端口安全特性(Port security)需要消耗部分的CPU,当交换处理超负载后,交换机就无法处理端口安全,此时交换机陷入了HUB模式,数据被简单的广播到网络中的每台计算机中,于是窃听活动仍然可以继续。于是利用大量的伪造ARP REQUEST数据包对交换机的ARP表进行泛洪攻击(ARP缓存表中毒的典型运用),可以轻易使很多厂商交换机负荷过载(CISCO 1900和3COM superstackII就容易遭受攻击),此刻交换机处于类似HUB工作方式,因而可轻松使用包嗅探器刺探整个网络。 macof的小程序轻松了实现了这样的功能,其代码实现如下: #include "version.h" extern char *ether_ntoa(struct ether_addr *); in_addr_t Src = 0; void usage(void) { /* 本程序的作者是Dug Songdugsong@m.org,由于这里只需要实现MAC FLOODING的攻击,所以我对程序做了精简,便于读者直观了解MAC FLOODING的攻击原理。另外,macof的最早作者是Ian Vitek,采用Perl进行编写的*/ #macof 测试 源MAC地址:77:6b:e1:6e:5e:8c目标MAC地址:93:2d:ed:45:f9:e3 源IP地址/端口:0.0.0.0:45702目标IP地址/端口0.0.0.0:11000 源MAC地址:84:a4:d3:57:ef:8目标MAC地址:12:56:52:42:dc:95 源IP地址/端口:0.0.0.0:16630目标IP地址/端口0.0.0.0:3031 源MAC地址:f0:9:3f:18:89目标MAC地址:1d:86:53:53:d7:f8 源IP地址/端口:0.0.0.0:15535目标IP地址/端口0.0.0.0:7466 ………… 此程序伪装大量ARP回应数据包,导致交换机过载处理,因而陷入HUB方式处理数据包,Port Security特性失效。通过这种方式导致网络安全再度陷入了窃听的恐慌之中(注意:本程序只做实验用途,严禁使用于任何工作环境,否则将导致网络瘫痪或交换机硬件重置)。 本文出自:亿恩科技【www.enkj.com】 |
京公网安备41019702002023号