20199311 2019-2020-2《網絡攻防實踐》第5周做業

問題 回答
這個做業屬於哪一個課程 https://edu.cnblogs.com/campus/besti/19attackdefense
這個做業的要求在哪裏 https://edu.cnblogs.com/campus/besti/19attackdefense/homework/10553
我在這個課程的目標是 學習教材第五章,瞭解各層網絡協議的常見漏洞
這個做業在哪一個具體方面幫助我實現目標 相關知識點和實踐任務

1. 實踐內容

1.1 TCP/IP網絡協議棧攻擊概述

1.1.1 網絡安全屬性與攻擊模式

網絡安全是指網絡系統的硬件、軟件及其系統中的數據受到保護,不受偶然的或者惡意的緣由而遭到破壞、更改 、泄露,系統連續可靠正常運行,網絡服務不被中斷。html

  • 網絡安全屬性:網絡安全屬性包括機密性、完整性、可用性 、真實性和不可抵賴性
    1. 機密性:是指網絡中的信息不被非受權實體獲取和使用,一般基於加密算法進行保陷。
    2. 完整性: 是指信息未經受權不能進行改變的特性,即信息在存儲和傳輸過程當中保待不被修改、 不被破壞和丟失的特性。
    3. 可用性: 是指被受權實體訪問並按需求使用的特性, 即當須要時可以正常地存取和訪 問所需的信息與服務。
    4. 真實性: 是指確保通訊對方是它所聲稱的真實實體, 而非假冒實體。
    5. 不可抵賴性: 是指在通訊中確保任何一方沒法抵賴本身曾經作過的操做的安全特性, 包括對本身行爲的不可抵賴及對行爲發生時間的不可抵賴, 有時也被稱爲不能否認性和可審查性。
  • 網絡攻擊基本模式:在網絡通訊中, 攻擊者能夠採起以下四種基本的攻擊模式, 包括截獲、 中斷、 篡改和僞造。
    1. 截獲是一種被動攻擊模式, 其目的是獲取網絡通訊雙方的通訊信息內容,是對機密性的違反,具體攻擊技術爲嗅探與監聽。
    2. 中斷、 篡改與僞造都屬於主動攻擊模式,中斷攻擊的目標是導致正常的網絡通訊和會話沒法繼續,是對可用性的破壞,具體攻擊技術爲拒絕服務。
    3. 僞造則是假冒網絡通訊方的身份,欺騙通訊對方達到惡意目的,是對真實性屬性的背離,具休攻擊技術爲欺騙。
    4. 篡改則是對網絡通訊過程的信息內容進行修改, 使得通訊一方或雙方接收到篡改後的虛假信息,是對完整性的違背,具體技術爲數據包篡改。
    5. 中間人攻擊:攻擊者經過各類技術手段與通訊雙方創建起各自獨立的會話鏈接,並進行消息的雙向轉發,使他們誤覺得是經過一個私有通道在直接通訊,而實際上整個會話都是由攻擊者所截獲和控制的。要成功實現中間人攻擊,攻擊者必須可以攔截通訊雙方的所有通訊,注入轉發或篡改後的消息,並須要攻擊者可以對通訊雙方都實現身份欺騙。

1.1.2 TCP/IP網絡協議棧安全缺陷與攻擊技術

TCP/IP 網絡協議棧在設計時採用了分層模型,分爲了網絡接口層、互聯層、傳輸層與應用層,每一層負責不一樣的功能,各自具備相應的網絡協議。在每一個層次上的網絡協議都存在着必定的安全問題或設計缺陷,目前也已經出現相應的攻擊技術。如圖所示
圖片描述linux

1.2 網絡層協議攻擊

網絡層的主要協議如 IP、 ICMP 和 ARP 都存在多種攻擊方式,如下將對其中最爲常見的 IP 源地址欺騙、ARP欺騙和 ICMP 路由重定向攻擊進行分別介紹,包括其原理、 攻擊技術與具體實現。算法

1.2.1 IP源地址欺騙

