1. 程式人生 > 其它 >20212937 曾俊銘 《TCP/IP網路協議攻擊》

20212937 曾俊銘 《TCP/IP網路協議攻擊》

20212937 曾俊銘 2021-2022-2 《網路攻防實踐》第六週實驗報告

1.實踐內容

在網路攻防實驗環境中完成TCP/IP協議棧重點協議的攻擊實驗,包括ARP快取欺騙攻擊、ICMP重定向攻擊、SYN Flood攻擊、TCP RST攻擊、TCP會話劫持攻擊。

  • ARP欺騙
    原理:
    攻擊者在有線乙太網或是無線網路上傳送偽造的ARP訊息,對特定IP所對應MAC地址進行欺騙,使區域網內主機記錄的MAC-IP地址對映表中被攻擊者的條目的MAC地址修改為攻擊者指定的MAC地址,這樣區域網內傳送給被攻擊者的資料包就會發送給修改後的MAC地址主機。

  • ICMP重定向攻擊
    原理:
    攻擊者偽裝成路由器(IP地址欺騙:冒充為閘道器)傳送虛假的ICMP重定向路由路徑控制報文,使得受害主機選擇攻擊者指定的路徑,從而實現嗅探或假冒攻擊。這裡存在一個現象:再轉發的過程中,攻擊節點協議棧可能會向被攻擊者傳送ICMP重定向報文,說明直接傳送給真實的閘道器比傳送給攻擊機少一跳,這個報文將會是欺騙路徑更改至原路徑。

  • TCP RST攻擊
    原理:
    TCP RST攻擊可以終止兩個被攻擊主機之間的TCP連線。

  • TCP SYN Flood:又稱為SYN洪泛攻擊
    原理:
    它利用TCP三次握手協議的缺陷,向目標主機發送大量的偽造源地址的SYN連線請求,消耗目標主機的連線佇列資源,從而不能夠為正常使用者提供服務

  • TCP會話劫持:
    原理:
    劫持通訊雙方已建立的TCP會話連線,假冒其中一方的身份與另一方進行進一步通訊。通常一些網路服務會建立在TCP會話之後進行應用層的身份認證,客戶端在通過身份認證之後,就可以通過TCP會話連線對伺服器索取資源。且期間不用再次進行身份認證。而TCP會話劫持為 攻擊者提供了一種繞過應用層身份認證的技術途徑,因此得到較高水平攻擊者的青睞。

2.實踐過程

選取kali作為攻擊機,MetaSploitable_ubuntu和SEED_Ubuntu作為靶機
將三個虛擬機器改為橋接模式,分別檢視其IP地址和MAC地址

kali:
ip: 192.168.1.118
MAC: 00:0c:29:a6:61:35

MetaSploitable_ubuntu:
ip: 192.168.1.120
MAC: 00:0c:29:74:48:95

SEED_Ubuntu:
ip: 192.168.1.119
MAC: 00:0c:29:ea:0d:b6

  • ARP快取欺騙
    用SEED_Ubuntu虛擬機器ping MetaSploitable_ubuntu虛擬機器

檢視ARP快取表

在kali虛擬機器上執行netwox 80 -e 00:0c:29:a6:61:35 -i 192.168.1.120 (80是指netwox的80號工具,第一個為攻擊機Kali的MAC地址,第二個為MetaSploitable_ubuntu的IP地址,執行後就在區域網內廣播這條命令。)

在SEED_Ubuntu虛擬機器中利用命令再次檢視arp快取表,可以發現這時192.168.1.120對應的IP地址應該改為了KALI的MAC地址

進行驗證,需要Kali虛擬機器能夠監聽SEED_Ubuntu和MetaSploitable_ubuntu的通訊,為了能夠監聽,我們需要將MetaSploitable_ubuntu中的arp快取表中SEED_Ubuntu虛擬機器IP地址對應的MAC地址改為Kali虛擬機器的MAC地址,因此執行命令netwox 80 -e 00:0c:29:a6:61:35 -i 192.168.1.119
在MetaSploitable_ubuntu中檢視arp快取表

