📚 네트워크 · 패킷 분석 › 05. 네트워크 스캔 징후 분석 — 229편
이전 글: 228. 내부망 정찰 · 다음 글: 230. Web Scan

1. 개념

외부망 정찰 은 인터넷에 있는 행위자가 조직의 공개 자산(공인 IP, 도메인, 웹 서비스, 메일 서버) 을 파악하는 활동입니다. MITRE ATT&CK에서는 Reconnaissance 전술로 분류되며, 능동 스캔(Active Scanning, T1595)과 공개 기술 데이터베이스 검색(T1596) 등이 포함됩니다. 정찰 개념 전반은 202. 정찰(Reconnaissance)의 개념에서 다뤘습니다.

관제자가 알아야 할 핵심은 두 가지입니다. 첫째, 외부 정찰의 상당 부분은 우리 로그에 흔적이 남지 않습니다. 둘째, 로그에 남는 외부 스캔의 대부분은 특정 조직을 노리지 않는 배경 소음입니다.

구분수동 정찰능동 정찰
방법검색 엔진, 인증서 투명성 로그, 공개 DNS 정보, 인터넷 스캔 결과 데이터베이스공인 IP 스캔, DNS 질의, 웹 크롤링
우리 로그 흔적없음방화벽, IDS, DNS, 웹 로그
방어 측 대응우리 노출 정보를 먼저 확인탐지·분류·노출 점검

2. 동작 원리

[수동] 공개 정보 수집 ── 우리 장비와 통신 없음 → 로그 없음
          ↓ (수집된 도메인·IP·서비스 목록)
[능동] 공인 IP 대역 스캔 ──→ 경계 방화벽 차단·허용 로그, IDS Alert
       권한 DNS 서버 질의 ──→ 하위 도메인 대량 질의, 존 전송(AXFR) 시도
       웹 크롤링·배너 수집 ──→ 웹 로그, 서비스 로그
          ↓
방어 측 분류
  ├─ 배경 소음: 인터넷 전체를 대상으로 하는 봇·연구 스캐너
  └─ 표적 정찰: 우리 자산만 겨냥, 여러 채널을 연결해 조사
          ↓
공통 대응: 스캔에 열림으로 응답한 공개 자산이 의도된 노출인지 확인

DNS는 외부 정찰 흔적이 잘 남는 곳입니다. 권한 DNS 서버의 쿼리 로그에는 다음과 같은 모양이 나타날 수 있습니다.

DNS 흔적모양해석
존 전송(AXFR) 요청허가되지 않은 출발지의 AXFR전체 레코드 목록 획득 시도 → 반드시 거부 설정
하위 도메인 대량 질의한 출발지(또는 리졸버)에서 NXDOMAIN 응답 급증단어 목록 기반 하위 도메인 탐색
역방향 대량 조회공인 대역 PTR 질의 연속대역 내 호스트 이름 파악

3. 주요 특징

  • 배경 소음의 양이 많음: 공인 IP는 봇넷, 자동화 스캐너, 연구 목적 스캐너의 요청을 상시로 받습니다. 연구 목적 스캐너는 자신의 출발지 대역과 역방향 DNS 이름, 안내 웹페이지를 공개하는 경우가 많습니다.
  • 표적 정찰의 특징: 우리 조직의 대역·도메인만 조사하고, DNS 질의 → 웹 크롤링 → 특정 서비스 스캔처럼 여러 채널이 시간상 연결됩니다.
  • 출발지 분산: 외부 정찰은 여러 출발지·클라우드 주소에서 나뉘어 올 수 있어, 단일 IP 기준보다 대상·행위 기준 묶음이 유용합니다.
기준배경 소음표적 정찰
대상 범위인터넷 전체 중 일부로서 우리 대역우리 자산만
출발지 평판알려진 스캐너·봇 목록에 많음신규·클라우드 주소가 많음
채널 연계단일(포트 스캔)DNS·웹·포트가 연결됨
우선순위노출 점검 위주추적·연관 분석

4. 예시