IP 源地址欺騙是指攻擊者僞造具備虛假源地址的 IP 數據包進行發送,以達到隱藏發送者身份、假冒其餘計算機等目的。ubuntu

  • IP 源地址欺騙原理:IP 源地址欺騙能夠實現的根本緣由在於:IP 協議在設計時只使用數據包中的目標地址進行路由轉發,而不對源地址進行真實性的驗證。路由器在轉發 IP 數據包時,也只根據目標 IP 地址查詢路由路徑,進行數據包的轉發直至送達目標,不會對數據包是否真正來自其聲稱的源地址進行驗證。在大多數狀況下,IP 數據包的源地址會被正確地設置爲數據包所發出的 IP 地址。但懷有惡意目的的攻擊者則會修改 IP 協議報頭,使其包含 個不一樣的虛假 IP 地址,使其看起來像是從另一個地址發出的,這樣就達到了欺騙目標和隱藏發送源的目的。而接收到欺騙數據包的計算機則會向假冒的源地址發回響應包,一般狀況下,攻擊者沒法獲取到這些響應包,所以 IP 源地址欺騙技術主要應用於攻擊者不須要響應包或存在某些技術能夠猜想響應包的場景中,如拒絕服務攻擊等。在特定環境中, 攻擊者也可能嗅探到響應包,或者可以將響應包重定向到受控主機上,最多見的狀況是攻擊者與假冒lP地址處在同一局域網內,能夠實施ARP欺騙或路由重定向攻擊劫待響應包,這時攻擊者就可以徹底假冒這些主機進行網絡交互了。
    圖片描述緩存

  • IP地址欺騙攻擊過程安全

    1. 對受信任主機進行拒絕服務攻擊,使其喪失工做能力,避免其在接受到響應包後影響欺騙過程
    2. 對目標主機的 TCP 初始序列號 (ISN) 進行取樣與猜想,TCP 初始序列號是指目標 主機在接受 SYN 報文後,返回 SYN/ACK 報文中的 SEQ 值, 攻擊主機只有在隨後進一步僞造的 ACK 報文中,將 ACK 值正確地設置爲目標主機的 ISN+1,纔可以經過目標主機的驗證,真正創建起鏈接,達到欺騙效果。
    3. 僞造源地址爲受信任主機 IP 的 SYN 數據包, 發送給目標主機。
    4. 等待目標主機將 SYN/ACK 包發給己癱瘓的受信任主機。
    5. 再次假裝成被信任主機向目標主機發送 ACK 包, 設置發送數據包的 ACK 值爲預測目標主機 ISN+1,能夠經過發送大量不一樣 ACK 值的數據包以提升命中的可能性。
    6. 鏈接創建,假冒被信任主機與目標主機通訊。
      圖片描述
  • IP源地址欺騙技術的應用場景:IP源地址欺騙最廣泛應用於拒絕服務攻擊中,也常常在進行網絡掃描時應用,以隱藏真實的掃描源地址,還被攻擊者用來對付一些基於 IP 地址的身份認證機制。服務器

  • IP源地址欺騙的防範措施網絡

    1. 使用隨機化的初始序列號,使得遠程攻擊者沒法猜想到經過源地址欺騙假裝創建TCP鏈接所需的序列號,下降被源地址欺騙的風險;
    2. 使用網絡層安全傳輸協議如IPsec,對傳輸數據包進行加密,避免泄露高層協議可供利用的信息及傳輸內容
    3. 避免採用基於IP地址的信任策略,以基於加密算法的用戶身份認證機制來替代這些訪問控制策略
    4. 在路由器和網關上實施包過濾

1.2.2 ARP欺騙

