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欺騙等好一些,至少可以快速找到原因。網路安全是門很複雜的學科,這只是皮毛而已,繼續加油吧。