hping3 教學:SYN Flood 攻擊演練、常用參數與偵測防禦方法

hping3 教學:SYN Flood 攻擊演練、常用參數與偵測防禦方法

hping3 是一套可以自訂 TCP/IP 封包的命令列工具,常用於防火牆規則測試、連接埠掃描,以及在授權的實驗環境中模擬 SYN Flood 等阻斷服務(DoS)攻擊,用來驗證防護設備是否有效。這篇在 Kali 對 Windows 10 靶機實際演練,最後補充如何偵測與防禦這類攻擊。

注意:對未經授權的系統發動 DoS 攻擊屬於違法行為(例如刑法第 360 條妨害電腦使用罪),請只在自己架設的隔離實驗環境中練習。

利用大量封包,藉以消耗受害者的網路頻寬與系統資源,導致網路癱瘓,無法提供正常的服務。

任務目標

根據《線上零售效能現狀報告》指出,網站載入時間延遲100毫秒,就會損及7%轉換率,您的目標是針對甲方的電商網站進行一定流量攻擊,以提出強化該網站效能的方案。

使用工具

hping3
作者:antirez
載點:https://github.com/antirez/hping 或 http://www.hping.org/
簡介:hping3 作為網路工具,可自定義TCP/IP封包並顯示回應,用於網路、連接埠、協定、作業系統、服務類型掃描。

攻擊環境

OS:Kali 2021.04
滲透目標:Win10

進行演練

Step 1. 下載 hping3,結果kali自帶了。

apt-get install hping3
hping3 教學:SYN Flood 攻擊演練、常用參數與偵測防禦方法 示意圖 1

Step 2. 查看 hping3 參數設定,說明如下:

  • -c:發送封包的個數
  • -d:每個封包的大小
  • -S:發送SYN封包
  • -w:TCP window大小
  • -p:目標埠,你可以指定任意埠
  • –flood:儘可能快的發送封包
  • –rand-source:隱藏來源位置(隨機產生)
man hping3
hping3 教學:SYN Flood 攻擊演練、常用參數與偵測防禦方法 示意圖 2

Step 3. 使用hping3 工具進行 DoS 攻擊,其中目標網址為 http://192.168.100.112/shop.html 。

sudo hping3 -S 192.168.238.128 -a 192.168.100.112 -p 80 --flood
  • SYN flooding:SYN洪水,一種阻斷服務攻擊
  • Ping of Death:死亡之Ping,惡意的ping指令
hping3 教學:SYN Flood 攻擊演練、常用參數與偵測防禦方法 示意圖 3

Step 4. 觀察目標網站的封包變化,其中圖表顯示目標接收到大量的封包。

電商網站突然收到大量封包
電商網站突然收到大量封包
CPU效能大量消耗
CPU效能大量消耗

討論

儘管hping3的初衷是作為安全工具,卻有可能被有心人士用於非法行為,期望使用這套工具的白帽駭客們,在強化與審核自家系統能否承受外來攻擊之時,也不忘初心,守護永恆的系統。

hping3 的其他實用用途

除了壓力測試,hping3 在日常網路除錯也很好用:

# 用 TCP SYN 測試 443 埠是否可達(適合 ICMP 被擋的環境)
sudo hping3 -S -p 443 -c 3 example.com

# 測試防火牆是否擋下特定旗標的封包
sudo hping3 -F -P -U -p 80 -c 3 192.168.1.20

# 以 TCP 進行 traceroute
sudo hping3 -S -p 80 --traceroute example.com

如何偵測 SYN Flood?

  • 觀察半開連線數量:Linux 用 ss -s 或 netstat -an | grep SYN_RECV | wc -l,SYN_RECV 異常暴增就是典型徵兆
  • 封包分析:用 Wireshark 過濾 tcp.flags.syn==1 && tcp.flags.ack==0,觀察是否大量來自偽造的隨機 IP
  • IDS 規則:用 Snort 3 的 detection_filter 設定短時間內 SYN 數量門檻並發出告警

如何防禦 SYN Flood?

  • 啟用 SYN Cookies:Linux 設定 net.ipv4.tcp_syncookies = 1,讓伺服器在不保留半開連線的情況下完成交握
  • 調整連線佇列:增加 tcp_max_syn_backlog、縮短 tcp_synack_retries
  • 防火牆限速:用 iptables / nftables 限制單一來源的 SYN 速率
  • 上游防護:大規模 DDoS 要靠 ISP 清洗或 Cloudflare 等 CDN 服務在邊緣吸收流量

延伸閱讀

You may also like