ARP欺騙,有時候也被稱爲ARP下毒,,是指攻擊者在有線以太網或無線網絡上發送僞造ARP消息,對特定IP所對應的MAC地址進行假冒欺騙,從而達到惡意目的的攻擊技術。tcp

  • ARP欺騙攻擊技術原理:ARP欺騙攻擊的根源在於ARP協議在設計時認爲局域網內部的全部用戶都是可信的,是遵循協議設計規範的,但事實上並不是如此,局域網內能夠存在內部攻擊者,或者已滲透進入局域網的外部攻擊者或惡意代碼。ARP協議在進行 IP 地址到 MAC 地址映射查詢時存在安全缺陷,一方面採用了廣播請求包方式在局域網段中詢問映射關係,但沒有對響應結果進行真實性驗證的技術流程與方法,而另外一方面ARP協議爲提升效率,設計了 ARP 緩存機制,以及會將主動的ARP應答視做有效信息進行接受,這使得ARP緩存很是容易被注入僞造的IP地址到MAC地址的映射關係,從而進行欺騙。工具

  • ARP欺騙攻擊攻擊過程

    1. 源節點 A 發送數據包給目的節點 B 時,將會經過ARP協議在局域網段廣播 ARP 請求包,詢問節點 B 的IP地址所映射的MAC地址
    2. 正常節點在接收ARP廣播包後,在確認ARP查詢的IP地址不是本身網絡接口配置的IP地址以後,就不做應答。而攻擊節點C則不同,原本它的IP地址並非 ARP 廣播包中的目標IP地址:B.B.B.B,但它也應答,說目機IP地址 IP(B) 所映射的 MAC 地址是它本身,即 MAC(C),並不斷地向源節點發送ARP響應包
    3. 此時儘管目的節點 B 也向源節點 A 發出了 ARP 響應,告知了正確的映射關係,可是因爲節點 C 不斷地發送響應包,這樣在源節點上會強制以節點 C 發送的響應包中的信息來更新ARP緩存。這樣在源節點 A 的 ARP 緩存中就保留了錯誤的 IP 地址和MAC 地址映射表項。原本應爲JP(B)與MAC(B),如今就變成了IP(B)與MAC(C)
    4. 當源節點 A 要再次發送數據包到目的節點 B 時,因爲其 ARP 緩存中已經存在節點 B 的 IP 地址 IP (B) 的映射記錄,它就再也不廣播 ARP 請求包,而是直接將數據包發到 MAC 地址爲 MAC (C) 的節點,即攻擊節點,這樣攻擊節點 C 經過欺騙就已經假冒了目的節點 B
    5. 利用一樣的方法,攻擊節點C也能夠對節點B假冒節點A,就構成了A與B通訊的中間人攻擊。
      圖片描述
      若是被 ARP 欺騙攻擊的是網關節點,那麼將致使整個局域網全部節點通過網關出入的數據包都會首先經過攻擊節點,從而可能被嗅探、 監聽和惡意修改。
  • ARP欺騙技術的應用場景:ARP欺騙攻擊技術的應用場景也很是多,包括利用 ARP 欺騙技術進行局域網中的嗅探, 並經過進一步的協議分析竊取敏感信息;還能夠利用 ARP 欺騙構造中間人攻擊,從而實施 TCP 會話劫待的攻擊方法。

  • ARP 欺騙攻擊防範措施:預防 ARP 欺騙攻擊的主要方法有靜態綁定關鍵主機的 IP 地址與 MAC 地址映射關係、使用相應的 ARP 防範工具、使用 VLAN 虛擬子網細分網絡拓撲,並加密傳輸數據以下降 ARP 欺騙攻擊的危害後果等。

1.2.3 ICMP路由重定向攻擊

ICMP 路由重定向攻擊是指攻擊者假裝成路由器發送虛假的 ICMP 路由路徑控制報文,使得受害主機選擇攻擊者指定的路由路徑,從而進行嗅探或假冒攻擊的一種技術。

  • ICMP 路由重定向攻擊原理:ICMP 重定向攻擊就是利用 ICMP 路由重定向報文來改變主機的路由表,向目標機器發送重定向消息,本身則能夠假裝成爲路由器,使目標機器的數據報發送至攻擊機從而增強監聽。

  • ICMP 路由重定向攻擊過程

    1. 攻擊節點利用 JP 源地址欺騙技術, 冒充網關 IP 地址, 向被攻擊節點發送 ICMP重定向報文, 並將指定的新路由器 IP 地址設置爲攻擊節點
    2. 被攻擊節點在接收到該報文後, 會進行限制條件檢查, 因爲該報文並不違背限制條件,所以將被接收,被攻擊節點選擇攻擊節點做爲其新路由器(即網關)
    3. 攻擊節點能夠開啓路由轉發,充當一箇中間人,對被攻擊節點與外部網絡的通訊 進行全程嗅探監聽,達到與ARP欺騙相似的攻擊效果
    4. 在轉發過程當中,根據 ICMP 路由重定向機制的設計原理,因爲從被攻擊節點到外部網絡存在更優的路由路徑,即直接經過原先的網關進行路由較重定向後的路由路徑少一跳,所以攻擊節點協議棧可能會向被攻擊節點發送一個ICMP重定向報文,指定原先網關做爲新路由器,這個報文將使欺騙路由路徑還原至原先正常狀態。
      圖片描述
  • ICMP路由重定向攻擊防範:ICMP路由重定向攻擊的主要防範措施是根據類型過濾一些ICMP數據包,設置防火牆過濾,對於ICMP重定向報文判斷是否是來自本
    地路由器等。

1.3 傳輸層協議攻擊

