บทนำ (Overviews)
“SYN Flood” คือ การโจมตีของ Denial of Services (DoS) วิธีหนึ่ง ที่สามารถทำให้ “Port” ของบริการ “TCP” บน “Server” นั้นไม่สามารถใช้งานได้ ซึ่งหนึ่งในบริการบนโปรโตคอล “TCP” คือบริหารเว็บไซต์ HTTP ทีมีหมายเลข “Port 80” เป็นต้น
พูดง่าย ๆ ยิงไปที่เว็บเป้าหมายถึงมันไม่ร่วงคนอื่นก็เข้าไม่ได้
แต่ถ้าพูดถึงหลักการ SYN Flood ก็ต้องกล่าวถึงโปรโตคอล “TCP” ในขั้นตอน “Hand shake” ซึ่งมีอยู่ 3 ขั้นตอนเรียกว่า (Three-way hand shake)
- “Hacker” ส่ง “SYN request” ปลอม ๆ ไปยังเหยื่อ (Target Server)
- เหยื่อ (Target) ได้รับจะส่ง “SYN ACK” ไปยัง “Hacker” และจะจอง “Session” ในคิว คอย “Hacker” ตอบกลับจะสิ้นสุดการทำ (Three-way hand shake)
- “Hacker” จะไม่ตอบ “ACK” ไปกับเหยื่อเพราะ “Source-IP” ที่ให้ไปแต่แรกได้ปลอมมา และ “Hacker” ก็ไม่สนใจตอบกลับอยู่แล้ว
- และยิ่งส่งมาจองคิวเยอะ ๆ สุดท้ายผู้ใช้คนอื่นเข้ามาขอใช้บริการเว็บไซต์ก็ไม่สามารถขอได้เพราะต้องรอคิว เพราะรอไม่ทันหน้าหน้าเบราเซอร์ก็จะเข้าเว็บไซต์ไม่ได้นั้นเอง
ขั้นตอน (Steps)
- เข้าใช้งาน “Kali”
- ไปที่ “Menu” (Kali Linux > Information Gathering > Live Host Identification > hping3)
- จากนั้นลองใช้คำสั่งดังนี้
root@kali:~# hping3 -c 100000 -d 120 -S -w 64 -p 80 --flood --rand-source 192.168.0.27 HPING 192.168.0.10 (eth0 192.168.0.10): S set, 40 headers + 120 data bytes hping in flood mode, no replies will be shown
- ความหมายพารามิเตอร์แต่ละตัวดังนี้
- hping3: ชื่อโปรแกรม hping3
- -c 100000: จำนวน packets ทั้งหมดที่จะส่งไปยังเป้าหมาย
- -d 120: ขนาดของแต่ละ packet ที่จะส่งไปเป้ามาย
- -S: จะส่ง SYN packets อย่างเดียว
- -w 64: ขนาดของ TCP windows
- -p 139: หมายเลข Port ปลายทางที่จะโจมตี
- –flood: ส่ง Packets ให้เร็วที่สุดโดยไม่สนใจ response messages
- –rand-source: สุ่ม ip address ต้นทาง
- 192.168.0.10: หมายเลข ip adrress ปลายทาง
- ตัวอย่างดังต่อไปนี้