常見的信息竊取以及攻擊方式


注:本文內容主要來自《網絡竊密、監聽以及防泄密技術》和平時學習。

一、“中間欺騙”式網絡基礎設施攻擊

1. VLAN跳躍攻擊

  虛擬局域網(VLAN)是對廣播域(數據包所能達到的范圍)分段的方法,還經常用於為網絡提供額外的安全,一個VLAN上的計算機無法與沒有授予訪問權的另一個VLAN上的用戶進行對話。而VLAN跳躍攻擊依靠動態中繼協議(DTP:此協議可以讓Cisco交換機自動協商指定交換機之間的鏈路是否形成Trunk)從一個VLAN跳到另一個未經授權的VLAN。

  在VLAN跳躍攻擊中,攻擊者欺騙計算機,冒充另一個交換機發送虛假的DTP協商信息,宣布自己想成為中繼。真實的交換機收到這個DTP信息后,以為它應當啟用802.1Q中繼功能,當中繼功能啟動后,通過所有VLAN的信息流都會發送到攻擊者的計算機上。中繼建立后,攻擊者可以繼續探測信息流,也可以修改數據報中的802.1Q信息,指定攻擊流量到哪一個VLAN。

2. VTP攻擊

  VLAN中繼協議(VTP)是一種管理協議,設置一個VTP Server 后一個新的VTP Client可以自動的獲取VTP配置,減少交換環境中的配置數量。

  攻擊者只要連接到交換機,並在自己的計算機和交換機之間建立一個中繼,然后發送VTP消息到配置版本高於目前版本號的VTP服務器,這會導致所有交換機都與攻擊者的計算機進行同步,從而把所有非默認的VLAN從VLAN數據庫中刪除,這樣攻擊者就可以進入其他用戶的VLAN上,但VLAN只是邏輯上同一個局域網,物理上仍可能不在一個局域網內。

3. 生成樹攻擊

  生成樹協議(STP)可以防止冗余的交換環境出現回路。使用STP的交換機都使用網橋協議數據單元(BPDU)來共享信息,其中包含網橋ID的標號(基於網橋的優先級和MAC地址),根據網橋ID(最小)作為根網橋,其他每個交換機根據成本來確定返回根網橋的最佳路線,這種成本基於帶寬的值。

  如果攻擊者把一台計算機連接到多台交換機上,然后發送網橋ID值較低的BPDU,就可以修改交換機與網橋的屬性值,使STP重新收斂,從而引起回路使網絡崩潰。

4. 洪水攻擊交換機MAC表

  交換機的工作方式是:交換機在幀進入時記錄下MAC源地址和端口,以后通往該MAC地址的信息流將只通過此端口發送,提高帶寬利用率。MAC地址存儲在內容可尋址存儲器(CAM)中,專門存儲MAC地址,以便快速查詢。

  攻擊者向交換機發送偽造過的數據包,其中源MAC地址為被攻擊計算機的MAC地址,現在交換機就把該被攻擊計算機和攻擊者的計算機端口對應了起來,這形成了一個錯誤的映射關系。攻擊者以每秒數萬個包的速度持續發送,不斷讓交換機收到這個錯誤的映射關系。(大量的發送無效MAC地址,使其充斥滿CAM表,無法處理正常的MAC請求)

5. ARP欺騙

  地址解析協議(IP->MAC),通過ARP請求,可以知道擁有特定IP地址的的MAC地址。

  最常見的ARP攻擊是網關欺騙,以中間人的形式獲取目標主機和網關之間的信息流。