傳輸層的主要協議 TCP 和 UDP 也存在不少種不一樣攻擊方式,如下對最流行的 TCP RST 攻擊 TCP 會話劫持攻擊、TCP SYN 洪泛拒絕服務攻擊和 UDP 洪泛拒絕服務攻擊等攻擊。

1.3.1 TCP RST攻擊

  • TCP RST攻擊原理:TCP RST攻擊也被稱爲僞造TCP重置報文攻擊,是指一種假冒干擾TCP通訊鏈接的技術方法。TCP協議頭標誌位有一個reset,若標誌位置爲1,接收該數據包的主機當即斷開這個TCP會話鏈接。TCP重置報文就是直接關閉掉一個TCP會話鏈接。
  • 攻擊過程:攻擊主機C經過嗅探方式監視通訊雙方A、B之間的TCP鏈接。得到源、目標IP地址、端口、序列號以後,接着能夠結合IP源地址欺騙技術假裝成通訊一方,發送TCP重置報文給通訊另外一方。在確保端口號一致及序列號落入TCP窗口內就可直接關閉此TCP鏈接,達到拒絕服務的效果。
    圖片描述

1.3.2 TCP會話劫持攻擊

  • TCP會話劫持攻擊原理:TCP會話劫持則是一項更爲複雜的TCP協議攻擊技術方法,其目標是劫持通訊雙方已創建的TCP會話鏈接,假冒其中一方(一般是客戶端)的身份,與另外一方進行進一步通訊。一般一些網絡服務會在創建TCP會話以後進行應用層的身份認證,客戶端在經過身份認證以後,就能夠經過TCP會話鏈接對服務端進行控制或獲取資源,期間再也不須要再次進行身份認證。若是咱們可以使得要攻擊的網絡通訊通過攻擊者控制的主機,那結合網絡嗅探技術就能夠獲取到序列號等信息,從而很容易地實施會話劫持攻擊。重定向網絡通訊能夠利用濫用 IP 協議源路由選項、ICMP 路由重定向攻擊和 ARP 欺騙攻擊完成,IP 源路由選項和 ICMP 路由重定向攻擊都能使得攻擊者能夠指定 IP 數據包的路由路徑, 經過攻擊者所控制的路由器, 而後實施劫持。

  • TCP 會話劫持攻擊技術過程

    1. Victim 主機與 telnet 服務器進行鏈接,並經過身份認證創建起會話
    2. telnet 服務器將會向 Victim 發送響應包,幷包含服務器當前序列號(記爲SVR_SEQ),以及指望客戶端發送的下一個序列號(記爲 SVR_ACK)
    3. 攻擊者經過 ARP 欺騙實施中間人攻擊,能夠嗅探得到 Victim 和 telnet 服務器間的通訊內容,而後就假冒 Victim 的 IP 地址及身份,向 telnet 服務器發送數據包,宣稱本身就是 Victim。而攻擊者發送數據包中的序列號(記爲 CLT_SEQ)必須知足條件: SYR_ACK<= CLT_SEQ <= SYR_ACK+SYR_WND,其中 SYR_WND 爲服務器的接收窗口,telnet 服務器纔會接收該數據包,如此,攻擊者就劫持了 Victim 與 telnet 服務器間的會話,並以 Victim 已經驗證的身份執行任意命令
    4. Victim 仍然會繼續維待與 telnet 服務器之間的鏈接會話,但因爲與 telnet 服務器之間的 ACK 值互相再也不匹配產生出 "ACK 風暴" 。ACK 風暴使得 TCP 會話劫持攻擊很容易被網絡管理人員所發現,所以攻擊者每每會發送 RST 重置掉 Victim 和服務器之間的會話鏈接。
      圖片描述
  • TCP 會話劫持攻擊防範措施:在下一代互聯網協議設計方面從根本上避免會話劫待攻擊以外, 目前對該種攻擊可採起的防範措施包括:禁用主機上的源路由, 採用靜態綁定 IP-MAC 映射表以免 ARP 欺騙, 引用和過濾 ICMP 重定向報文,這三個措施可以避免攻擊者成爲通訊雙方的中間人,從而輕易地進行會話劫持攻擊。

1.3.3 TCP SYN Flood 拒絕服務攻擊