실습 예시 — 본인 소유 실습망의 권한 DNS 서버(BIND) 쿼리 로그에서 존 전송 시도와 NXDOMAIN 급증을 확인하는 방어 측 명령입니다. 로그 위치와 형식은 설정에 따라 다르며(예: Rocky는 /var/named/data/ 아래, Ubuntu는 /var/log/named/ 등 설정한 경로), 값은 환경마다 다릅니다.

# 존 전송 요청 기록 (BIND는 거부 시 'zone transfer ... denied' 형태로 기록)
sudo grep -iE 'AXFR|zone transfer' /var/log/named/*.log | tail

# Zeek dns.log: 출발지별 NXDOMAIN 응답 수
zeek-cut id.orig_h rcode_name < dns.log \
  | awk '$2=="NXDOMAIN" {c[$1]++} END {for (s in c) print c[s], s}' | sort -rn | head

로그 형식 예시(값은 환경마다 다름, BIND 버전에 따라 문구가 다름):

client @0x7f... 203.0.113.99#41822 (example.com): zone transfer 'example.com/AXFR/IN' denied
1873 203.0.113.99
  12 198.51.100.53
관찰해석
AXFR 요청 거부전체 레코드 획득 시도 → 거부 설정이 동작함
같은 출발지 NXDOMAIN 1,873건하위 도메인 목록 대입 탐색 형태
같은 출발지의 공인 IP 스캔 기록DNS → 포트 스캔으로 이어진 표적 정찰 가능성

5. 보안 관점

  • 수동 정찰은 막을 수 없으므로, 방어자가 공격자와 같은 관점으로 우리 노출 정보를 먼저 확인하는 것이 대책입니다(공개 DNS 레코드, 인증서에 기재된 호스트명, 인터넷에 열린 포트).
  • 존 전송은 허가된 보조 DNS 서버에만 허용합니다. 내부 전용 호스트명이 외부 DNS에 있으면 정찰에 그대로 노출됩니다.
  • 외부 스캔 하나하나를 차단·보고하기보다, 열림으로 응답한 공개 자산이 의도된 것인지를 정기적으로 점검하는 편이 실효성이 높습니다.

6. SOC 관점

흔적 위치확인 내용
경계 방화벽·IDS공인 대역 스캔, 출발지 평판
권한 DNSAXFR 시도, NXDOMAIN 급증, PTR 연속 조회
웹·메일 로그크롤링, 배너 수집, 사용자 열거 시도
위협 인텔리전스알려진 스캐너·봇 목록, 다른 조직 관찰 정보

관제자가 확인할 질문

  • 이 출발지는 인터넷 전반을 스캔하는 알려진 스캐너인가, 우리만 조사하는가?
  • DNS·웹·포트 스캔이 같은 출발지나 가까운 시간대에 연결되어 나타나는가?
  • 스캔에 열림으로 응답한 공개 자산 중 의도하지 않은 노출이 있는가?

오탐 주의: 검색 엔진 크롤러, 연구 목적 스캐너, 외부 보안 점검 서비스, 고객사의 정상 DNS 리졸버는 외부 정찰과 비슷한 흔적을 만듭니다. 역방향 DNS·공개 안내 정보·계약된 점검 일정으로 출처를 확인하되, "알려진 스캐너"라도 그 결과가 공개 데이터베이스로 공유된다는 점은 노출 점검에 반영합니다.


7. 핵심 정리

  • 외부망 정찰은 수동(로그 흔적 없음)과 능동(방화벽·DNS·웹 로그에 흔적)으로 나뉩니다.
  • 로그에 남는 외부 스캔의 대부분은 배경 소음이며, 표적 정찰은 우리 자산만 겨냥하고 여러 채널이 연결됩니다.
  • 권한 DNS의 AXFR 시도, NXDOMAIN 급증, PTR 연속 조회는 외부 정찰의 대표 흔적입니다.
  • 수동 정찰은 막을 수 없으므로 방어자가 먼저 우리 노출 정보를 확인합니다.
  • 대응의 중심은 개별 스캔 차단보다 열림으로 응답한 공개 자산의 노출 의도 점검입니다.
profile
코드에 숨겨진 위협을 읽고 AI로 보안의 미래를 설계합니다. 프론트엔드 개발 경험을 자산 삼아 더 견고하고 지능적인 보안 운영 시스템을 구축해 나가는 과정을 기록합니다

0개의 댓글