***.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...