TCP SYN Flood,又稱 SYN 洪泛攻擊, 是目前最爲有效和流行的一種拒絕服務攻擊形 式。它利用 TCP 三次握手協議的缺陷,向目標主機發送大量的僞造源地址的 SYN 鏈接請求,消耗目標主機的鏈接隊列資源,從而不可以爲正經常使用戶提供服務。

  • SYN Flood 攻擊原理:在SYN Flood 攻擊中,攻擊主機向受害主機發送大量僞造源地址的 TCP SYN 報文,受害主機分配必要的資源,而後向源地址返回 SYN/ACK 包,並等待源端返回 ACK 包,若是僞造的源地址主機活躍,將會返回一個 RST 包直接關閉鏈接,但大部分僞造源地址是非活躍的,這種狀況下源端永遠都不會返回 ACK 報文,受害主機繼續發送SYN+ACK 包,並將半開鏈接放入端口的積壓隊列中,雖然通常的主機都有超時機制和默認的重傳次數,可是因爲端口的半鏈接隊列的長度是有限的,若是不斷地向受害主機發送大量的 TCP SYN 報文,半開鏈接隊列就會很快填滿,服務器也就拒絕新的鏈接,致使該端口沒法響應其餘機器進行的正常鏈接請求,最終使受害主機被拒絕服務。
    圖片描述

  • SYN Flood 攻擊防範措施:對於 SYN Flood攻擊的主要防範措施包括: SYN-Cookie 技術和防火牆地址狀態監控技術
    圖片描述

圖片描述

1.3.4 UDP Flood拒絕服務攻擊

因爲 UDP 協議的無狀態不可靠的自然特性,UDP Flood 拒絕服務攻擊的原理很是簡單,即經過向目標主機和網絡發送大蜇的 UDP 數據包,形成目標主機顯著的計算負載提高,或者目標網絡的網絡擁塞,從而使得目標主機和網絡陷入不可用的狀態,形成拒絕服務攻擊。UDP Flood 除了在短期發送內容儘量多的 UDP 報文以外, 沒有其餘額外特別的技術。

1.4 TCP/IP網絡協議棧攻擊防範措施

  • 監測、預防與安全加固

    • 網絡接口層:主要監測防護的是嗅探。能夠檢測出局域網的監聽點;優化網絡結構;對關鍵的網關和路由作好防禦。
    • 互聯層:採用多種檢測和過濾技術發現和阻斷網絡中可能出現的欺騙攻擊。
    • 傳輸層:實現加密傳輸和安全控制。
    • 應用層:採用加密、數字簽名等技術。
  • 網絡安全協議:在 IETF、IEEE 802 等國際性的網絡研究和標準化組織內進行討論和改進,並以標準化協議規範方式對業界進行發佈,使得業界可以基於這些標準在網絡設備、操做系統中實現和應用這些安全協議,從而加強現有網絡的安全性。
    圖片描述

  • 下一代互聯網協議:目前 IETF 正在進行以 IPv6 爲表明的下一代互聯網協議的設計、標準化與改進工做,而這也爲從根本上改善 TCP/IP 協議棧的安全情況提供了一個絕佳的機會,IPv6 和相關配套的網絡協議在設計時很是注重對安全性的考慮,目前正處在不斷髮展和完善的過程當中,在不久的未來將取代目前被普遍使用的 IPv4 協議,預期也可以在安全的協議基礎上構建出一 個更加安全的下一代互聯網。

2. 實踐過程

完成 TCP/IP 協議棧重點協議的攻擊實驗, 具體包括 ARP 緩存欺騙攻擊、ICMP 重定向攻擊、SYN Flood 攻擊、TCPRST 攻擊及 TCP 會話劫持攻擊(bonus)。
本次所用攻擊機爲kail linux,靶機爲Linux Metasploitable和Windows Metasploitable,測試機爲seed ubuntu

2.1 IP源地址欺騙

能夠採用nmap掃描器進行IP源地址攻擊,參數-D後接要僞造的P地址。
這個實驗所用到攻擊機爲kail,靶機爲Linux Metasploitable,ip地址以下

主機名稱 ip地址
kail linux 192.168.200.3
Linux Metasploitable 192.168.200.125

這裏查看 192.168.200.125 上的8080端口是否開放,且使用IP源地址爲192.168.200.7進行欺騙,則相應的nmap命令爲:nmap -sS -p 8080 192.168.200.125 -D 192.168.200.7。打開wireshark監聽數據包
圖片描述
能夠看到nmap要知道端口是否開放,還須要以所在機器的IP發送SYN包,因此用Wireshark 能夠監聽到兩個SYN包,分別是從 192.168.200.3 和 192.168.200.7 發送到 192.168.200.125 的,後者即是nmap構造的欺騙數據包。(由結果可知靶機8080端口關閉)
圖片描述

