1. 程式人生 > 其它 >20212935 2021-2022-2 實踐四

20212935 2021-2022-2 實踐四

1 實驗目的

基於TCP/IP協議進行攻擊實驗,瞭解TCP/IP協議的具體機制。

2 實驗環境

Kali、Seed、Ubuntu、Win2k。

3 實驗內容及原理

3.1 實驗內容:

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

3.2 實驗原理:

3.2.1 ARP欺騙

ARP快取是ARP協議的重要組成部分。ARP協議執行的目標就是建立MAC地址和IP地址的對映,然後把這一對映關係儲存在ARP快取中,使得不必重複執行ARP 協議。但是ARP快取不是一成不變的,我們可以偽造ARP應答幀纂改ARP對映表,這就是ARP欺騙。這樣的後果會使主機發送資訊到錯誤的MAC地址,導致資料被竊聽;要麼由於MAC地址不存在,導致資料傳送不成功。

3.2.2 ICMP重定向攻擊

ICMP重定向資訊是路由器向主機提供實時的路由資訊,當一個主機收到ICMP重定向資訊時,它就會根據這個資訊來更新自己的路由表。因此,我們可以傳送ICMP重定向資訊給被攻擊的主機,讓該主機按照黑客的要求來修改路由表。

3.2.3 SYN洪流攻擊

SYN攻擊是一種DoS (Denial of Service)攻擊,在這種攻擊中黑客向被攻擊者的TCP埠傳送很多SYN請求,但是黑客並不是想完成三次握手協議,而是使用偽造的IP地址或者只進行三次握手協議中的第一次握手。因為SYN資料包用來開啟一個TCP連結,所以受害者的機器會向偽造的地址傳送一個SYN/ACK資料包作為迴應,並等待預期的ACK 響應。每個處於等待狀態,半開的連結佇列都講進入空間有限的待處理佇列。由於偽造的源地址實際上並不存在,所以將那些等待佇列中的記錄刪除並完成建立TCP連線所需的ACK響應用於不會到來,相反每個半開的連線一定會超時,這將花費一段比較長的時間。只要攻擊者使用偽造的SYN資料包繼續泛洪受害者的系統,受害者的待處理佇列將一直處於滿員,這使得真正的SYN 資料包幾乎不可能到達系統並開啟有效的TCP連線。

3.2.4 RST攻擊

這種攻擊只能針對tcp、對udp無效。RST( Reset the connection)用於復位因某種原因引起出現的錯誤連線,也用來拒絕非法資料和請求。如果接收到RST位時候,通常發生了某些錯誤。

3.2.5 會話劫持(Session Hijack)

會話劫持就是結合了嗅探以及欺騙技術在內的攻擊手段。例如,在一次正常的會話過程當中,攻擊者作為第三方參與到其中,他可以在正常資料包中插入惡意資料,也可以在雙方的會話當中進行監聽,甚至可以是代替某一方主機接管會話。

4 實驗過程

4.1 ARP快取欺騙攻擊:

4.1.1 實驗環境:

(1)kali-linux IP地址:192.168.200.4  MAC地址:00:0c:29:77:3a:9c

(2)Metasploitable_ubuntu IP地址:192.168.200.5  MAC地址:00:0c:29:bb:f4:cc

(3)Win2kServer_SP0_target IP地址:192.168.200.124  MAC地址:00:0c:29:ba:cb:a3

互相檢查是否ping通:

Kali ping win2k和ubuntu:

Ubuntu ping win2k和kali:

Win2k ping Ubuntu和kali:

4.1.1 實驗過程

(1)Ubuntu ping win2k後輸入arp -a命令並記錄。

(2)使用kali進行攻擊:先安裝netwox,然後輸入命令netwox 80 -e 00:0c:29:8f:db:91 1 -i 192.168.200.124,再返回Ubuntu輸入arp -a命令檢視,會發現發生了變化。

4.2 ICMP重定向攻擊:

4.2.1 實驗環境

SeedUbuntu的IP地址為192.168.200.6  MAC地址:00:0c:29:5a:75:6d

4.2.2 實驗過程:

(1)kali中輸入命令netwox 86 -f "host 192.168.200.6" -g 192.168.200.4 -i 192.168.200.1 進行攻擊。

(2)ping baidu.com發現IP地址發生改變:

4.3 SYN Flood攻擊

4.3.1 實驗環境:

Kali:192.168.200.4

seedUbuntu:192.168.200.6

Me-Ubuntu: 192.168.200.5

4.3.2 實驗過程:

(1)seedubuntu中輸入命令telnet 192.168.200.5後提示賬號登陸,登陸後輸入命令ls,顯示成功。即可正常使用me-ubuntu。

(2)開啟kali,輸入命令netwox 76 -i 192.168.200.5 -p 23對靶機進行攻擊。

(3)進入seedubuntu,重新telnet,可以發現卡頓了很長時間。

(4)開啟wireshark進行抓包檢測,可以發現很多未知IP對其進行攻擊

4.4 SYN Rst攻擊:

4.4.1 實驗環境:

Kali:192.168.200.4

seedUbuntu:192.168.200.6

Me-Ubuntu: 192.168.200.5

4.4.2實驗過程:

(1)檢驗是否可以登入:開啟ubuntu輸入命令telnet 192.168。200.5檢視,發現可以登入正常使用。

(2)開啟kali對其進行攻擊:輸入命令netwox 78 -i 192.168.200.5.

(3)重新在ubuntu telnet192.168.200.5,發現無法telnet,攻擊成功。

4.5 TCP會話劫持攻擊:

4.5.1 實驗環境:

Kali:192.168.200.4

seedUbuntu:192.168.200.6

Me-Ubuntu: 192.168.200.5

4.5.2實驗過程:

(1)開啟kali,輸入命令ettercap -G,開啟Ettercap:

(2)選擇→Hosts→Scan for hosts→Hosts lists後出現如下:

(3)選擇ubuntu的IP192.168.200.5新增到目標1,選擇seed的IP地址192.168.200.6新增到目標2。

(4)選擇開端→ARP poisoning進行ARP實驗,然後view →connections。

(5)用seed對unbuntu telnet

(6)回到kali,可以發現已經獲取到此資料,也可以看到賬號和密碼資訊。

5 實驗中遇到的問題及解決方法

(1)開始實驗時,攻擊機和靶機相互ping不通。後來檢查發現,因為上個實驗把kali的網路裝置器調成了橋接模式,四個裝置沒有在同一環境下。重新調回剛開始設定的網路介面卡後,各個靶機和攻擊機間可以相互ping通了,從而實驗可以繼續進行下去。

(2)在第二個實驗需要ping baidu時發現怎麼也ping不同,嘗試用網路開啟baidu.com,顯示沒有網路。從網路中查到,虛擬機器接外網可以用如下方法:執行以下命令編輯interfaces檔案,修改檔案內容:sudo vim /etc/network/interfaces,其中dns-nameserver需要配置成主機的預設閘道器,否則虛擬機器無法連線外網。

6 實驗感想

通過這一次內容豐富的實驗,我對基於TCP/IP的攻擊有了更加深刻甚至可以說是比較新的認識,對它們各自的機制、攻擊特點、相互之間可能存在的聯絡以及它們差別所在等等細節問題有了新的看法、認識。TCP/IP協議在設計之初僅考慮了成本和實現功能,並沒有過多考慮安全因素。因此TCP/IP協議棧中提供了大量的起關鍵作用的資訊和指令,但是這些資訊和指令的執行缺乏認證機制,能夠方便地偽造,這也就為如此之多的TCP/IP攻擊提供了可能。