📚 네트워크 · 패킷 분석 › 05. 네트워크 스캔 징후 분석 — 203편
이전 글: 202. 정찰(Reconnaissance)의 개념 · 다음 글: 204. Nmap 기본 사용법

1. 개념

Nmap(Network Mapper) 은 Gordon Lyon(Fyodor)이 1997년에 처음 공개한 오픈소스 네트워크 탐색·보안 점검 도구입니다. 관리자가 자기 네트워크에 어떤 호스트가 있고 어떤 포트·서비스가 노출되어 있는지 인벤토리를 만들고 점검하는 용도로 널리 쓰이며, 같은 이유로 공격자의 정찰에도 자주 쓰입니다.

관제자가 Nmap을 알아야 하는 이유는 사용법이 아니라 흔적 때문입니다. 가장 널리 쓰이는 스캔 도구이므로 IDS 시그니처, 방화벽 스캔 탐지 임계치, 패킷 분석 예제의 상당수가 Nmap이 만드는 트래픽 모양을 기준으로 만들어져 있습니다.

구성 요소역할관제 관점
nmap호스트 확인, 포트 스캔, 서비스·OS 식별대부분의 스캔 흔적의 출처
NSE(Nmap Scripting Engine)Lua 스크립트로 추가 점검웹·SMB 등 서비스 로그에 요청 흔적
Zenmap그래픽 사용자 인터페이스트래픽은 nmap과 동일
Ndiff두 스캔 결과 비교관리자가 노출 변화 추적에 활용
Ncat, Nping연결·패킷 생성 보조 도구용도가 다양해 단독 판단 어려움

⚠️ Nmap 사용은 본인 소유 실습망 또는 명시적 허가를 받은 범위로 한정합니다. 허가 없는 스캔은 법적 문제가 될 수 있습니다.


2. 동작 원리

Nmap 공식 문서는 한 번의 실행을 여러 단계로 설명합니다. 설정에 따라 일부 단계는 생략되지만, 관제자에게 중요한 것은 단계마다 다른 장비에 흔적이 남는다는 점입니다.

대상 목록 확정 (IP 대역, 도메인 이름)
      ↓
Host Discovery (살아 있는 호스트 확인)   → ICMP·ARP·TCP 흔적 (205편, 206편)
      ↓
역방향 DNS 조회 (IP → 이름)              → 스캐너가 쓰는 DNS 서버에 PTR 질의 다수
      ↓
Port Scanning (포트 상태 판단)           → 방화벽 차단 로그, IDS 스캔 Alert
      ↓
Version / OS Detection (선택)           → 서비스 로그의 비정상 요청, 특이한 프로브
      ↓
Script Scanning (선택, NSE)             → 웹·SMB 등 애플리케이션 로그
      ↓
결과 출력

역방향 DNS 조회는 대상 네트워크가 아니라 스캐너가 설정한 DNS 서버로 갑니다. 내부 단말이 내부 대역을 스캔하면 사내 DNS 서버에 짧은 시간 동안 연속된 PTR 질의가 몰리는 흔적이 남을 수 있습니다.


3. 주요 특징

기능관리자에게 주는 결과방어 측에 남는 흔적
Host Discovery살아 있는 호스트 목록ICMP Echo·Timestamp, ARP 요청, 443·80 포트 TCP
Port Scan포트별 상태(open, closed, filtered 등)다수 포트 SYN·UDP, RST/ACK·ICMP 응답
Service/Version Detection서비스 이름·버전배너 수집, 프로토콜 프로브 문자열
OS Detection운영체제 추정비정상 플래그 조합의 TCP, ICMP 프로브
NSE스크립트별 점검 결과HTTP User-Agent, 특정 URL 요청
  • 권한에 따라 기본 동작이 달라집니다. 관리자(root) 권한이면 Raw 패킷을 직접 만들 수 있어 연결을 완성하지 않는 방식이 기본이고, 일반 사용자 권한이면 운영체제의 연결 함수를 쓰는 방식이 기본입니다. 두 방식의 흔적 차이는 207. TCP Connect Scan, 208. SYN Scan에서 다룹니다.
  • 별도 지정이 없으면 프로토콜별로 자주 쓰이는 포트 1,000개를 대상으로 합니다. 그래서 방화벽 로그에서 "1~65535 전체"가 아니라 잘 알려진 포트 위주로 흩어진 목적지 포트가 보이는 경우가 많습니다(210. Port Range Scan).
  • NSE의 HTTP 요청은 기본 User-Agent에 Nmap Scripting Engine 문자열이 포함됩니다. 사용자가 바꿀 수 있으므로 없다고 Nmap이 아니라고 단정하지 않습니다.

