실습/Network

SYN Flooding 실습

FEARIS 2022. 11. 10. 12:56

개요

SYN Flooding

SYN Flooding 공격은 대표적인 Flood 공격 중 하나로 다량의 SYN플래그를 서버로 빠른 시간 내에 반복적으로 전송하는 공격이다.

SYN플래그를 보내면 서버가 SYN / ACK로 응답하고 ACK플래그를 기다리는 TCP의 3-Way-Handshake의 특성을 이용한다.

서버는 SYN_RECV 세션 상태에서 ACK플래그를 기다리면서 결국 연결 허용 횟수(큐)가 가득 차게 되어 정상 연결이 들어오는 것을 무시하게 된다.

 

환경

Kali Linux[192.168.0.15]

CentOS[192.168.0.18]

 

실습

hping3을 이용한 SYN Flooding 실습

Kali Linux에서 피해자 PC인 CentOS[192.168.0.18]로 SYN플래그를 전송한다.

-S: SYN플래그 전송

-p 80: 포트를 80번으로 설정

--flood: 패킷을 최대한 빨리 전송한다.(fast와 faster옵션보다 더 빠른듯)

--rand-source: 출발지의 IP를 랜덤하게 설정

 

netstat으로 확인한 CentOS의 세션 연결 상태

무작위의 IP가 SYN플래그만 전송해서 개요에서 봤던 것 처럼 SYN_RECV 세션 상태에 머무르고 있다.

 

 

SYN Flooding 사진 출처: https://info.support.huawei.com/info-finder/encyclopedia/en/SYN+Flood.html 

 

What Is SYN Flood? How to Defend Against SYN Flood? - Huawei

SYN flood is a type of DDoS attack. Hackers send a large number of SYN packets to the server, exhausting connection resources of the server and impacting normal user access.

info.support.huawei.com


SYN_RECV: 원격으로부터 연결 요청을 받은 상태. 요청을 받아 SYN+ACK 신호로 응답을 상태지만 ACK는 받지 못했다.

 

더 많은 연결 상태 정보는 여기서