보안이 하고싶은 joseph

와이어샤크를 이용한 포트스캐닝 공격패킷 분석(open스캔,half-open 스캔) 본문

패킷분석

와이어샤크를 이용한 포트스캐닝 공격패킷 분석(open스캔,half-open 스캔)

joseph94 2020. 8. 28. 22:54
반응형

와이어샤크를 이용한 포트스캐닝 공격패킷 분석(open스캔, half-open스캔)

 

 

 

포트스캐닝을 하는 이유
공격자가 희생자PC에 공격을 하기전에 대상 호스트에 공격할수있는 포트가있는지 확인하기 위해 사용합니다.
취약점 분석을 위한 사전작업으로써 도구로는  nmap, nessus, saint, nexpose 등 도구를 이용해 스캐닝을 하곤 합니다. 

 

 

스캔의 종류
  • TCP Connect (TCP open) 스캔
  • TCP SYN(Half-open) 스캔
  • TCP FIN/NULL/X-mas 스캔
  • TCP ACK 스캔
  • UDP 스캔

 

이밖에도 타입의 따라 스캔종류가 나눠집니다. 

 

스캔의 종류

 

그럼 먼저 Open 스캔인 TCP Connect (TCP open 스캔)에 대해 알아보겠습니다.

 

 

TCP Open 스캔이란?
일반 사용자 권한으로 TCP 포트오픈 여부를 확인하기 위해 connect 시스템 콜을 이용하는 방식으로 정상적인 TCP 연결 설정을 수행하여 스캔하는 방식입니다.

시스템 호출을 통해 TCP 핸드셰이크 과정이 이뤄져 타겟 호스트의 포트에 직접 연결되기에 Opne 스캔이라고도 불립니다. 시스템 로그에 흔적이 남는 특징이 있습니다.

 

 

포트 open / close 상태

 

TCP connect 스캔 (포트open / close)

 

 

시나리오는 다음과 같습니다.

 

공격자 : Kail / 192.168.139.144

희생자 : win7 / 192.168.139.130

중간 탐지 : Ubuntu 

 

nmap을 이용해 kail에서 win7의 특정 포트가 열려있는지 확인 하겠습니다.

 

먼저 kail 에서 win7로 TCP open 스캔을 이용해 탐지합니다

 

* sT : TCP Connect 스캔을 하겠다는 nmap 명령어의 옵션

* -p 80,23,25 : http(80), telnet(23), SMTP(25) 포트 스캔

* 192.168.139.130 : 타겟 IP 주소

 

 

TCP open 스캔 결과

 

 

결과 내용을 살펴보면

State의 23번 포트는 닫혀있단 뜻이고 80번 포트는 현재 열려있다는 뜻입니다

 

 

그럼 와이어샤크로로 넘어가 보겠습니다

 

포트 close 상태 

포트가 close면

맨 처음 공격자(144)가 타겟 PC(130)에게 SYN 플래그를 보낸 것을 확인할수있습니다

후에 타겟PC가 RST,ACK 플래그를 보내 공격자는 포트가 닫혀있는것을 알 수있습니다

 

포트 open 

포트가 open이면

3way핸드셰이크가 맺어지며 포트 오픈여부를 확인했기에 즉시 RST,ACK 패킷을 날려 접속을 끊는 것을 알수있습니다.

 

tcp conncet(open)스캔은 3-way-handshake가 되기때문에 타켓 시스템 로그에 공격자가 스캔한 이력이 남을 수 밖에 없는 것이 특징입니다.

 

 

 

 

그럼 두번째로 실제로 많이 사용된다는 TCP SYN(Half-open)스캔을 보도록 하겠습니다.

 

TCP SYN(half-open) 스캔이란?
스텔스 스캔의 종류인 스캔으로 관리자 권한으로 TCP 패킷을 조작하여 TCP 포트 오픈여부를 판단하는 스캔입니다.
TCP 패킷의 제어비트를 조작하여 TCP 3way핸드셰이크가 완전히 성립되지 않기에 타겟 시스템 로그에 남지않는 것이 특징입니다.

 

 

포트 open / close 상태

 

 

 

시나리오는 위와 동일합니다

공격자 140 

타겟 PC 130

패킷 스니킹 PC

 

 

이번에도 역시 nmap을 이용해 TCP SYN 스캔을 해보겠습니다.

 

먼저 kail 에서 win7로 TCP open 스캔을 이용해 탐지합니다

 

* -Ss는 TCP SYN(half-open)스캔을 하기위한 명령어옵션입니다.

 

 

TCP SYN스캔 결과

 

포트 close 상태

TCP connect 스캔과 마찬가지로 포트가 닫혀있으면 SYN , RST,ACK패킷이 송수신 됩니다

 

 

 

 

포트 open된 상태

half-open 스캔에서 공격자는 RST패킷을 날려 연결을 중단시킵니다.

 

즉, 공격자는 3way핸드셰이크가 성립되기 전 RST패킷을날려 포트 open된 것만 확인 후에 패킷 중단 플래그를 보냅니다.  이렇게 성립전에 연결을 중단시킴으로써 시스템로그에 남지 않는 것이 특징입니다.

 

 

 

 

 

이번 글에선 TCP connect 스캔과 half-open 스캔의 개념과 실제 와이어샤크에선 어떻게 표기되는지 확인해 봤습니다.

다음엔 스텔스 스캔인 FIN,NULL,X-mas 스캔과 TCP ack스캔에 대해 알아보도록 하겠습니다.

 

 

 

 

 

★☆잘못된 내용이 있으면 말씀해주세요. 피드백은 언제나 환영입니다.☆★

 

 

 

 

 

사진 출처

 

https://m.blog.naver.com/PostView.nhn?blogId=sdug12051205&logNo=221057137629&categoryNo=3&proxyReferer=&proxyReferer=https:%2F%2Fwww.google.com%2F

반응형
Comments