2.2 ARP緩存欺騙攻擊

Netwox 中的 33 號工具能夠構造任意的以太網 ARP數據報,能夠用它來完成arp緩存欺騙攻擊
所用的三臺虛擬機分別是:攻擊機爲kail linux,靶機爲Linux Metasploitable和Windows 2000 Server。如下簡稱爲A(kail linux),B(Linux Metasploitable),
C(Windows 2000 Server)機。三臺虛擬機的ip地址和mac地址以下表所示

主機 ip地址 mac地址
A 192.168.200.3 00:0c:29:dd:26:c3
B 192.168.200.125 00:0c:29:94:0e:e1
C 192.168.200.124 00:0c:29:6b:71:46

A 分別向 B、C 發送僞造的應答(或者請求)數據包進行欺騙,使得 B、C的 ARP 緩存表中的映射關係分別是 IP(C) /MAC (A),IP (B) /MAC (A) 。
首先查看B主機的arp緩存列表
圖片描述
在A主機執行命令行netwox 33 -b 00:0c:29:94:0e:e1 -g 192.168.200.124 -h 00:0c:29:94:0e:e1 -i 192.168.200.125 (-b 以太網幀的目的mac地址;-g arp ip的源地址 ;-h arp 以太網幀的目的mac地址;-i arp ip的目的地址)
圖片描述
其中關鍵部分 "this address : 00:0c:29:dd:26:c3 192.168.200.124" 使得目標主機 B 保存這對映射關係而達到欺騙的目的。
再次查看B主機的arp緩存列表
圖片描述
能夠看到在B主機的arp緩存列表中,C主機的ip地址映射爲了A主機的mac地址
同理可對C主機進行arp欺騙攻擊
首先查看C主機的arp緩存列表
圖片描述
在A主機執行命令行netwox 33 -b 00:0c:29:6b:71:46 -g 192.168.200.125 -h 00:0c:29:6b:71:46 -i 192.168.200.124
圖片描述
再次查看C主機的緩存列表
圖片描述
能夠看到在C主機的arp緩存列表中,B主機的ip地址映射爲了A主機的mac地址

2.3 ICMP重定向攻擊

利用Netwox 的第86號工具, 能夠進行ICMP重定向攻擊實驗, 其工做原理是嗅探網絡中的數據包,每嗅探到一個符合要求的數據包(本身設定),就向該IP地址發送—個ICMP 重定向報文,讓該IP的主機重定向至預先設定的IP地址
首先須要將攻擊機和靶機改成橋接模式(若是採用NAT模式或者僅主機模式,親測攻擊機能夠發出重定向報文,而且靶機能夠接收到,可是靶機路由表不會改變,目前還不清楚緣由.....)
攻擊機kail爲192.168.0.106,目標主機爲192.168.0.104,網關地址爲192.168.0.1,攻擊機使用Netwox86號工具進行欺騙。 當使用後Netwox便進入監聽狀態。
首先查看目標主機上的路由表
圖片描述
在kail linux上打開netwox86號工具,使用命令行netwox 86 -f "host 192.168.0.104" -g 192.168.0.106 -i 192.168.0.1
(ps:命令行的含義爲嗅探到數據包的源或目的IP地址192.168.0.104時,就以192.168.0.1的名義向數據包的源地址發送一個ICMP重定向報文,使之使用192.168.0.106做爲默認的路由。)
圖片描述
同時打開wireshark監聽數據包,而且使用靶機ping百度的網址,能夠從wireshark看到攻擊機以192.168.0.1的名義向靶機發送了icmp重定向報文
圖片描述
再次查看靶機路由表,能夠看到靶機訪問211.138.106.7時的網關變成了192.168.0.106
圖片描述

2.4 SYN Flood 攻擊

能夠利用netwox76號工具來完成此次攻擊,這個實驗使用3臺主機,與2.2實驗所用主機相同,主機和ip地址以下表所示,kail爲攻擊機,Linux Metasploitable爲靶機,Windows 2000 Server爲測試機

主機名稱 ip地址
kail linux 192.168.200.3
Linux Metasploitable 192.168.200.125
Windows 2000 Server 192.168.200.124

