728x90
nmap이란?
nmap은 네트워크 보안 및 관리에서 널리 사용되는 오픈소스도구로 주로 포트스캐닝, 호스트 탐지, 서비스 및 운영체제 식별, 취약점 진단 등에 사용됩니다.
강력하면서도 유연하게 구성이 가능하고 보안전문가 뿐만 아니라 시스테 ㅁ관리자도 자주 활용합니다.
nmap의 주요 기능
| 기능 | 설명 |
| 호스트 탐지( Ping Scan) | 네트워크 상에 에떤 시스템이 활성화되어 있는지 확인 |
| 포트 스캔(Port Scan) | 대상 시스템의 어떤 포트가 열려있는지 확인합니다. |
| 서비스 버전 탐지(Service Version Detection) | 열려있는 포트웨서 어떤 서비스가 어떤 버전으로 실행중인지 파악 |
| 운영체제 탐지(OS Detection) | 대상 시스템의 OS종류와 버전을 추측 |
| 스크립트 엔진(NSE) | 다양한 보안 테스트와 취약점 진단을 수행할 수 있는 스크립트 실행 기능을 제공 |
대표적인 nmap 사용 예시
1. 기본 포트 스캔
nmap 192.168.0.1
대상 호스트의 TCP 포트 상태를 기본적으로 확인합니다.
2. 범위 스캔
nmap 192.168.0.1-50
여러 호스트에 대해 동시에 스캔합니다.
3. 서비스 버전 탐지
nmap -sV 192.168.0.1
4. 운영체제 탐지
nmap -O 192.168.0.1
5. Nmap Scripting Engine 사용 예
nmap --script=vuln 192.168.0.1
알려진 취약점 스크립트를 이용해 간단한 취약점 진단을 수행합니다.
포트 스캔 방식의 종류
| 스캔 방식 | 설명 |
| TCP Connect Scan(-sT) | TCP 3-way 핸드셰이크를 완료해 포트상태를 파악(탐지 쉬움) |
| SYN Scan(-sS) | "Half-Open" 스캔. 핸드셰이크를 완료하지 않음(스텔스 성격) |
| UDP Scan(-sU) | UDP 포트를 스캔(응답이 없어도 분석이 가능) |
| FIN, NULL, Xmas Scan | 방화벽이나 IDS 우회를 위한 특수 플래그 스캔 |
기본 스캔 옵션
| 옵션 | 설명 |
| -sS | SYN 스캔(Stealth scan) 빠르고 탐지가 어려움 |
| -sT | TCP Connect 스캔 - 시스템 호출을 이용해 연결(탐지 쉬움) |
| -sU | UDP 스컌 - UDP 포트에 대해 스캔 수행 |
| -sA | ACK 스캔 - 방화벽 규칙 확인용 |
| -sN | NULL 스캔 - 플래그 없는 패킷 전송(비표준 탐지 우회) |
| -p | 특정 포트 지정(-p 80, -p 1-1000) |
탐지 및 식별 옵션
| 옵션 | 설명 |
| -O | 운영체제 탐지(OS Detection) |
| -sV | 서비스 버전 탐지 |
| -A | 고급 탐지 : OS + 버전 + 스크립트 + traceroute 포함 |
| -Pn | Ping 생략(비활성 호스트도 스캔 가능) |
| -n | DNS 조회 생략(속도 향상) |
| -R | 강제 DNS 조회 수행 |
| --traceroute | 대상까지의 라우팅 경로 추적 |
Nmap 스크립트 엔진(NSE)
| 옵션 | 설명 |
| --script=<name> | 특정 NSE 스크립트 실행(ex. --script=http-title) |
| --script-vuln | 취약점 탐지용 스크립트 모음 실행 |
| --script-args=<args> | 스크립트에 인자 전달(ex. 로그인 정보 등) |
스텔스 스캔
기본 원리(TCP 3-Way Handshake)
정상적인 TCP 연결은 다음의 3단계를 거칩니다.
- 클라이언트 -> 서버 : SYN
- 서버 -> 클라이언트 : SYN-ACK
- 클라이언트 -> 서버 : ACK
스텔스 스캔 방식(SYN Scan)
- 클라이언트 -> 서버 : SYN
- 서버 -> 클라이언트:
- SYN-ACK -> 포트 열림 ( Open)
- RST -> 포트 닫힘( Closed)
- 클라이언트 -> 서버 :
- 응답없이 RST를 보내 세션을 종료(세션 완성 안함)
즉, 연결을 완전히 수립하지 않기 때문에 흔적이 덜 남고 IDS나 로그 시스템에서 정상적인 연결로 보이지 않을 수 있음
주요 스텔스 스캔 옵션
| 옵션 | 이름 | 설명 |
| -sS | SYN 스캔 | 가장 일반적인 스텔스 스캔 방식. TCP 3-way handshake의 절반만 수행하여 포트 상태 확인 빠르고 탐지 회피 가능 |
| -sF | FIN 스캔 | TCP FIIN 플래그만 설정해 포트 상태를 확인 비정상적인 플래그 조합으로 IDS 우회 |
| -sN | NULL 스캔 | TCP 플래그 없이 전송 일부 시스템에서 포트가 열려 있으면 무응답, 닫혀있으면 RST 반환 |
| -sX | Xmas 스캔 | FIN, URG, PSH 플래그를 동시에 설정 크리스마스트리처럼 켜진 플래그, 방화벽/IDS 우회용 |
| -sA | ACK 스캔 | 포트 열림 여부보다는 방화벽 설정 확인용 포트상태가 아니라 필터링 여부 판별에 사용됨 |
nmap -sS 192.168.0.1 # SYN 스텔스 스캔
nmap -sF 192.168.0.1 # FIN 스캔
nmap -sN 192.168.0.1 # NULL 스캔
nmap -sX 192.168.0.1 # Xmas 스캔
nmap -sA 192.168.0.1 # ACK 스캔728x90
'정보보호' 카테고리의 다른 글
| 이메일 보안 기법(PGP, PEM, S/MIME) (0) | 2025.06.08 |
|---|---|
| 리눅스 작업스케줄러 cron (0) | 2025.06.07 |
| 리눅스 /etc/passwd 파일 및 /etc/shadow 파일에 대한 개념 (0) | 2025.06.03 |
| PKI OSCP(Online Certificate Status Protocol) 개념 (0) | 2025.05.31 |
| PKI(Public Key Infrastructure)에 대한 개념과 구성요소 (6) | 2025.05.31 |