6. MAC地址欺騙

  為防止內部人員進行ARP欺騙,將內網IP地址與MAC地址綁定,arp請求時同時判斷IP地址和MAC地址。因為MAC地址的唯一性,可以根據網卡的MAC地址找到使用此主機的攻擊者。

  MAC地址可以偽造的原因是Ethernet報文在填寫MAC地址時並不是直接從網卡的EEPROM中讀取MAC地址,而是驅動程序先在內存中創建一個MAC地址緩沖區,網卡初始化時讀入MAC地址,如果將內存中的MAC地址修改為指定的地址,之后報文的源MAC地址就為修改后的值。如果兩台具有相同MAC地址的主機分別發出請求,而這兩個請求的響應對於這兩台主機都是匹配的,那么這兩台主機都會收到自己和另外一個主機的內容。如果在同一個網絡里出現兩個相同的MAC地址的主機,則會出現很嚴重的丟包現象。

7. 攻擊DHCP服務器

  攻擊者利用類似Goobler的工具發出大量的不同源MAC地址的DHCP請求,直到DHCP服務器預設網段的所有地址都被占用,無法回應正常的DHCP請求。這時攻擊者冒充DHCP服務器,發放錯誤的IP地址、DNS服務器和默認網關等配置信息。客戶在接入偽造的DHCP服務器后會指派惡意的DNS服務器查詢目的網站IP時會得到假的地址,該IP可能會受到惡意監聽。

 8. 針對RIP的攻擊

  路由信息協議(RIP)通過周期性的路由更新報文來維護路由表。一台運行RIP的路由器,如果從一個接口上接收到了一個路由更新報文,它就會分析其中包含的路由信息,與自身的路由表進行比較。如果更新信息比較有效則引入自身的路由表中。

  攻擊者可以向運行RIP協議的路由器發送破壞性更新報文,這樣其他RIP路由器接收到后進行錯誤更新,建立錯誤的路由表,從而導致網絡中斷。

9. 針對OSPF路由協議的攻擊

  開放最短路徑優先(OSPF)是一種應用廣泛的鏈路狀態路由協議。該路由協議基於鏈路狀態算法,具有收斂快、平穩、杜絕環路等優點,不同於矢量距離協議OSPF路由之間交換的不是路由表,而是鏈路狀態(LSA)然后形成整個網絡的鏈路狀態數據庫,根據數據庫計算出最合適的路由表。

  攻擊者冒充一台合法的OSPF路由器與網絡中的一台正常路由器建立鄰接關系,並向正常路由器發送大量的鏈路狀態廣播引起其錯誤的網絡拓撲結構,從而使整個網絡的路由表紊亂,導致網絡崩潰。

10. 針對IS-IS路由協議的攻擊

  IS-IS路由協議即中間系統到中間系統路由協議,是ISO提出來的針對ISO CLNS網絡服務進行路由的一種協議,這種協議也是基於鏈路狀態的,原理與OSPF類似。

  其攻擊者可以通過模擬軟件與該協議的路由器建立鄰接關系,然后發送大量的鏈路狀態數據單元引起其錯誤的網絡拓撲結構,從而使整個網絡的路由表紊亂,導致網絡崩潰。

11. 針對BGP的攻擊

  通過邊界網關協議(BGP),信息可以在網絡中不同的自治域之間進行交互。為了實現不同自治域之間交互,BGP維護一個可用的IP網絡的路由表。

  攻擊者采用中間人的攻擊方法,迅速修改數據包中的存活時間,從而欺騙路由器將信息重定向到攻擊者的網絡中,劫持和重定向用戶通信。