在 IP 地址爲 192.168.200.3 的主機 kail 進行攻擊前,咱們將 IP 地址爲 192.168.200.124 的主機 Windows 2000 Server向 IP 地址爲 192.168.200.125 的服務器 Linux Metasploitable 發起 TCP 鏈接請求。 服務器能夠正常回應,並創建鏈接。 斷開 Windows 2000 Server 與 Linux Metasploitable 的鏈接,在 C 中打開 Netwox 軟件,選擇編號爲 76 的 "Synflood" 工具並輸入目標地址,主機 kail 即開始進行 TCP SYN Flood 攻擊。 此時再使用主機 Windows 2000 Server 向服務器 Linux Metasploitable 發送鏈接請求,會沒法正常訪問。
這裏選擇利用 Windows 2000 Server 向靶機 Linux Metasploitable 發起telnet服務訪問,用 kail 攻擊機攻擊靶機的telnet服務端口,並用Wireshark查看
首先用主機 Windows 2000 Server 向 Linux Metasploitable 發起登錄 telnet 192.168.200.125 23,能夠正常登錄
圖片描述
斷開鏈接, 在Kali上利用netwox的76號工具對靶機的23號端口進行SYN Flood攻擊
netwox 76 -i 192.168.200.125 -p 23,同時打開wireshark監聽
圖片描述
能夠看到攻擊機向靶機發送了大量的虛假ip發出的SYN鏈接請求
圖片描述
再次使用主機 Windows 2000 Server 向 Linux Metasploitable 發起登錄,發現登錄響應須要較長時間
圖片描述

2.5 TCP RST 攻擊

能夠利用netwox78號工具來完成此次攻擊,這個實驗使用3臺主機,主機和ip地址以下表所示,kail爲攻擊機,Linux Metasploitable 爲靶機seed 爲測試機

主機名稱 ip地址
kail linux 192.168.200.3
Linux Metasploitable 192.168.200.125
seed 192.168.200.6

在Netwox中,找們能夠選擇編號爲78的"Resetevery TCP packet"工具來實現TCP RST攻擊。同時,咱們使用 Wireshark軟件來對攻擊過程當中主機之間的通訊進行監聽,並分析攻擊過程。假設IP地址爲192.168.200.125的主機 Linux Metasploitable 已經與IP地址爲 192.168.200.6 的主機 seed 創建了TCP鏈接,IP地址爲 192.168.200.3的主機 kail 企圖對當前創建TCP鏈接進行RST攻擊。在主機C中打開Netwox選定78號工具,並輸入主機 Linux Metasploitable 的IP地址做爲攻擊目標。此時,當主機 seed 再向主機 Linux Metasploitable發送信息時,主機 kail 將監聽到此信息,分析數據包的端口號、SEQ號後,假冒 Linux Metasploitable 的名義向 seed 發送帶有RST標誌的分組,從而斷開二者的TCP鏈接。
一樣選擇利用 seed 向靶機 Linux Metasploitable 發起telnet服務訪問,用 kail 攻擊機攻擊靶機的telnet服務端口,並用Wireshark查看
首先先正常登錄
圖片描述
在Kali上利用netwox的78號工具對靶機進行TCP RST攻擊netwox 78 -i 192.168.200.125,並打開wireshark監聽數據包
圖片描述
能夠看到kail以Linux Metasploitable 的名義向seed發送了帶有RST標誌位的分組
圖片描述
再次打開seed,發現鏈接已經斷開
圖片描述

2.6 TCP 會話劫持攻擊

2.6.1 方法一

能夠利用netwox40工具來完成此次實驗。這個實驗使用3臺主機,攻擊機爲kail linux,靶機爲 seed 和 Linux Metasploitable,3臺主機的ip地址以下表所示

主機名稱 ip地址
kail linux 192.168.200.3
Linux Metasploitable 192.168.200.125
seed 192.168.200.6

