정보보안/네트워크 기초

와이어샤크(wireshark)를 통한 패킷 분석 (IP Spoofing, SYN,ACK Flooding, Half-Open Scan 첨부)

록스타★ 2024. 10. 4. 14:24
반응형

서론

와이어샤크는 네트워크 트래픽을 분석을 주 목적으로 하는 애플리케이션이며, 정보보안에서는 무조건 사용법을 숙지하고 있어야한다. 어떤 부분을 포스팅할 지 고민해봤는데 그래도 DNS나 디도스나 SSH 취약점 공격 같은 패킷 관련하여 포스팅을 하는 게 사람들이 처음에 흥미를 느낄 거 같아서 준비했다.

 

 

IP Spoofing 및 SYN,ACK Flooding을 이용한 공격 분석 방법

그림(1) 와이어샤크 분석

 

그림(2) 와이어샤크 분석

1. 출발지 IP(Source IP)

- 출발지 IP가 계속 변경 되는 걸 확인

 

2. 목적지 IP(Destination IP)

- 목적지 IP는 고정되어 있는 걸 확인

 

3. Protocol, Length, Info

- 출발지 포트는 3072와 1024 2가지만 사용

- 목적지 포트는 80으로 고정

- SYN, ACK 패킷만 목적지로 전송중

 

4. Time

- 1초도 되지 않는 시간에 약 2만개의 패킷이 수신되는 걸 확인 할 수 있다.

- 가용성을 침해하는 DDoS 공격 일종

 

결론

출발지 IP는 계속 변경되고, 목적지 IP와 Port는 고정이므로 IP Spoofing인 걸 알 수 있다. SYN, ACK 패킷만을 보내고 있기 때문에 SYN, ACK Flooding도 같이 사용중인 걸 확인할 수 있다.

또, Time 시간이 1초도 되지 않는 시간에 약 2만개의 패킷이 수신되고 있는 걸 확인하고 가용성 공격인 걸 알 수 있다.

 

 

Half Open Scan (SYN Flooding 변형이라고도 불림) 공격 분석 방법

그림(3) 와이어샤크 패킷분석

 

포트가 닫혀 있는 경우

1. 클라이언트가 서버에 SYN 패킷을 보냄

2. 포트가 닫혀 있으면 서버는 RST-ACK 패킷으로 응답

 - RST 패킷은 포트가 닫혀 있음을 나타내며, 연결을 거부하는 신호

 - 이 경우 연결이 즉시 종료, 추가적인 통신 발생하지 않음

 

그림(4) 와이어샤크 패킷 분석

 

그림(5) 와이어샤크 패킷분석

 

포트가 열려 있는 경우

- ACK 패킷을 보내지 않고 서버에 세션을 유지시켜 서버의 자원을 고갈시킨다. 

1. 클라이언트가 서버에 SYN 패킷을 보냄

2. 포트가 열려 있으면 서버는 SYN-ACK 패킷으로 응답

 - SYN-ACK은 서버가 연결을 수락하고 준비되었음을 나타냄

3. 클라이언트가 정상적인 상황에서는 ACK 패킷을 보내 연결을 완료하지만, Half-Open Scan에서는 ACK 패킷을 보내지 않음

 - 이로 인해 서버는 클라이언트로부터 ACK 응답을 받지 못하고, 일정 시간이 지나면 다시  SYN-ACK 패킷을 재전송하여(TCP Retransmission) 발생

 - 서버는 여러 차례 SYN-ACK 패킷을 재전송하다가 연결 포기

 

 

재전송(TCP Retransmission) 발생 이유

- 포트가 열려 있는 상태에서 클라이언트가 ACK 패킷을 보내지 않으면, 서버는 클라이언트가 응답하지 않았다고 판단하고 기존 SYN-ACK 패킷을 재전송, 이 재전송은 ACK 패킷을 기다리는 과정에서 발생하며, 특정 횟수의 재전송이 이뤄지다가 결국 세션은 만료된다.

 

 

 

결론

pcap 파일 중 가장 쉬운 것들을 선별해서 업로드를 하였고, 보안 전공자들은 pcap파일을 보자마자 알 수 있을 거라고 생각한다. 딱히 분석이 필요한 문제들은 아니었고 와이어샤크가 이런 프로그램이다.라는 부분을 쉽게 설명하기 위해 작성했고 사용한 pcap은 아래 첨부하였으니, 사용해보셔도 된다.

 

IPSpoofing SYN,ACK.pcap
1.48MB
tcp-halfscan.pcap
1.39MB

반응형