4. 예시

실습 예시 — 본인 소유 실습망의 웹 서버와 DNS 서버에서 Nmap 사용 흔적을 찾는 방어 측 명령입니다. 값은 환경마다 다릅니다.

# 웹 서버 접근 로그에서 NSE 기본 User-Agent 검색
# Rocky(httpd): /var/log/httpd/access_log   Ubuntu(apache2): /var/log/apache2/access.log
sudo grep -i "Nmap Scripting Engine" /var/log/httpd/access_log | awk '{print $1}' | sort | uniq -c

# 짧은 시간의 PTR 질의 급증 확인 (BIND querylog가 켜져 있는 경우)
sudo journalctl -u named --since "30 min ago" | grep -c "IN PTR"

웹 접근 로그 형식 예시(값은 환경마다 다름):

192.168.10.50 - - [30/Sep/2026:10:12:03 +0900] "GET /nmaplowercheck1727658723 HTTP/1.1" 404 196 "-" "Mozilla/5.0 (compatible; Nmap Scripting Engine; https://nmap.org/book/nse.html)"
192.168.10.50 - - [30/Sep/2026:10:12:03 +0900] "GET / HTTP/1.1" 200 4897 "-" "Mozilla/5.0 (compatible; Nmap Scripting Engine; https://nmap.org/book/nse.html)"

존재하지 않는 경로 요청 뒤에 루트 페이지 요청이 이어지는 모양은 웹 서버의 응답 특성을 확인하는 점검 요청의 흔적으로 해석할 수 있습니다. 요청 경로·순서는 스크립트와 버전에 따라 다릅니다.


5. 보안 관점

  • Nmap은 합법적인 관리 도구입니다. 도구 이름만으로 악성을 판단하지 않고, 누가, 어디서, 허가 범위 안에서 사용했는지가 판단 기준입니다.
  • 관리자는 Ndiff 같은 비교 기능으로 정기 점검 결과의 변화를 추적할 수 있습니다. 새로 열린 포트는 설정 실수나 무단 서비스의 신호가 됩니다.
  • 공격자는 도구 기본값이 남기는 특징을 바꿀 수 있습니다. 시그니처가 맞지 않아도 1:N 접근 패턴 같은 행위 기반 지표로 판단해야 합니다.

6. SOC 관점

흔적 위치확인 내용
방화벽출발지별 목적지 포트·IP 수
IDS/IPS스캔 임계치 Alert, 도구 특징 기반 시그니처 (237. Snort Scan 탐지, 238. Suricata Scan 탐지)
DNS 서버연속된 PTR 질의
웹·서비스 로그NSE User-Agent, 존재하지 않는 경로 요청

관제자가 확인할 질문

  • 출발지가 승인된 점검 서버·관리자 단말인가, 점검 일정과 맞는가?
  • 포트 스캔에 그쳤는가, 버전 확인·스크립트 점검까지 진행되었는가?
  • 일반 사용자 단말에 스캔 도구가 설치·실행되었다는 EDR 기록이 있는가?

오탐 주의: 취약점 관리 솔루션 중 일부는 내부적으로 Nmap을 사용하므로 같은 시그니처가 반복적으로 발생합니다. 예외 처리는 출발지 IP와 점검 시간대를 함께 묶어 등록해야 무분별한 예외가 되지 않습니다.


7. 핵심 정리

  • Nmap은 관리자의 네트워크 인벤토리·보안 점검용 오픈소스 도구이며, 공격자의 정찰에도 널리 쓰입니다.
  • 실행은 호스트 확인 → 역방향 DNS → 포트 스캔 → 버전·OS 확인 → 스크립트 순으로 진행되고 단계마다 다른 로그에 흔적이 남습니다.
  • 권한에 따라 기본 스캔 방식이 달라지고, 기본 대상은 자주 쓰이는 포트 1,000개입니다.
  • NSE User-Agent 같은 기본값 흔적은 유용하지만 변경 가능하므로 행위 기반 지표와 함께 봅니다.
  • 도구 이름보다 출발지·허가 범위·후속 행위가 판단 기준이며, 사용은 본인 소유 실습망으로 한정합니다.
profile
코드에 숨겨진 위협을 읽고 AI로 보안의 미래를 설계합니다. 프론트엔드 개발 경험을 자산 삼아 더 견고하고 지능적인 보안 운영 시스템을 구축해 나가는 과정을 기록합니다

0개의 댓글