首先在seed上使用telnet服務登錄Linux Metasploitable,命令行telnet 192.168.200.125
圖片描述
此時,seed鏈接到linux後輸入ls命令,在同一網段的攻擊機使用 wireshark 嗅探共用網卡,等待客戶機和服務器 通訊,捕捉 telnet 包。
查看wireshark,能夠看到數據包的內容是 l 由於我輸入的命令是 ls 他會把咱們發生的內容拆分開發送,看一下下一個數據包就會發現內容是 s
圖片描述
圖片描述
直接找到最後的一個包,點擊 TransmissionControl Protocol 查看其中的源端口,目的端口,next seq 和 ack 信息。(其中linux的端口固定爲 23 ,由於 telnet 端口是 23 )
圖片描述
由於咱們要僞造發下一個包,因此直接採用 next seq 做爲下一個包的 ack ,採用 ack 做爲下一個包的 seq 。獲取到信息以後,攻擊機使用 netwox 工具僞造seed給linux發一個 tcp 包。發送成功後,原來的客戶端就會失去鏈接,同時linux會把攻擊機看成 客戶端,這樣攻擊機就實現了會話劫持。
使用命令行netwox 40 --ip4-dontfrag --ip4-offsetfrag 0 --ip4-ttl 64 --ip4-protocol 6 --ip4-src 192.168.200.6 --ip4-dst 192.168.200.125 --tcp-src 38818 --tcp-dst 23 --tcp-seqnum 44 --tcp-acknum 5 --tcp-ack --tcp-psh --tcp-window 64 --tcp-data "776c"
由於咱們要僞造 seed 給 linux 的發送TCP包,因此源ip(--ip4-src):seed(192.168.200.6)目的 ip(--ip4-dst):linux(192.168.200.125),seq(--tcp-seqnum )和 ack(--tcp-acknum)按剛纔所說填寫,末尾的 6c 是字母 wl 的十六進制數,這裏的wl是咱們要發送的內容,其他參數默認便可。
查看wireshark,發現僞造的報文成功發送,同時發現Tcp Dup ACK XXX#XTcp Retransmission,這兩個的含義分別是重複應答#前的表示報文到哪一個序號丟失,#後面的是表示第幾回丟失超時引起的數據重傳。這說明引起了seed與linux之間的「ACK風暴」,說明此次劫持是成功的。
圖片描述

2.6.2 方法二

掌握了以上基本方法,可使用Ettercap工具進行TCP 會話劫持攻擊(更加方便),步驟以下
首先,Kali利用ARP欺騙進行tcp會話劫持攻擊,所以打開Kali節點的IP轉發功能(命令行具體含義參照Linux ip_forward 數據包轉發
圖片描述
打開Ettercap,進入Ettercap的GTK圖形界面方式,並選擇「Sniff」菜單中的「Unified Sniff」選項,選擇「eth0」做爲嗅探監聽接口,以下圖所示
圖片描述
隨後在「Hosts」菜單中選擇「Scan for hosts」掃描局域網內攻擊目標,並隨後在菜單「Hosts list」中,選擇Seed 192.168.200.6和 linux Metasploitable 192.168.200.125分別爲target1和target2,以下圖所示
圖片描述
圖片描述
選擇菜單「MITM」中的「ARP poisoning」進行ARP欺騙,並選擇「Sniff remote connections」
圖片描述
此時,在seed和linux中執行arp –a命令顯示MAC地址緩存,將發現ARP欺騙攻擊已成功,其輸入以下:
圖片描述
圖片描述
在seed主機上使用telnet服務到linux主機上,在Kali上,此時Ettercap(View-Connections)顯示以下圖所示,Ettercap已經獲取了telnet的登錄用戶名和密碼
圖片描述

圖片描述
點擊「Inject Data」,Kali節點做爲中間人能夠向TCP會話兩端注入數據,以下圖所示
圖片描述
經過wireshark查看seed與linux Metasploitable之間發生ACK風暴,劫持成功
圖片描述
圖片描述
(ps:對這個工具的使用還不太熟練,下去要多練習)

3. 學習中遇到的問題及解決

  • 問題一:在進行ICMP重定向攻擊實驗時,若是使用的虛擬機網絡模式採用NAT或者僅主機模式,則攻擊機會向靶機發送重定向報文,靶機也能接收到,可是靶機的路由表不會發生改變
  • 問題一解決方案:將攻擊機和靶機的網絡模式改成橋接模式,從新進行實驗,靶機路由表發生改變
  • 問題二:TCP會話劫持的實驗具體作法不太瞭解
  • 問題二解決方案:查看解建國同窗提供的博客,以及本身蒐集資料,最終完成實驗

4. 實踐總結

本次實踐經過對各層網絡協議常見漏洞的攻擊實現,初步瞭解了各層網絡協議的缺陷,以及提升了本身的動手能力。

參考資料

網絡攻防技術與實踐
tcp會話劫持攻擊
tcp會話劫持原理
tcp報文簡介
Linux ip_forward 數據包轉發

相關文章
相關標籤/搜索