TCP 스캔 UDP 스캔
Port Scan
▶ 서버 관리자가 보안 점검이나 모의해킹을 할 때 잠재적인 취약점을 찾기 위한 정보 수집 단계 중 첫 번째는 포트 스캔이다.
▶ 점검 대상 서버에 활성화된 서비스를 확인하거나 외부로 노출되어 침해 가능성이 있는 취약점을 점검하기 위한 절차
▶ 열려 있는 포트 번호를 식별해서 활성화된 서비스를 찾는다.
TCP 포트 스캔
특징
- 3 Way 핸드셰이크를 통해 포트 개방 여부를 파악(3 way으로 하면 로그가 남으 므로 완전히 맺지 않고 스캐닝 하는 방법 존재)
- 열리지 않은 포트로 syn을 전송하면 서버측은 포트가 열려 있지 않은 경우 rst-ack 패킷으로 응답
- 열린 포트로 syn을 전송하면 syn + ack 패킷으로 서버는 응답을 한다.
공격자 입장에서는 3 way를 통해 서버에 로그가 남는 것은 치명적임, 방화벽 또는 iptables 같은 차단 정책에 포트 스캔이 차단 되면 tcp나 udp 스캔은 어떤 응답도 안한다.
▶ tcp 포트 스캔에서 로그를 남기지 않도록 하는 방법 stealth 스캔, half open 스캔, fin, Xmas, Null 등 다양하게 존재함

▶ 해당 ip가 syn 플래그를 보내고 21 포트는 닫힌 포트, 해당 패킷을 클릭 -> Static -> Conversations을 이용해서 패킷이 오고 간 현황을 살펴보면 어떤 포트를 대상으로 스캔이 시도 되는지 확인 가능
정리 : 해당 라인 클릭 -> 위 상태 바 Static -> Converstions
위 처럼 tcp syn 스캔은 정상적인 연결 포트 개폐 여부를 판단해서 로그에 남는다.
TCP half open scan

tcp half open scan 이라함은 3 way handshake 과정에서 syn 패킷을 받은 서버가 syn-ack 패킷을 응답하고 언젠가 ack를 서버가 수신을 받도록 하는 형상이 포트가 반쯤 열린 상태로 보인다 해서 tcp half open 스캔이라 한다.
FIN 스캐닝 예시 패킷

XMAS 스캔 패킷

NULL 스캔

UDP 포트 스캔
수신 측 포트가 닫혀 있을 때는 ICMP 응답으로 상태 값 정도를 확인
UDP 특징을 이용해서 열려 있는 UDP 포트를 스캔하는 것을 확인 가능하다.
특징
- 열린 포트에서는 UDP 응답 값이 수신
- 닫힌 포트에서 ICMP port Unreachable과 같은 것이 수신
- 방화벽 또는 iptables 같은 차단 정책에 차단이 되면 어떤 패킷도 응답을 안한다.



대응 방안
- ip를 방화벽 등 네트워크 보안 장비 정책으로 차단 정책을 수립
- 외부로 노출된 포트를 방화벽의 차단 정책 또는 서버 구간에서의 iptables를 이용하여 차단
- 신뢰할 수 있는 ip 대역만 허용하여 포트 스캔으로부터 발생할 수 있는 정보 노출의 취약점을 보완해야함
TCP 스캔 정리
| 스캔 방식 | TCP Flag | 열린 포트 응답 | 닫힌 포트 응답 | 차단된 포트 응답 | 로그 여부 | 특징 및 목적 |
| 3 way 핸드셰이크 | syn->syn + ack ->ack | 3 way handshake 완성 | ack | 응답 없음 | 남음 | 탐지 easy |
| Half open | syn만 전송 | syn+ack | rst+ack | 응답 없음 | 없음 | hand shake 미완성으로 탐지 어렵다. |
| FIN Scan | fin 전송 | 응답없음 | rst | 응답 없음 | 없음 | 닫힌 포트만 반 |
| XMASS Scan | fin, psh, urg | 응답없음 | rst | 응답 없음 | 없음 | 비정상 적인 flag 값 설정 |
| null 스캔 | 아무 플래그 없음 | 응답없음 | rst | 응답없음 | 없음 | tcp flag 전혀 없음 |
UDP 포트 스캔 정리
| 스캔 방식 | 전송 프로토콜 | 열린 포트 응답 | 닫힌 포트 응답 | 차단된 포트 응답 | 로그 여부 | 목적 및 특징 |
| UDP 스캔 | UDP | UDP 응답 | ICMP 언리처블 | 응답 없음 | 간헐적 로그 | ICMP으로 탐지 확인 |