SYN攻擊實現

2021-07-07 02:11:11 字數 3802 閱讀 9421

***.xx.***.***機器上用netstat –n –p tcp命令檢視,可以發現很多syn_received連線。

而且都是發生在80埠上,而且無法正常訪問80埠上的服務。其他的網路連線、服務都是

正常的。正常情況下不應該出現大量syn_received狀態的tcp連線。例外這些連線的**位址

都是有一定的規律。根據經驗可以確定是有惡意者對***.xx.***.***進行d.o.s(denial of

service)攻擊。

執行netstat命令結果如下:

active connections

proto  local address            foreign address        state

tcp    127.0.0.1:1025           127.0.0.1:1033         established

tcp    127.0.0.1:1033           127.0.0.1:1025         established

tcp    ***.xx.***.***:80        1.129.155.213:56048    syn_received

tcp    ***.xx.***.***:80        8.71.96.232:18544      syn_received

tcp    ***.xx.***.***:80        17.95.29.168:33072     syn_received

tcp    ***.xx.***.***:80        33.212.238.226:29024   syn_received

tcp    ***.xx.***.***:80        33.250.131.21:46336    syn_received

tcp    ***.xx.***.***:80        41.254.157.63:26688    syn_received

tcp    ***.xx.***.***:80        44.6.143.72:14352      syn_received

tcp    ***.xx.***.***:80        44.233.0.83:2368       syn_received

tcp    ***.xx.***.***:80        46.172.194.36:60560    syn_received

tcp    ***.xx.***.***:80        52.141.107.180:34048   syn_received

tcp    ***.xx.***.***:80        58.92.189.37:59680     syn_received

tcp    ***.xx.***.***:80        147.24.54.140:42160    syn_received

tcp    ***.xx.***.***:80        150.41.8.196:50864     syn_received

........................

........................

tcp    ***.xx.***.***:80        157.176.98.17:49712    syn_received

tcp    ***.xx.***.***:80        165.217.228.103:18416  syn_received

tcp    ***.xx.***.***:80        171.191.13.61:64656    syn_received

tcp    ***.xx.***.***:80        174.45.224.245:30896   syn_received

tcp    ***.xx.***.***:80        181.118.121.182:23984  syn_received

tcp    ***.xx.***.***:80        191.3.0.46:2864        syn_received

tcp    ***.xx.***.***:80        196.235.126.62:57024   syn_received

tcp    ***.xx.***.***:80        208.104.144.7:50912    syn_received

tcp    ***.xx.***.***:80        209.232.143.50:57248   syn_received

tcp    ***.xx.***.***:80        214.14.49.76:50496     syn_received

tcp    ***.xx.***.***:80        223.71.101.172:62528   syn_received

........................

........................

攻擊方式的分析:

通過對netstat命令結果的分析。可以知道這是利用tcp的脆弱性進行攻擊的。簡單說就是攻

擊者偽造乙個假的ip包,傳送到目標攻擊的機器,浪費目標機器上的tcp資源,從而是目標機

器無法為正常訪問者提供服務的一種攻擊。

現今很多internt的服務都是建立在tcp連線上面的,包括telnet ,www, email。當一台機器

(我們稱它為客戶端)企圖跟乙個臺提供服務的機器(我們稱它為服務端)建立tcp連線時,

它們必須先按次序交換通訊好幾次,這樣tcp連線才能建立起來。

開始客戶端會傳送乙個帶syn標記的包到服務端;

服務端收到這樣帶syn標記的包後,會傳送乙個帶syn-ack標記的包到客戶端作為確認;

當客戶端收到服務端帶syn-ack標記的包後 ,會向服務端傳送乙個帶ack標記的包。

完成了這幾個步驟(如下圖),它們的tcp連線就建立起來了,可以進行資料通訊。

客戶端 服務端

syn → 

← syn-ack

ack → 

攻擊者就是利用tcp連線的建立需要這樣的過程的特點,作為攻擊的手段。

他們(攻擊者)偽造乙個ip包,其中裡面包含乙個syn標記和假的源ip位址,傳送到目標機器

(受攻擊的機器)。

目標機器(受攻擊的機器)收到攻擊者傳送過來的偽造的ip包,會嘗試向ip包裡面記錄的源

ip位址傳送乙個帶syn-ack標記的包到源ip位址的機器上。

由於攻擊者傳送過來的ip包裡面包含的源ip位址為偽造的,所以目標機器(受攻擊的機器)

根本無法成功傳送帶syn-ack標記的包到偽造的源ip位址的機器上。造成目標機器(受攻擊的

機器)的等待,嘗試再連線。

因為目標機器(受攻擊的機器)的等待是需要占用系統一定的資源的。如果這樣的連線到了

一定的數目,系統沒有更多的資源來為新的連線作出響應,那麼tcp連線就無法建立,換而言

之,就是無法提供正常的服務。

而這些等待的資源會在一定的時間(time out)後被釋放。而windows nt的預設設定第一次為

3秒的超時,嘗試5次,每次嘗試的超時時間為前一次的兩倍。如下表:

花費時間(秒) 累計花費時間(秒)

第一次,失敗 3 3

嘗試第1次,失敗 6 9

嘗試第2次,失敗 12 21

嘗試第3次,失敗 24 45

嘗試第4次,失敗 48 93

嘗試第5次,失敗 96 189

從上表,我們可以看到,如果是windows nt預設的設定,那麼乙個這樣攻擊,將會把響應的

資源占用189秒,189秒後系統才會自動釋放。如果這樣的連線數目到了一定程度之後,系統

就無法提供正常的服務了。

SYN攻擊實現

syn攻擊 xx.機器上用netstat n p tcp命令檢視,可以發現很多syn received連線。而且都是發生在80埠上,而且無法正常訪問80埠上的服務。其他的網路連線 服務都是 正常的。正常情況下不應該出現大量syn received狀態的tcp連線。例外這些連線的 位址 都是有一定的規...

SYN攻擊處理

針對syn攻擊的幾個環節,提出相應的處理方法 方式1 減少syn ack資料報的重發次數 預設是5次 sysctl w net.ipv4.tcp synack retries 3 sysctl w net.ipv4.tcp syn retries 3 方式2 使用syn cookie技術 sysct...

SYN 攻擊 常識 預防

syn攻擊 windows系統開放tcp 139埠 unix系統開放 tcp7 tcp21,tcp23等埠 syn攻擊特點 系統自帶的 netstat工具 檢測 syn 攻擊 unix系統 netstat n p tcp 命令列 如果很多連線處於syn recv 狀態特別是源ip位址是隨機的 win...