네트워크 보안 - Port Scan · Nmap 완전 정리
Port Scan · Nmap 완전 정리
스캔 목적 · 유형별 동작 원리 · TCP 플래그 분석 · Nmap 옵션 · 탐지 및 방어까지
Port Scan은 공격 그 자체가 아닌 공격 준비 단계(정찰 단계)에 해당한다. MITRE ATT&CK 기준으로 TA0043 Reconnaissance 전술에 분류된다.
서비스 확인
- 열린 포트 목록 파악
- 실행 중인 서비스 식별
- 서비스 버전 정보 수집
취약점 탐색
- 버전 기반 CVE 매핑
- 알려진 취약점 여부 분석
- 공격 가능한 진입점 식별
네트워크 구조 파악
- 방화벽 정책 분석
- 필터링 방식 확인
- 내부 구조 추론
열림
서비스가 실행 중이며 연결 수락. 공격자의 주요 목표
닫힘
포트 접근 가능하나 서비스 없음. RST 응답 반환
필터됨
방화벽이 패킷 차단. 응답 없음 또는 ICMP Unreachable
완전한 3-Way Handshake를 수행하는 가장 기본적인 스캔 방식. 실제 연결이 이루어지므로 서버 로그에 기록된다.
가장 많이 사용되는 Stealth Scan. SYN+ACK 수신 후 ACK를 보내지 않고 RST로 연결을 즉시 해제해 완전한 연결을 맺지 않는다.
TCP 연결을 전혀 맺지 않고 비정상 플래그 조합을 보내 포트 상태를 추론한다. RFC 793 표준에 따르면 열린 포트는 비정상 플래그를 무시하고, 닫힌 포트는 RST로 응답한다.
| 스캔 유형 | 옵션 | 전송 플래그 | 특징 |
|---|---|---|---|
| FIN Scan | -sF |
FIN | FIN만 설정. 연결 종료 패킷처럼 위장 |
| NULL Scan | -sN |
플래그 없음 (0x00) | 모든 플래그 비활성. 가장 비정상적인 패킷 |
| XMAS Scan | -sX |
FIN+PSH+URG | 크리스마스 트리처럼 여러 플래그 동시 설정 |
ACK Scan — -sA
- 포트 Open/Closed 판별이 목적이 아님
- 방화벽 규칙 및 필터링 정책 파악이 목적
- ACK 전송 시 RST 응답 → Unfiltered
- 응답 없음 → Filtered (방화벽 존재)
- 방화벽 우회 가능 여부 사전 조사에 사용
UDP Scan — -sU
- UDP는 연결 기반이 아니므로 판별 어려움
- UDP 전송 후 응답 없음 → Open or Filtered
- ICMP Port Unreachable 수신 → Closed
- 속도 매우 느림 (타임아웃 대기)
- DNS(53), SNMP(161) 등 UDP 서비스 탐지
여러 가짜 출발지 IP(Decoy)와 함께 실제 공격자 IP를 섞어 스캔해 IDS/IPS가 진짜 공격자를 특정하기 어렵게 만드는 기법이다.
TCP Connect Scan
3-Way Handshake 완료. 로그 남음
SYN Scan
Half-open. 가장 많이 사용. Root 필요
FIN Scan
FIN 플래그만. Unix 대상 유효
NULL Scan
플래그 없음. 가장 비정상적 패킷
XMAS Scan
FIN+PSH+URG. 트리 모양 플래그
UDP Scan
UDP 포트 탐지. 속도 느림
ACK Scan
방화벽 필터링 정책 파악용
OS Detection
TTL, TCP 특성으로 OS 추정
Version Detection
서비스 버전 정보 수집
Decoy Scan
가짜 IP 혼합으로 공격자 은닉
Port 지정
-p 80,443 or -p 1-1000
Aggressive Scan
OS+Version+Script+Traceroute 종합
| 스캔 유형 | 전송 패킷 | Open 응답 | Closed 응답 | 로그 기록 | 탐지 난이도 |
|---|---|---|---|---|---|
| Connect (-sT) | SYN | SYN+ACK | RST | 기록됨 | 낮음 (쉽게 탐지) |
| SYN (-sS) | SYN | SYN+ACK → RST | RST | 부분 기록 | 중간 |
| FIN (-sF) | FIN | 무응답 | RST | 미기록 | 높음 (Unix만) |
| NULL (-sN) | 없음(0x00) | 무응답 | RST | 미기록 | 높음 (Unix만) |
| XMAS (-sX) | FIN+PSH+URG | 무응답 | RST | 미기록 | 높음 (Unix만) |
| UDP (-sU) | UDP | 무응답 | ICMP Unreachable | 부분 기록 | 중간 (느림) |
| ACK (-sA) | ACK | RST (Unfiltered) | RST | 부분 기록 | 중간 (목적 다름) |
- IDS/IPS 규칙 : 짧은 시간 내 다수 포트로 SYN 패킷 → 포트 스캔으로 판단. Snort/Suricata 룰로 탐지
- 방화벽 기본 거부 정책 : Default Deny 적용, 허용 포트만 화이트리스트. FILTERED 상태 증가로 공격자 정보 수집 어렵게
- 포트 허니팟 : 사용하지 않는 포트에 가짜 서비스 구동 → 접근 시 즉시 스캔 탐지 알림
- Rate Limiting : 동일 IP에서 초당 SYN 패킷 수 제한. iptables
--hashlimit,--connlimit활용 - SYN Flood 동시 탐지 : 포트 스캔과 SYN Flood는 패턴 유사 → 함께 탐지 규칙 구성
- 서비스 최소화 : 불필요한 포트/서비스 비활성화. 공격 표면 자체를 줄이는 것이 근본 대책
'보안 공부' 카테고리의 다른 글
| 네트워크 보안 - 사내망 보안 구조 · Snort IDS 완전 정리 (0) | 2026.05.29 |
|---|---|
| 네트워크 보안 - Spoofing · Sniffing · DoS/DDoS · 네트워크 구조 완전 정리 (0) | 2026.05.29 |
| 네트워크 보안 - IP 단편화 · 패킷 스니핑 · Wireshark 완전 정리 (0) | 2026.05.29 |
| 네트워크 보안 - TCP 심화 · IP Header · ICMP 완전 정리 (0) | 2026.05.29 |
| 네트워크 보안 - OSI 모델 · TCP/IP · 프로토콜 완전 정리 (0) | 2026.05.29 |