ICMP bypass Port Scan nMAP

agnusdei·2025년 5월 3일
0

Offensive Security

목록 보기
1/26

🔍 Nmap 실전 사용법: ICMP 차단 우회 스캔 (-Pn 옵션 분석)

보안 점검이나 내부 네트워크 진단 시, 방화벽 등으로 인해 ICMP(Ping) 요청이 차단된 경우 Nmap이 "호스트가 살아있지 않다"며 스캔을 생략하는 경우가 있습니다. 이를 우회하려면 -Pn 옵션이 핵심입니다.

이번 글에서는 다음 명령어를 중심으로 그 원리와 사용법을 분석합니다:

nmap -p 22 -Pn --open xxx.xxx.xxx.xxx

xxx.xxx.xxx.xxx는 스캔 대상 IP로, 블로그에선 마스킹 처리했습니다.


✅ 명령어 구성 설명

옵션의미
-p 22SSH 포트(22번)만 스캔
-PnPing 없이 스캔 – ICMP 응답 무시, 호스트 생존 여부 확인 생략
--open열린 포트만 출력 – 닫힌 포트는 출력 생략

🧠 왜 -Pn이 중요한가?

기본적으로 Nmap은 대상이 "살아있는지" 확인하기 위해 다음과 같은 과정을 거칩니다:

  1. ICMP Echo Request (Ping)
  2. TCP ACK 또는 SYN Ping
  3. 로컬 네트워크의 경우 ARP Ping

하지만 방화벽이나 보안장비가 이를 차단하면, Nmap은 **"Host seems down"**으로 판단하고 아예 스캔을 하지 않습니다.

-Pn을 사용하면 이러한 생존 확인 절차를 건너뛰고, 대상이 살아있다고 가정한 상태로 직접 포트를 스캔합니다. 즉, ICMP 차단을 우회할 수 있습니다.


🧱 ARP와의 관계

  • 로컬 네트워크에서 Nmap은 ICMP 대신 ARP Ping을 사용해 대상이 존재하는지 확인합니다.
  • 그러나 -Pn을 사용하면 이 ARP Ping마저 생략하고 바로 포트 스캔을 진행합니다.
  • 이는 ARP 응답이 제한된 네트워크 환경에서도 유용하게 작동합니다.

🔐 실전 활용 시나리오

  • 방화벽이나 클라우드 보안 그룹에서 ICMP 차단된 경우
  • 사내 보안 정책으로 ping이 막힌 네트워크 구간
  • VPN이나 포트포워딩을 거친 대상의 포트 상태 확인
  • 침투 테스트 중 WAF/IDS 회피 실험

🧪 예시 결과

Starting Nmap 7.95 ( https://nmap.org )
Nmap done: 1 IP address (1 host up) scanned in 2.31 seconds

→ 결과에 열린 포트 정보가 없다면, 포트가 닫혀 있거나 필터링된 상태입니다. --open 옵션으로 인해 열린 포트만 출력되기 때문입니다.


🧩 함께 사용하면 좋은 옵션

옵션설명
-sSTCP SYN 스캔 (스텔스 스캔)
-T0 ~ -T5속도 조절 (느릴수록 탐지 회피 가능성 ↑)
--scan-delay포트 간 시간 지연 삽입
--spoof-macMAC 주소 스푸핑으로 탐지 우회 실험

✍️ 마무리

-Pn은 단순한 옵션 하나처럼 보이지만, 보안 환경이 까다로운 네트워크에서 Nmap의 탐지 우회 능력을 극대화하는 중요한 기능입니다. 스캔이 실패하거나 대상이 “죽은 것처럼” 보일 때, 이 옵션을 꼭 활용해보세요.


0개의 댓글