📚 네트워크 · 패킷 분석 › 05. 네트워크 스캔 징후 분석 — 205편
이전 글: 204. Nmap 기본 사용법 · 다음 글: 206. Ping Scan

1. 개념

Host Discovery(호스트 탐색) 는 IP 대역 안에서 실제로 응답하는 호스트가 어느 것인지 확인하는 정찰 단계입니다. 포트 스캔 전에 대상을 줄이기 위해 수행되며, 관리자의 자산 파악에도 같은 방식이 쓰입니다.

방어자에게 Host Discovery는 정찰의 가장 이른 흔적입니다. 포트 스캔보다 트래픽 양이 적어 놓치기 쉽지만, 한 출발지가 대역 전체에 짧은 요청을 뿌린다는 점에서 구분할 수 있습니다. ICMP Echo만 사용하는 방식은 206. Ping Scan에서 따로 다룹니다.

방식사용 계층흔적이 보이는 위치비고
ARP 요청L2같은 LAN의 패킷 캡처, 스위치·NDR라우터를 넘지 않음
ICMP Echo / TimestampL3방화벽 ICMP 로그, IDSType 8 / Type 13
TCP SYN·ACK 프로브L4방화벽 로그443·80 같은 흔한 포트
TCP 연결 시도L4방화벽·서비스 로그관리자 권한 없을 때
UDP 프로브L4방화벽 로그, ICMP Port Unreachable닫힌 포트의 응답으로 생존 판단

2. 동작 원리

Host Discovery는 응답이 오기만 하면 살아 있다고 판단합니다. 포트가 닫혀 RST가 와도, ICMP 오류가 와도 호스트는 존재한다는 뜻입니다.

탐색 출발지
   │
   ├─ 같은 LAN인가? ── 예 ──→ ARP Request (Broadcast) "who-has 192.168.10.x"
   │                           ↓
   │                     ARP Reply 수신 → 살아 있음 (IP 계층 차단과 무관)
   │
   └─ 원격 대역 ────────→ ICMP Echo(8) / Timestamp(13), TCP SYN(443), TCP ACK(80) 등
                               ↓
                     Echo Reply(0), Timestamp Reply(14), SYN/ACK, RST 중 하나라도 수신
                               ↓
                     살아 있음 → 포트 스캔 대상 목록에 추가
                     모두 무응답 → 없음 또는 모두 차단됨

Nmap의 기본 동작을 예로 들면, 관리자 권한으로 같은 이더넷 LAN을 탐색할 때는 ARP를 사용하고, 원격 대역에는 ICMP Echo, TCP SYN(443), TCP ACK(80), ICMP Timestamp를 함께 보냅니다. 일반 사용자 권한이면 80·443 포트로 TCP 연결을 시도합니다(버전에 따라 다를 수 있음). 방어자 입장에서 이 조합은 한 대상에 ICMP와 TCP가 거의 동시에 도착하는 흔적으로 나타납니다.


3. 주요 특징

  • ARP 탐색은 방화벽 로그에 남지 않습니다. L2 브로드캐스트이므로 IP 기반 방화벽을 거치지 않고, 호스트 방화벽이 IP 패킷을 막아도 ARP에는 응답합니다. 내부 단말의 ARP 스윕은 NDR, 스위치 모니터링, 패킷 캡처에서만 보입니다.
  • TCP ACK 프로브에는 RST가 돌아옵니다. 연결 없이 도착한 ACK에 호스트가 RST로 답하므로, 상태 비저장 필터를 통과하면 생존이 확인됩니다. Stateful 방화벽은 세션에 없는 ACK를 차단하므로 로그에 "세션 없는 ACK 차단"으로 남을 수 있습니다.
  • 대상 순서가 규칙적입니다. 도구 기본값은 IP 순서를 섞기도 하지만, 한 대역 내 거의 모든 주소에 한 번씩 요청한다는 점은 같습니다.
관찰 지표정상 통신Host Discovery
한 출발지의 ARP 요청 대상 수게이트웨이·자주 쓰는 서버 몇 개대역의 대부분(수십~수백)
존재하지 않는 IP에 대한 요청드묾많음(응답 없는 ARP·ICMP)
같은 대상에 ICMP+TCP 동시 도착드묾원격 탐색의 전형적 조합
이후 트래픽서비스 이용응답한 호스트에만 포트 스캔

4. 예시

실습 예시 — 본인 소유 실습망에서 ARP 기반 탐색 흔적을 찾는 방어 측 명령입니다(Rocky/Ubuntu 공통, 인터페이스명은 환경마다 다름).

