포트 스캔: 두 판 사이의 차이

IT위키
편집 요약 없음
12번째 줄: 12번째 줄:
==Stelth Scan==
==Stelth Scan==
세션을 완전히 성립하지 않고 공격 대상 시스템의 포트 활성화 여부를 알아내기 때문에 대상 시스템에 로그가 남지 않는다.  
세션을 완전히 성립하지 않고 공격 대상 시스템의 포트 활성화 여부를 알아내기 때문에 대상 시스템에 로그가 남지 않는다.  
* [[TCP FIN Scan]]  
* [[TCP FIN 스캔]]  
** FIN플래그를 설정하여 보낸다. 응답이 없으면 열려 있는 것으로 판단한다.
** FIN플래그를 설정하여 보낸다. 응답이 없으면 열려 있는 것으로 판단한다.
** RST 패킷이 되돌아 오면 닫혀 있는 것이다.
** RST 패킷이 되돌아 오면 닫혀 있는 것이다.
* [[NULL Scan]]  
* [[TCP ACK 스캔]]
** 포트의 오픈 여부를 판단하는 것이 아닌, 방화벽 정책을 테스트하기 위한 스캔
** 대상 방화벽이 상태 기반(Stateful)인지 여부, 대상 포트가 방화벽에서 필터링되는지 여부
* [[NULL 스캔]]  
** NULL 플래그(모든 플래그가 0)를 설정하여 보낸다. 응답이 없으면 열려 있는 것으로 판단한다.
** NULL 플래그(모든 플래그가 0)를 설정하여 보낸다. 응답이 없으면 열려 있는 것으로 판단한다.
** RST 패킷이 되돌아 오면 닫혀 있는 것이다.
** RST 패킷이 되돌아 오면 닫혀 있는 것이다.
* [[Xmas Scan]]
* [[Xmas 스캔]]
** 여러 플래그를 동시에 설정하여 한꺼번에 보낸다. 응답이 없으면 열려 있는 것으로 판단한다.
** 여러 플래그를 동시에 설정하여 한꺼번에 보낸다. 응답이 없으면 열려 있는 것으로 판단한다.
** RST 패킷이 되돌아 오면 닫혀 있는 것이다.
** RST 패킷이 되돌아 오면 닫혀 있는 것이다.
* [[SYN Scan]]
* [[SYN 스캔]]
** Open 스캔과 대비하여 Half-Open 스캔이라고도 부른다.
** Open 스캔과 대비하여 Half-Open 스캔이라고도 부른다.
** SYN을 보내 SYN+ACK이 오면 열린 것으로 판단하고, RST 패킷을 보내 접속을 끊어버린다.
** SYN을 보내 SYN+ACK이 오면 열린 것으로 판단하고, RST 패킷을 보내 접속을 끊어버린다.

2019년 11월 9일 (토) 11:49 판

개요

포트 스캔(port scan)은 운영 중인 서버에서 열려 있는 TCP/UDP 포트를 검색하는 것을 의미한다.
(RFC 2828)

Open Scan

  • TCP Open
    • 포트가 열려 있을 경우 SYN+ACK이 온다.
  • UDP Open
    • 포트가 열려 있을 경우 응답이 오지 않는다.
    • 포트가 닫혀 있을 경우에는 ICMP Unreachable 패킷을 수신받는다.

Stelth Scan

세션을 완전히 성립하지 않고 공격 대상 시스템의 포트 활성화 여부를 알아내기 때문에 대상 시스템에 로그가 남지 않는다.

  • TCP FIN 스캔
    • FIN플래그를 설정하여 보낸다. 응답이 없으면 열려 있는 것으로 판단한다.
    • RST 패킷이 되돌아 오면 닫혀 있는 것이다.
  • TCP ACK 스캔
    • 포트의 오픈 여부를 판단하는 것이 아닌, 방화벽 정책을 테스트하기 위한 스캔
    • 대상 방화벽이 상태 기반(Stateful)인지 여부, 대상 포트가 방화벽에서 필터링되는지 여부
  • NULL 스캔
    • NULL 플래그(모든 플래그가 0)를 설정하여 보낸다. 응답이 없으면 열려 있는 것으로 판단한다.
    • RST 패킷이 되돌아 오면 닫혀 있는 것이다.
  • Xmas 스캔
    • 여러 플래그를 동시에 설정하여 한꺼번에 보낸다. 응답이 없으면 열려 있는 것으로 판단한다.
    • RST 패킷이 되돌아 오면 닫혀 있는 것이다.
  • SYN 스캔
    • Open 스캔과 대비하여 Half-Open 스캔이라고도 부른다.
    • SYN을 보내 SYN+ACK이 오면 열린 것으로 판단하고, RST 패킷을 보내 접속을 끊어버린다.

Sweep

"훑어보다"라는 뜻으로, 특정 포트를 지정하여 Open 여부를 확인하는 것이 아니라, 취약한 포트 중 열린 포트가 있는지 광범위하게 훑어보기 위한 스캔을 말한다. 특정 취약한 포트가 열려 있는지 찾으려 여러 서버들을 훑어 보는 것도 포함된다. 방법론보단 행위의 목적에 대한 구분이다.