포트 스캔: Difference between revisions
From CS Wiki
(5 intermediate revisions by 5 users not shown) | |||
Line 1: | Line 1: | ||
[[분류:보안]][[분류:보안 공격]][[분류:정보보안기사]] | |||
==개요== | ==개요== | ||
'''포트 스캔'''(port scan)은 운영 중인 [[서버]]에서 열려 있는 [[TCP]]/[[UDP]] [[포트 번호|포트]]를 검색하는 것을 의미한다.<br>(RFC 2828) | '''포트 스캔'''(port scan)은 운영 중인 [[서버]]에서 열려 있는 [[TCP]]/[[UDP]] [[포트 번호|포트]]를 검색하는 것을 의미한다.<br>(RFC 2828) | ||
Line 7: | Line 8: | ||
* [[UDP Open]] | * [[UDP Open]] | ||
** 포트가 열려 있을 경우 응답이 오지 않는다. | ** 포트가 열려 있을 경우 응답이 오지 않는다. | ||
** 포트가 닫혀 있을 경우에는 ICMP Unreachable 패킷을 수신받는다. | |||
== | ==Stealth Scan== | ||
세션을 완전히 성립하지 않고 공격 대상 시스템의 포트 활성화 여부를 알아내기 때문에 대상 시스템에 로그가 남지 않는다. | 세션을 완전히 성립하지 않고 공격 대상 시스템의 포트 활성화 여부를 알아내기 때문에 대상 시스템에 로그가 남지 않는다. | ||
* [[TCP FIN | * [[TCP FIN 스캔]] | ||
** FIN플래그를 설정하여 보낸다. 응답이 없으면 열려 있는 것으로 판단한다. | ** FIN플래그를 설정하여 보낸다. 응답이 없으면 열려 있는 것으로 판단한다. | ||
** RST 패킷이 되돌아 오면 닫혀 있는 것이다. | ** RST 패킷이 되돌아 오면 닫혀 있는 것이다. | ||
* [[NULL | * [[TCP ACK 스캔]] | ||
** NULL | ** 포트의 오픈 여부를 판단하는 것이 아닌, 방화벽 정책을 테스트하기 위한 스캔 | ||
** 대상 방화벽이 상태 기반(Stateful)인지 여부, 대상 포트가 방화벽에서 필터링되는지 여부 | |||
* [[NULL 스캔]] | |||
** NULL 플래그(모든 플래그가 0)를 설정하여 보낸다. 응답이 없으면 열려 있는 것으로 판단한다. | |||
** RST 패킷이 되돌아 오면 닫혀 있는 것이다. | ** RST 패킷이 되돌아 오면 닫혀 있는 것이다. | ||
* [[Xmas | * [[Xmas 스캔]] | ||
** 여러 플래그를 동시에 설정하여 한꺼번에 보낸다. 응답이 없으면 열려 있는 것으로 판단한다. | ** 여러 플래그를 동시에 설정하여 한꺼번에 보낸다. 응답이 없으면 열려 있는 것으로 판단한다. | ||
** RST 패킷이 되돌아 오면 닫혀 있는 것이다. | ** RST 패킷이 되돌아 오면 닫혀 있는 것이다. | ||
* [[SYN | * [[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 여부를 확인하는 것이 아니라, 취약한 포트 중 열린 포트가 있는지 광범위하게 훑어보기 위한 스캔을 말한다. 특정 취약한 포트가 열려 있는지 찾으려 여러 서버들을 훑어 보는 것도 포함된다. 방법론보단 행위의 목적에 대한 구분이다.