# ARP Request만 캡처 (ARP opcode 1 = Request)
sudo tcpdump -nn -i ens33 'arp[6:2] == 1'

# 저장된 캡처에서 요청자별로 질의한 서로 다른 IP 수 집계
tshark -r /tmp/lan.pcapng -Y 'arp.opcode == 1' -T fields -e arp.src.proto_ipv4 -e arp.dst.proto_ipv4 \
  | sort -u | awk '{c[$1]++} END {for (s in c) print c[s], s}' | sort -rn

tcpdump 출력 형식 예시(값은 환경마다 다름):

10:21:04.101 ARP, Request who-has 192.168.10.1 tell 192.168.10.50, length 28
10:21:04.101 ARP, Request who-has 192.168.10.2 tell 192.168.10.50, length 28
10:21:04.102 ARP, Request who-has 192.168.10.3 tell 192.168.10.50, length 28
10:21:04.102 ARP, Request who-has 192.168.10.4 tell 192.168.10.50, length 28

집계 결과 형식 예시:

    254 192.168.10.50
      3 192.168.10.1
      2 192.168.10.15

192.168.10.50이 1초 안에 대역 전체의 ARP를 요청했고, 게이트웨이(192.168.10.1)와 일반 단말은 몇 개만 질의했습니다. Wireshark에서는 arp.opcode == 1 && arp.src.proto_ipv4 == 192.168.10.50 필터로 같은 흐름을 볼 수 있습니다.

📷 [실습 화면 삽입 위치] Wireshark에서 arp.opcode == 1 필터 적용 후 Target IP만 1씩 증가하는 ARP Request 목록 화면


5. 보안 관점

  • 내부 단말의 대역 전체 ARP 탐색은 침투 후 내부 탐색(Discovery) 의 초기 신호일 수 있습니다. 방화벽 로그만 보는 관제 체계에서는 보이지 않으므로 NDR·EDR 연계가 중요합니다(228. 내부망 정찰).
  • 외부에서 오는 ICMP·TCP 탐색은 흔하지만, 경계에서 응답을 줄이면(불필요한 ICMP Echo 차단, 닫힌 포트는 무응답 차단) 호스트 존재 정보를 덜 노출합니다. 단, ICMP를 모두 막으면 경로 MTU 탐색 같은 정상 기능이 깨질 수 있으므로 유형별로 판단합니다.
  • Host Discovery 직후 응답한 호스트에만 포트 스캔이 이어지는지 보면 같은 행위자의 연속 정찰인지 판단할 수 있습니다.

6. SOC 관점

흔적 위치확인 내용
패킷 캡처·NDR한 출발지의 순차 ARP Request, 응답 없는 IP 비율
방화벽다수 목적지로의 ICMP Type 8/13, 세션 없는 TCP ACK 차단
IDSICMP 스윕·Timestamp 요청 관련 Alert
EDR탐색을 일으킨 프로세스(스캔 도구, 스크립트)

관제자가 확인할 질문

  • 출발지 단말의 역할은 무엇이며, 대역 전체를 탐색할 이유가 있는가?
  • 응답한 호스트에 대해 포트 스캔이나 접속 시도가 이어졌는가?
  • 탐색을 일으킨 프로세스와 사용자 계정은 무엇인가?

오탐 주의: DHCP 서버의 주소 충돌 확인, NAC·자산관리 솔루션, 네트워크 프린터·NAS의 장치 탐색, 게이트웨이의 ARP 갱신, 가상화 호스트는 ARP 요청을 많이 만듭니다. IPv6 환경에서는 ARP 대신 Neighbor Solicitation(ICMPv6)으로 같은 모양이 나타납니다.


7. 핵심 정리

  • Host Discovery는 응답 유무로 살아 있는 호스트를 찾는 정찰 단계이며, 어떤 응답이든 오면 생존으로 판단합니다.
  • 같은 LAN에서는 ARP, 원격 대역에서는 ICMP·TCP 프로브 조합이 주로 사용됩니다.
  • ARP 탐색은 IP 방화벽 로그에 남지 않으므로 패킷 캡처·NDR에서 확인합니다.
  • 한 출발지가 대역 대부분에 요청하고 응답 없는 IP가 많은 것이 핵심 지표입니다.
  • 탐색 후 응답 호스트에만 포트 스캔이 이어지는지 보면 연속 정찰 여부를 판단할 수 있습니다.
profile
코드에 숨겨진 위협을 읽고 AI로 보안의 미래를 설계합니다. 프론트엔드 개발 경험을 자산 삼아 더 견고하고 지능적인 보안 운영 시스템을 구축해 나가는 과정을 기록합니다

0개의 댓글