12. DNS劫持

  攻擊者通過某些手段取得某域名的解析記錄控制權,進而修改此域名的解析結果,導致對該域名的訪問由原IP地址轉到修改后的指定IP。

  DNS劫持的主要方法:

  1)DNS高速緩沖存儲器毒化。

    每個DNS服務器都有一個高速緩沖存儲器,可以記錄一段時間的DNS記錄。如果想知道自身以外的DNS記錄時,就必須向信息持有者發送請求,並記錄DNS服務器返回的信息。

    DNS緩存毒化攻擊中,攻擊者有自己的域(attacker.net)和一個被攻陷的DNS服務器,並定義自己的DNS記錄,例如:www.google.com = 22.22.22.22。

    • 攻擊者向目標DNS服務器發送請求www.attacker.net;
    • 目標DNS服務器不知道這台主機的IP地址,因為它不屬於自身域,所以目標DNS服務器就會問此主機所屬的DNS服務器;
    • 被攻陷的DNS服務器就會回復目標DNS服務器,同時提供它所有的記錄(www.google.com = 22.22.22.22),目標DNS服務器緩存遭到毒化。
    • 通過目標DNS服務器有關www.google.com 的IP地址都會回復22.22.22.22。

  2)DNS ID欺騙 

    查詢端X再向所在域查詢Y的IP地址時,會在查詢請求中分配一個隨機數,這個數將會出現在DNS服務器返回的信息中,X收到回復后比較兩個隨機數是否相同。

    如果查詢過程沒有加密,就可以利用嗅探工具捕獲這個ID,然后根據ID偽造一個回復信息,信息里含有攻擊者所選的IP地址,這樣X會把攻擊者提供的IP當做Y的。但這就意味着攻擊者必須在真DNS服務器回復前實施攻擊。

  3)漏洞攻擊

    利用一般操作系統對DNS修改而不加驗證的漏洞,修改用戶系統注冊表中的DNS設置,使其指向惡意DNS。

13. 騙取/偽造數字證書攻擊

  數字證書,通常與TLS/SSL配合使用,是帶有數字簽名的用於描述身份的一小塊數據。簽名是一種基於證書內容和簽名者秘鑰的復雜數學運算。

  可利用社會工程學騙取數字證書。

14. SSL代理攻擊

  使用SSL代理來破解TLS/SSL連接,監視網絡的數據流量,其過程類似於ARP欺騙。

15. SSLstrip攻擊

  SSLstrip充當http連接的中間人來觀察流量,如果看到出現安全鏈接時就將其轉換成不安全的鏈接。

二、應用層攻擊

1. 緩沖區溢出攻擊

  當程序或進程試圖在其分配的數據存儲區或緩沖區中存儲超出預計的數據時,緩沖區溢出就會發生。由於創建的緩沖區中只能存儲有限的數據,故額外的信息會溢出到臨近的緩沖區中。溢出時,臨近緩沖區的數據會被覆蓋或破壞。函數中局部變量的溢出會覆蓋該函數的返回地址,這可能導致段錯誤(segmentation fault)。而某些特定情況下,程序崩潰后攻擊者會收到一個shell提示,期待下一步的操作指令。主要有兩種類型的溢出攻擊:

  1)基於堆的溢出攻擊。對程序預留內存空間進行溢出,但由於難以加入可執行的指令,這種攻擊比較罕見。

  2)基於堆棧的溢出攻擊。通常情況下程序使用一個名叫堆棧的內存對象來存儲用戶的輸入,用戶輸入時,程序先寫入一個返回內存的地址到堆棧,然后把用戶的輸入數據存儲在返回地址的上方。當執行堆棧時,用戶的數據就被傳送到程序的指定返回地址中。如果用戶的輸入數據超過了堆棧的預留空間,那么就會發生堆棧溢出。

  有可執行指令的緩沖區溢出並不代表指令一定會被執行。緩沖區溢出導致程序崩潰時,程序會試圖通過指定返回地址進行恢復,攻擊者如果將可執行指令的地址進行替換,程序崩潰時則會執行攻擊者的而已代碼。當然,這意味着攻擊者必須知道崩潰時的返回地址。為了省去精確地址的麻煩,可以在惡意指令的首尾填充NOP指令。

2. SQL注入攻擊

  就是通過把SQL命令插入到Web表單提交或輸入域名或頁面請求的查詢字符串,最終達到欺騙服務器執行惡意的SQL命令。具體來說,它是利用現有應用程序,將(惡意的)SQL命令注入到后台數據庫引擎執行的能力,它可以通過在Web表單中輸入(惡意)SQL語句得到一個存在安全漏洞的網站上的數據庫,而不是按照設計者意圖去執行SQL語句。

3.跨站腳本攻擊

  

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM