포트 스캔 기법의 종류와 응답 규칙
설명 영상 포트 스캔 기법의 종류와 응답 규칙 · 3:09
핵심 정리
포트 스캔은 대상 시스템에서 제공 중인 서비스를 확인하는 정보 수집 방법이다. 특정 패킷을 보내고 응답을 살펴 대상 시스템의 서비스 포트가 열려 있는지 닫혀 있는지 확인할 수 있다. 서버의 작동 여부와 서비스 제공 여부를 확인하는 기법을 스캐닝이라고 한다. 포트 스캔으로 공격 대상 시스템의 운영체제를 확인할 수 있다. 포트 스캔으로 얻은 정보는 네트워크 인벤토리나 네트워크 보안 검증 같은 정당한 용도에도 쓰인다. 다만 포트 스캔은 종종 공격의 첫 단계로 간주되므로 심각하게 받아들여진다.
0~1,023은 잘 알려진 포트다. 포트 스캔 기법에는 TCP 스캔, UDP 스캔, FIN 스캔, XMAS 스캔 등이 있다. 기법마다 패킷의 프로토콜과 TCP 플래그 구성이 다르므로, 스캐너는 응답이 있는지와 응답 종류를 살펴 포트 상태를 판단한다. 스캔 기법을 이해하려면 판단의 기준이 되는 응답 규칙을 알아야 한다.
RFC 793을 준수하는 시스템에서는 FIN·NULL·Xmas 스캔에 대해 닫힌 포트가 RST로 응답한다. 스캐너는 이 RST 응답을 닫힌 포트의 신호로 판단한다.
포트가 열린 서버의 SYN-ACK에 RST 패킷으로 응답해 연결을 즉시 끊는 스캔을 TCP Half Open 스캔이라고 한다. 반면 TCP 스텔스 스캔은 정상적인 3-way handshake를 완성하지 않는 포트 스캔 기법이다. 스텔스 스캔은 포트 상태를 몰래 알아내는 정찰 기법이며, 서비스를 마비시키는 공격은 아니다.
자세히
스텔스 스캔의 플래그 구성
스텔스 스캔은 패킷에 설정하는 TCP 플래그에 따라 나뉜다. NULL 스캔은 TCP 플래그를 하나도 설정하지 않은 패킷으로 포트를 확인하는 스텔스 스캔이다. FIN 스캔은 FIN 플래그만 설정한 패킷으로 포트 상태를 확인하는 스텔스 스캔이다. XMAS 스캔은 TCP 헤더의 플래그를 모두 설정해 패킷을 보내는 포트 스캔 기법이다. 세 기법은 설정하는 플래그가 다르며, 기법 이름도 그 구성에서 따왔다. 플래그 구성으로 기법을 가른다 플래그 구성은 달라도 세 기법 모두 응답을 근거로 포트 상태를 판단한다.
| 기법 | 패킷에 설정하는 TCP 플래그 |
|---|---|
| NULL 스캔 | 하나도 없음 |
| FIN 스캔 | FIN만 |
| XMAS 스캔 | 모든 플래그 |
닫힌 포트의 응답과 ICMP
NULL 스캔에서 닫힌 포트는 RST로 응답하고 열린 포트는 응답하지 않는다. 열린 포트가 응답하지 않으므로, 이 기법에서는 무응답을 열린 포트 쪽의 신호로 판단한다. 기법마다 응답이 다르므로 RST가 오는지, ICMP 메시지가 오는지, 아무 응답도 오지 않는지를 구분해야 한다.
RFC 793 시스템에서 ICMP 도달 불가 오류 메시지는 닫힌 포트 스캔의 기본 응답이 아니다. 닫힌 포트에서 ICMP 메시지가 돌아오는 대표적인 경우는 UDP 스캔이다.
연결 완성 스캔과 반개방 스캔
| 기법 | 3-way handshake 처리 |
|---|---|
| Full Open 스캔 | 과정을 모두 거친다 |
| Half Open 스캔 | SYN-ACK 뒤 RST로 즉시 끊는다 |
| 스텔스 스캔 | 정상 3-way handshake를 완성하지 않는다 |
이어지는 내용
- nmap 옵션의 역할
- 포트 스캔 도구의 성격
- 정보수집 단계와 취약점 점검
- UDP 스캔의 닫힌 포트 응답
- 자주 헷갈리는 것
- 기출에서는
로그인하면 하루 5페이지까지 무료로 전체를 읽을 수 있습니다.
앱에서 이 절 읽기