帶你破解DDOS攻擊的原理

DDOS簡介

DDOS又稱為分散式拒絕服務,全稱是Distributed Denial of Service。DDOS本是利用合理的請求造成資源過載,導致服務不可用,從而造成伺服器拒絕正常流量服務。就如酒店裡的房間是有固定的數量的,比如一個酒店有50個房間,當50個房間都住滿人之後,再有新的使用者想住進來,就必須要等之前入住的使用者先出去。如果入住的使用者一直不出去,那麼酒店就無法迎接新的使用者,導致酒店負荷過載,這種情況就是“拒絕服務”。如果想繼續提供資源,那麼酒店應該提升自己的資源量,伺服器也是同樣的道理。

拒絕服務攻擊的基本概念

**拒絕服務:**拒絕服務是指應用系統無法正常對外提供服務的狀態,如網路阻塞、系統宕機、響應緩慢等都屬於拒絕服務的表現。

拒絕服務攻擊(DOS)

:拒絕服務攻擊(Denial of Service Attack)是一種透過各種技術手段導致目標系統進入拒絕服務狀態的攻擊,常見手段包括利用漏洞、消耗應用系統性能和消耗應用系統頻寬。

帶你破解DDOS攻擊的原理

分散式拒絕服務攻擊(DDOS)

:分散式拒絕服務攻擊(Distributed Denial of Service Attack)是拒絕服務攻擊的高階手段,利用分佈全球的殭屍網路發動攻擊,能夠產生大規模的拒絕服務攻擊。

DDOS攻擊分類

(1)漏洞型(基於特定漏洞進行攻擊):只對具備特定漏洞的目標有效,通常傳送特定資料包或少量的資料包即可達到攻擊效果。

(2)業務型(消耗業務系統性能額為主):與業務型別高度相關,需要根據業務系統的應用型別採取對應的攻擊手段才能達到效果,通常業務型攻擊實現效果需要的流量遠低於流量型。

(3)流量型(消耗頻寬資源為主):主要以消耗目標業務系統的頻寬資源為攻擊手段,通常會導致網路阻塞,從而影響正常業務。

拒絕服務攻擊處理流程

(1)現象分析:根據發現的現象、網路裝置和服務的情況初步判斷是否存在拒絕服務攻擊。

(2)抓包分析:透過抓包分析的方式進一步瞭解攻擊的方式和特徵。

(3)啟動對抗措施:最後啟動對抗措施進行攻擊對抗,可以進行資源提升、安全加固、安全防護等措施。

DDOS流量包分析

SYN Flood攻擊

帶你破解DDOS攻擊的原理

在正常的情況下,TCP三次握手過程如下

客戶端向伺服器端傳送一個SYN請求包,包含客戶端使用的埠號和初始序列號x。

伺服器端收到客戶端傳送過來的SYN請求包後,知道客戶端想要建立連線,於是向客戶端傳送一個SYN請求包和ACK迴應包,包含確認號x+1和伺服器端的初始序列號y。

客戶端收到伺服器端返回的SYN請求包和ACK迴應包後,向伺服器端返回一個確認號y+1和序號x+1的ACK請求包,三次握手完成,TCP連線建立成功。

SYN Flood攻擊原理:

首先是客戶端傳送一個SYN請求包給伺服器端,伺服器端接受後會傳送一個SYN+ACK包迴應客戶端,最後客戶端會返回一個ACK包給伺服器端來實現一次完整的TCP連線。Syn flood攻擊就是讓客戶端不返回最後的ACK包,這就形成了半開連線,TCP半開連線是指傳送或者接受了TCP連線請求,等待對方應答的狀態,半開連線狀態需要佔用系統資源以等待對方應答,半開連線數達到上限,無法建立新的連線,從而造成拒絕服務攻擊。

受害靶機的流量包分析

帶你破解DDOS攻擊的原理

利用wireshark軟體抓取資料包的資料,透過篩選器篩選出傳送包頻率多的ip地址。

帶你破解DDOS攻擊的原理

篩選218。xxx。xxx。87,分析協議佔比,發現tcp和http佔比比較大

帶你破解DDOS攻擊的原理

篩選tcp中的syn資料包,發現syn資料包占比為82。9,可以判斷應該為SYN FLOOD拒絕服務攻擊

UDP Flood攻擊

UDP Flood攻擊原理:

由於UDP屬於無連線協議,消耗的系統資源較少,相同條件下容易產生更高的流量,是流量型攻擊的主要手段。當受害系統接收到一個UDP資料包的時候,它會確定目的埠正在等待中的應用程式。當它發現該埠中並不存在正在等待的應用程式,它就會產生一個目的地址無法連線的ICMP資料包傳送給該偽造的源地址。如果向受害者計算機埠傳送了足夠多的UDP資料包的時候,系統就會造成拒絕服務攻擊,因此,UDP FLOOD成為了流量型拒絕服務攻擊的主要手段。

受害靶機的流量包分析

帶你破解DDOS攻擊的原理

利用wireshark軟體抓取資料包的資料,透過篩選器篩選出傳送包頻率多的ip地址。

篩選117。xxx。xxx。0網段,分析協議佔比,可以看到受害靶機接受的UDP包比較多。

帶你破解DDOS攻擊的原理

可以看到UDP包的大小都是固定的172bytes。

帶你破解DDOS攻擊的原理

可以看出都是傳送udp包,udp包大小都是相同的,可以判斷是udp flood攻擊。

帶你破解DDOS攻擊的原理

慢速拒絕服務攻擊

apt install slowhttptest -y

安裝slowhttptest

帶你破解DDOS攻擊的原理

慢速拒絕服務攻擊原理:

完整的http請求包是以 \r\n\r\n 結尾,慢速拒絕服務攻擊時僅傳送 \r\n,少傳送一個 \r\n,伺服器認為請求還未發完,伺服器就會一直等待直至超時。

slowhttptest -c 5000 -H -g -o my_header_stats -i 10 -r 5000 -t GET -u “http://10。10。10。134” -x 200 -p 3

(測試時建立5000連線數-c;選擇slowloris模式-H;生成cvs和HTML檔案的統計資料-G;生成的檔名my_header_stats -o;指定傳送資料間的間隔10秒 -i 每秒連線數5000-t;指定url-u;指定傳送的最大資料長度200 -x;指定等待時間來確認DOS攻擊已經成功-p)

帶你破解DDOS攻擊的原理

觀察靶機的cpu和網路流量明顯增加很多

帶你破解DDOS攻擊的原理

帶你破解DDOS攻擊的原理

受害靶機的流量包分析

帶你破解DDOS攻擊的原理

攻擊機ip:10。10。10。129,靶機ip:10。10。10。134

[PSH,ACK]是攻擊機發送有資料的ACK包給靶機,[ACK]包是靶機回覆攻擊機的資料包。

可以看到沒有傳送2次連續的\r\n,以至於靶機要一直等待。

帶你破解DDOS攻擊的原理

http協議比例為36。6,tcp協議比例為87。4

帶你破解DDOS攻擊的原理

篩選ack資料包,佔比率98。2,不符合常態,綜上可以判斷為慢速拒絕服務攻擊

帶你破解DDOS攻擊的原理

ICMP Flood攻擊

ICMP Flood攻擊原理:

當 ICMP ping 產生的大量回應請求超出了系統的最大限度,以至於系統耗費所有資源來進行響應直至再也無法處理有效的網路資訊流,但是由於ICMP協議報文被丟棄不影響大多數系統執行,所以容易被防護。

利用hping3造成ICMP Flood攻擊

hping3 -q -n -a 1。1。1。1 –icmp -d 200 –flood 10。10。10。134

帶你破解DDOS攻擊的原理

觀察靶機的cpu和網路流量明顯增加很多

帶你破解DDOS攻擊的原理

帶你破解DDOS攻擊的原理

受害靶機的流量包分析

偽造的源ip:1。1。1。1傳送大量icmp包給目標ip:10。10。10。134

帶你破解DDOS攻擊的原理

篩選出同一IP傳送大量ICMP包,且佔比率86。0,判斷為ICMP拒絕服務攻擊。

帶你破解DDOS攻擊的原理

帶你破解DDOS攻擊的原理

後記

拒絕服務攻擊造成的危害是比較大的,本質是對有限資源的無限制的佔用所造成的,所以在這方面需要限制每個不可信任的資源使用中的分配額度,或者提高系統的有限資源等方式來防範拒絕服務攻擊。

相關文章