포트 스캔: Difference between revisions

From CS Wiki
(새 문서: ==개요== '''포트 스캔'''(port scan)은 운영 중인 서버에서 열려 있는 TCP/UDP 포트를 검색하는 것을 의미한다.<br>(RFC 2828)...)
 
 
(6 intermediate revisions by 6 users not shown)
Line 1: Line 1:
[[분류:보안]][[분류:보안 공격]][[분류:정보보안기사]]
==개요==
==개요==
'''포트 스캔'''(port scan)은 운영 중인 [[서버]]에서 열려 있는 [[TCP]]/[[UDP]] [[포트 번호|포트]]를 검색하는 것을 의미한다.<br>(RFC 2828)
'''포트 스캔'''(port scan)은 운영 중인 [[서버]]에서 열려 있는 [[TCP]]/[[UDP]] [[포트 번호|포트]]를 검색하는 것을 의미한다.<br>(RFC 2828)
Line 4: Line 5:
==Open Scan==
==Open Scan==
* [[TCP Open]]
* [[TCP Open]]
* [[UDP OPen]]
** 포트가 열려 있을 경우 SYN+ACK이 온다.
* [[UDP Open]]
** 포트가 열려 있을 경우 응답이 오지 않는다.
** 포트가 닫혀 있을 경우에는 ICMP Unreachable 패킷을 수신받는다.


==Stelth Scan==
==Stealth Scan==
세션을 완전히 성립하지 않고 공격 대상 시스템의 포트 활성화 여부를 알아내기 때문에 대상 시스템에 로그가 남지 않는다.  
세션을 완전히 성립하지 않고 공격 대상 시스템의 포트 활성화 여부를 알아내기 때문에 대상 시스템에 로그가 남지 않는다.  
* [[TCP FIN Scan]]  
* [[TCP FIN 스캔]]  
** FIN플래그를 설정하여 보낸다. 응답이 없으면 열려 있는 것으로 판단한다.
** FIN플래그를 설정하여 보낸다. 응답이 없으면 열려 있는 것으로 판단한다.
** RST 패킷이 되돌아 오면 닫혀 있는 것이다.
** RST 패킷이 되돌아 오면 닫혀 있는 것이다.
* [[NULL Scan]]  
* [[TCP ACK 스캔]]
** NULL 플래그를 설정하여 보낸다. 응답이 없으면 열려 있는 것으로 판단한다.
** 포트의 오픈 여부를 판단하는 것이 아닌, 방화벽 정책을 테스트하기 위한 스캔
** 대상 방화벽이 상태 기반(Stateful)인지 여부, 대상 포트가 방화벽에서 필터링되는지 여부
* [[NULL 스캔]]  
** 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 패킷을 보내 접속을 끊어버린다.


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

Latest revision as of 23:36, 19 March 2021

개요[edit | edit source]

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

Open Scan[edit | edit source]

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

Stealth Scan[edit | edit source]

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

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

Sweep[edit | edit source]

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