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단계를 거칩니다.

  1. 클라이언트 -> 서버 : SYN
  2. 서버 -> 클라이언트 : SYN-ACK
  3. 클라이언트 -> 서버 : ACK

 

스텔스 스캔 방식(SYN Scan)

  1. 클라이언트 -> 서버 : SYN
  2. 서버 -> 클라이언트:
    • SYN-ACK -> 포트 열림 ( Open)
    • RST -> 포트 닫힘( Closed)
  3. 클라이언트 -> 서버 :
    • 응답없이 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

+ Recent posts