在Kali虛擬機器中開啟wireshark,並在SEED_Ubuntu虛擬機器中利用命令ping 192.168.1.120

利用ip.src192.168.1.120 or ip.dst192.168.1.120在wireshark中過濾資料包,從圖中可以看到,在kali上抓到了SEED_Ubuntu虛擬機器ping MetaSploitable_ubuntu虛擬機器的ICMP資料包等

-ICMP重定向攻擊
開啟SEEDubuntu,檢視閘道器地址:

ping www.baidu.com 測試連通性:

使用netwox的86號工具進行ICMP重定向攻擊,在Kali攻擊機上執行命令netwox 86 -f "host 192.168.1.119" -g 192.168.1.118 -i 192.168.1.1,這個命令是當嗅探到SEED的資料包時,以192.168.1.1的名義傳送ICMP重定向報文,使Kali成為其預設路由

ping baidu.com 資料包發現已經被重定向到192.168.1.1

- SYN Flood攻擊

在SEEDUbuntu終端中輸入telnet 192.168.1.120,對靶機Metasploitable_Ubuntu進行遠端登入

在kali輸入netwox 76 -i 192.168.1.119 -p 23
該攻擊是TCP裡面的SYN Flooding,Dos攻擊。
利用TCP三次握手協議的缺陷,向目標主機發送大量的偽造源地址的SYN連線請求,消耗目標主機的連線佇列資源,從而不能夠為正常使用者提供服務

在攻擊機kali中開啟wireshark,發現大量TCP SYN資料包,表明了SYN flood攻擊

登入靶機telnet 192.168.1.119,發現已失去和主機的聯絡

- TCP RST攻擊
在SEEDUbuntu終端中輸入telnet 192.168.1.120,對靶機Metasploitable_Ubuntu進行遠端登入

在kali中輸入netwox 78 -i 192.168.1.120,對靶機Metasploitable_Ubuntu進行TCP RST攻擊,
TCP重置報文會直接關閉一個TCP會話連線

在SEEDUbuntu終端中輸入telnet 192.168.1.120,連線已經關必,攻擊成功

- TCP會話劫持攻擊
在kali中可以使用sudo ettercap -G命令,開啟ettercap圖形化介面進行操作

開啟Ettercap Menu->Hosts->Host List

點選 hosts list,將靶機Metasploitable_Ubuntu設為target1,SEEDUbuntu設為target2

選擇MITM menu中的 ARP poisoning 進行ARP欺騙

在kali的Ettercap中選擇Ettercap Menu選單欄上選擇View-Connections
接著用SEEDubuntu登入Metasploitable_Ubuntu,telnet 192.168.1.120

開啟Ettercap選單選擇view,選擇connections

開啟後能夠看到靶機使用的使用者名稱、密碼等資訊


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

  • 問題1:在TCP SYN flood中,泛洪攻擊導致kali直接崩了,無法抓包分析
  • 問題1解決方案:重新啟動kali,在攻擊開始很短時間內暫停抓包
  • 問題2:ICNP重定向中,kali成為預設路由的命令系統檢測無效
  • 問題2解決方案:通過PING靶機,發現因為SYN Flood導致宕機,我重新開機沒有連上網,重新聯網就解決了

4.實踐總結

本次實驗簡單介紹了TCP/IP協議棧重點協議的攻擊實驗,大病初癒,這次實驗有一點趕,但還好趕上了。無論是從攻擊機到靶機還是靶機到靶機,連通性,保密性都是實驗中最常遇見的問題,TCP SYN flood這類破壞性大不隱蔽的攻擊方式對於使用者來說比ICMP 重定向,arp欺騙等好一些,至少可以快速找到原因。網路安全是門很複雜的學科,這只是皮毛而已,繼續加油吧。