戰術攻防之近距離搏擊篇(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.zuiquanben.com】 |
京公網安備41019702002023號