成為“黑客”前,必學的幾種網絡攻擊原理!下

1.20 虛擬終端(VTY)耗盡攻擊


這是一種針對網絡設備的攻擊,比如路由器,交換機等。這些網絡設備為了便於遠程管理,一般設置了一些TELNET用戶界面,即用戶可以通過TELNET到該設備上,對這些設備進行管理。
一般情況下,這些設備的TELNET用戶界面個數是有限制的,比如,5個或10個等。這樣,如果一個攻擊者同時同一臺網絡設備建立了5個或10個TELNET連接,這些設備的遠程管理界面便被佔盡,這樣合法用戶如果再對這些設備進行遠程管理,則會因為TELNET連接資源被佔用而失敗。
1.21 路由協議攻擊
網絡設備之間為了交換路由信息,常常運行一些動態的路由協議,這些路由協議可以完成諸如路由表的建立,路由信息的分發等功能。常見的路由協議有RIP,OSPF,IS-IS,BGP等。這些路由協議在方便路由信息管理和傳遞的同時,也存在一些缺陷,如果攻擊者利用了路由協議的這些權限,對網絡進行攻擊,可能造成網絡設備路由表紊亂(這足可以導致網絡中斷),網絡設備資源大量消耗,甚至導致網絡設備癱瘓。

成為“黑客”前,必學的幾種網絡攻擊原理!下

下面列舉一些常見路由協議的攻擊方式及原理:
1.21.1 針對RIP協議的攻擊
RIP,即路由信息協議,是通過週期性(一般情況下為30S)的路由更新報文來維護路由表的,一臺運行RIP路由協議的路由器,如果從一個接口上接收到了一個路由更新報文,它就會分析其中包含的路由信息,並與自己的路由表作出比較,如果該路由器認為這些路由信息比自己所掌握的要有效,它便把這些路由信息引入自己的路由表中。
這樣如果一個攻擊者向一臺運行RIP協議的路由器發送了人為構造的帶破壞性的路由更新報文,就很容易的把路由器的路由表搞紊亂,從而導致網絡中斷。
如果運行RIP路由協議的路由器啟用了路由更新信息的HMAC驗證,則可從很大程度上避免這種攻擊。
1.21.2 針對OSPF路由協議的攻擊
OSPF,即開放最短路徑優先,是一種應用廣泛的鏈路狀態路由協議。該路由協議基於鏈路狀態算法,具有收斂速度快,平穩,杜絕環路等優點,十分適合大型的計算機網絡使用。OSPF路由協議通過建立鄰接關係,來交換路由器的本地鏈路信息,然後形成一個整網的鏈路狀態數據庫,針對該數據庫,路由器就可以很容易的計算出路由表。


可以看出,如果一個攻擊者冒充一臺合法路由器與網絡中的一臺路由器建立鄰接關係,並向攻擊路由器輸入大量的鏈路狀態廣播(LSA,組成鏈路狀態數據庫的數據單元),就會引導路由器形成錯誤的網絡拓撲結構,從而導致整個網絡的路由表紊亂,導致整個網絡癱瘓。
當前版本的WINDOWS 操作系統(WIN 2K/XP等)都實現了OSPF路由協議功能,因此一個攻擊者可以很容易的利用這些操作系統自帶的路由功能模塊進行攻擊。
跟RIP類似,如果OSPF啟用了報文驗證功能(HMAC驗證),則可以從很大程度上避免這種攻擊。

1.21.3 針對IS-IS路由協議的攻擊
IS-IS路由協議,即中間系統到中間系統,是ISO提出來對ISO的CLNS網絡服務進行路由的一種協議,這種協議也是基於鏈路狀態的,原理與OSPF類似。IS-IS路由協議經過擴展,可以運行在IP網絡中,對IP報文進行選路。這種路由協議也是通過建立鄰居關係,收集路由器本地鏈路狀態的手段來完成鏈路狀態數據庫同步的。該協議的鄰居關係建立比OSPF簡單,而且也省略了OSPF特有的一些特性,使該協議簡單明瞭,伸縮性更強。
對該協議的攻擊與OSPF類似,通過一種模擬軟件與運行該協議的路由器建立鄰居關係,然後傳頌給攻擊路由器大量的鏈路狀態數據單元(LSP),可以導致整個網絡路由器的鏈路狀態數據庫不一致(因為整個網絡中所有路由器的鏈路狀態數據庫都需要同步到相同的狀態),從而導致路由表與實際情況不符,致使網絡中斷。


與OSPF類似,如果運行該路由協議的路由器啟用了IS-IS協議單元(PDU)HMAC驗證功能,則可以從很大程度上避免這種攻擊。


成為“黑客”前,必學的幾種網絡攻擊原理!下


1.22 針對設備轉發表的攻擊
為了合理有限的轉發數據,網絡設備上一般都建立一些寄存器表項,比如MAC地址表,ARP表,路由表,快速轉發表,以及一些基於更多報文頭字段的表格,比如多層交換表,流項目表等。這些表結構都存儲在設備本地的內存中,或者芯片的片上內存中,數量有限。如果一個攻擊者通過發送合適的數據報,促使設備建立大量的此類表格,就會使設備的存儲結構消耗盡,從而不能正常的轉發數據或崩潰。
下面針對幾種常見的表項,介紹其攻擊原理:
1.22.1 針對MAC地址表的攻擊
MAC地址表一般存在於以太網交換機上,以太網通過分析接收到的數據幀的目的MAC地址,來查本地的MAC地址表,然後作出合適的轉發決定。
這些MAC地址表一般是通過學習獲取的,交換機在接收到一個數據幀後,有一個學習的過程,該過程是這樣的:
a) 提取數據幀的源MAC地址和接收到該數據幀的端口號;
b) 查MAC地址表,看該MAC地址是否存在,以及對應的端口是否符合;


c) 如果該MAC地址在本地MAC地址表中不存在,則創建一個MAC地址表項;
d) 如果存在,但對應的出端口跟接收到該數據幀的端口不符,則更新該表;
e) 如果存在,且端口符合,則進行下一步處理。
分析這個過程可以看出,如果一個攻擊者向一臺交換機發送大量源MAC地址不同的數據幀,則該交換機就可能把自己本地的MAC地址表學滿。一旦MAC地址表溢出,則交換機就不能繼續學習正確的MAC表項,結果是可能產生大量的網絡冗餘數據,甚至可能使交換機崩潰。
而構造一些源MAC地址不同的數據幀,是非常容易的事情。


成為“黑客”前,必學的幾種網絡攻擊原理!下

1.22.2 針對ARP表的攻擊
ARP表是IP地址和MAC地址的映射關係表,任何實現了IP協議棧的設備,一般情況下都通過該表維護IP地址和MAC地址的對應關係,這是為了避免ARP解析而造成的廣播數據報文對網絡造成衝擊。ARP表的建立一般情況下是通過二個途徑:
1、主動解析,如果一臺計算機想與另外一臺不知道MAC地址的計算機通信,則該計算機主動發ARP請求,通過ARP協議建立(前提是這兩臺計算機位於同一個IP子網上);
2、被動請求,如果一臺計算機接收到了一臺計算機的ARP請求,則首先在本地建立請求計算機的IP地址和MAC地址的對應表。
因此,如果一個攻擊者通過變換不同的IP地址和MAC地址,向同一臺設備,比如三層交換機發送大量的ARP請求,則被攻擊設備可能會因為ARP緩存溢出而崩潰。
針對ARP表項,還有一個可能的攻擊就是誤導計算機建立正確的ARP表。根據ARP協議,如果一臺計算機接收到了一個ARP請求報文,在滿足下列兩個條件的情況下,該計算機會用ARP請求報文中的源IP地址和源MAC地址更新自己的ARP緩存:
1、 如果發起該ARP請求的IP地址在自己本地的ARP緩存中;


2、 請求的目標IP地址不是自己的。
可以舉一個例子說明這個過程,假設有三臺計算機A,B,C,其中B已經正確建立了A和C計算機的ARP表項。假設A是攻擊者,此時,A發出一個ARP請求報文,該請求報文這樣構造:
1、 源IP地址是C的IP地址,源MAC地址是A的MAC地址;
2、 請求的目標IP地址是A的IP地址。
這樣計算機B在收到這個ARP請求報文後(ARP請求是廣播報文,網絡上所有設備都能收到),發現B的ARP表項已經在自己的緩存中,但MAC地址與收到的請求的源MAC地址不符,於是根據ARP協議,使用ARP請求的源MAC地址(即A的MAC地址)更新自己的ARP表。
這樣B的ARP混存中就存在這樣的錯誤ARP表項:C的IP地址跟A的MAC地址對應。這樣的結果是,B發給C的數據都被計算機A接收到。


成為“黑客”前,必學的幾種網絡攻擊原理!下

1.22.3 針對流項目表的攻擊
有的網絡設備為了加快轉發效率,建立了所謂的流緩存。所謂流,可以理解為一臺計算機的一個進程到另外一臺計算機的一個進程之間的數據流。如果表現在TCP/IP協議上,則是由(源IP地址,目的IP地址,協議號,源端口號,目的端口號)五元組共同確定的所有數據報文。
一個流緩存表一般由該五元組為索引,每當設備接收到一個IP報文後,會首先分析IP報頭,把對應的五元組數據提取出來,進行一個HASH運算,然後根據運算結果查詢流緩存,如果查找成功,則根據查找的結果進行處理,如果查找失敗,則新建一個流緩存項,查路由表,根據路由表查詢結果填完整這個流緩存,然後對數據報文進行轉發(具體轉發是在流項目創建前還是創建後並不重要)。
可以看出,如果一個攻擊者發出大量的源IP地址或者目的IP地址變化的數據報文,就可能導致設備創建大量的流項目,因為不同的源IP地址和不同的目標IP地址對應不同的流。這樣可能導致流緩存溢出。

我目前是在職C語言

開發,如果你現在正在瞭解C語言技術,想要學好C語言,渴望成為一名C語言開發工程師,在入門學習C語言的過程當中缺乏基礎的入門視頻教程,你可以關注並私信我:008。我這裡有一套最新的C語言基礎的精講視頻教程,非常的系統完整。


分享到:


相關文章: