방화벽 우회를 포함한 기본 Nmap 스캔 방법

NmapBeginner
지금 연습하기

소개

사이버 보안 분야에서 네트워크 스캐닝 도구 및 기술을 이해하는 것은 필수적입니다. 이 튜토리얼에서는 기본적인 Nmap 스캔을 수행하는 과정을 안내하고 방화벽 우회 방법을 탐구하여 네트워크 보안 지식과 기술을 향상시키는 데 도움을 드립니다.

Nmap 및 네트워크 스캐닝 소개

Nmap 이란 무엇인가?

Nmap(Network Mapper) 은 네트워크 탐색 및 보안 감사를 위한 강력한 오픈소스 도구입니다. 네트워크 관리자, 보안 전문가, 해커들이 네트워크 스캔, 활성 호스트 식별, 열린 포트, 서비스 및 운영 체제 탐지 등에 널리 사용됩니다.

네트워크 스캐닝 기본

네트워크 스캐닝은 네트워크상의 활성 장치를 식별하고 그에 대한 정보를 수집하는 과정입니다. 이 정보에는 IP 주소, 호스트 이름, 열린 포트, 실행 중인 서비스, 운영 체제 등이 포함될 수 있습니다. Nmap 은 TCP 연결 스캔, SYN 스캔, UDP 스캔과 같은 다양한 스캐닝 기법을 제공하여 다양한 요구 사항에 맞춥니다.

Nmap 기능 및 능력

Nmap 은 다음과 같은 다양한 기능과 능력을 제공합니다.

  • 호스트 발견: 네트워크상의 활성 호스트 식별
  • 포트 스캐닝: 열린 포트 및 관련 서비스 탐지
  • OS 탐지: 대상 호스트의 운영 체제 판별
  • 서비스 및 버전 탐지: 실행 중인 서비스 및 버전 식별
  • 스크립팅 엔진: 고급 작업을 위한 사용자 정의 스크립트 실행

Nmap 사용 사례

Nmap 은 다음과 같은 다양한 상황에서 사용될 수 있습니다.

  • 네트워크 목록 작성: 네트워크상의 장치 및 서비스 매핑
  • 보안 평가: 잠재적인 취약점 및 공격 벡터 식별
  • 침투 테스트: 추가적인 탐색을 위한 대상 네트워크 정보 수집
  • 네트워크 문제 해결: 네트워크 문제 및 연결 문제 진단

Nmap 설치 및 실행

Nmap 은 Linux, Windows, macOS 등 다양한 운영 체제에서 사용할 수 있습니다. 이 튜토리얼에서는 Ubuntu 22.04 시스템에서 Nmap 을 사용하는 데 중점을 둡니다. Nmap 을 설치하려면 다음 명령어를 사용할 수 있습니다.

sudo apt-get update
sudo apt-get install nmap

설치 후 다음 기본 명령어를 사용하여 Nmap 을 실행할 수 있습니다.

nmap <target_ip_or_hostname>

이렇게 하면 대상 호스트에 대한 기본 TCP 연결 스캔이 수행되고 열린 포트 및 관련 서비스가 표시됩니다.

기본 Nmap 스캔 수행

기본 Nmap 스캔

가장 기본적인 Nmap 스캔은 nmap <대상> 명령어를 실행할 때 기본적으로 수행되는 TCP 연결 스캔입니다. 이 스캔은 대상 호스트의 각 열린 포트와 완전한 TCP 연결을 시도합니다.

다음은 기본 Nmap 스캔의 예입니다.

nmap 192.168.1.100

이 명령은 대상 IP 주소 192.168.1.100에 대한 TCP 연결 스캔을 수행하고 다음 정보를 표시합니다.

  • 열린 포트
  • 해당 포트에서 실행 중인 관련 서비스
  • 운영 체제 (OS) 탐지 (가능한 경우)

스캔 유형

Nmap 은 다양한 스캔 유형을 제공하여 다양한 요구 사항에 맞춥니다. 몇 가지 일반적인 스캔 유형은 다음과 같습니다.

  1. SYN 스캔: 방화벽 탐지를 피하기 위해 종종 사용되는, 완전한 TCP 핸드셰이크를 완료하지 않는 은밀한 스캔입니다.
  2. UDP 스캔: 대상 호스트의 열린 UDP 포트를 스캔합니다.
  3. Idle/Zombie 스캔: 유휴 또는 "좀비" 호스트를 사용하여 스캔을 수행하여 원본 소스 추적을 어렵게 만듭니다.
  4. 포괄적 스캔: 대상에 대한 더 자세한 정보를 수집하기 위해 여러 스캔 유형을 결합합니다.

다음은 SYN 스캔의 예입니다.

nmap -sS 192.168.1.100

스캔 수정자

Nmap 은 스캔을 사용자 지정하고 더 많은 정보를 수집하기 위한 다양한 수정자를 제공합니다. 몇 가지 유용한 수정자는 다음과 같습니다.

  1. -p-: 기본 1000 개의 일반적인 포트 대신 모든 포트 (1-65535) 를 스캔합니다.
  2. -sV: 실행 중인 서비스 및 버전을 식별하기 위해 버전 탐지를 수행합니다.
  3. -sC: 추가적인 열거를 위해 기본 Nmap 스크립트 세트를 실행합니다.
  4. -O: 대상의 운영 체제를 탐지하려고 시도합니다.
  5. -oA: 출력을 모든 주요 형식 (일반, grep 가능, XML) 으로 저장합니다.

예:

nmap -sS -sV -sC -O -oA basic_scan 192.168.1.100

이 명령은 은밀한 SYN 스캔을 수행하고, 서비스 버전을 감지하고, 기본 스크립트를 실행하고, OS 탐지를 시도하며, 출력을 모든 주요 형식으로 저장합니다.

방화벽 우회 기법

방화벽 이해

방화벽은 사전 정의된 보안 규칙에 따라 들어오는 네트워크 트래픽과 나가는 네트워크 트래픽을 모니터링하고 제어하는 보안 장치입니다. 방화벽은 신뢰할 수 있는 내부 네트워크와 신뢰할 수 없는 외부 네트워크 (예: 인터넷) 사이의 장벽 역할을 합니다. 방화벽은 Nmap 과 같은 네트워크 스캐너에 대한 어려움을 야기할 수 있으며, 특정 유형의 트래픽을 차단하거나 필터링할 수 있습니다.

방화벽 우회 기법

방화벽을 우회하고 성공적인 네트워크 스캔을 수행하기 위해 Nmap 은 여러 가지 기법을 제공합니다.

1. TCP SYN 스캔

앞서 언급했듯이 TCP SYN 스캔은 완전한 TCP 핸드셰이크를 완료하지 않는 은밀한 스캔입니다. 이는 완전한 TCP 연결을 차단하도록 구성된 방화벽을 우회하는 데 도움이 될 수 있습니다.

nmap -sS 192.168.1.100

2. Idle/Zombie 스캔

Idle/Zombie 스캔은 "유휴" 또는 "좀비" 호스트를 사용하여 스캔을 수행합니다. 이는 방화벽이 스캔의 실제 출처를 감지하는 것을 더 어렵게 만듭니다.

nmap -sI zombie_host 192.168.1.100

3. 조각화된 패킷

방화벽은 큰 패킷을 차단하도록 구성될 수 있으므로 Nmap 은 패킷을 더 작은 조각으로 분할하여 이 제한을 우회할 수 있습니다.

nmap -f 192.168.1.100

4. 미끼 스캔

Nmap 은 미끼 IP 주소를 포함하여 여러 소스 IP 주소에서 스캔을 시작하여 방화벽이 스캔의 실제 출처를 식별하는 것을 더 어렵게 만들 수 있습니다.

nmap -D decoy1,decoy2,ME 192.168.1.100

5. 시간 및 지연 옵션

방화벽은 너무 빠르거나 공격적인 스캔을 차단하도록 구성될 수 있습니다. Nmap 은 스캔 속도를 늦추고 탐지를 피하기 위한 다양한 시간 및 지연 옵션을 제공합니다.

nmap -T4 -min-rate 100 192.168.1.100

이러한 기법을 결합하여 방화벽으로 보호된 네트워크를 성공적으로 스캔할 가능성을 높일 수 있습니다. 그러나 이러한 방법은 악의적인 활동에도 사용될 수 있으므로 책임감 있고 정당한 목적으로만 사용하는 것이 중요합니다.

요약

이 사이버 보안 튜토리얼에서는 기본적인 Nmap 스캔 수행 및 방화벽 우회 기법에 대한 포괄적인 개요를 제공했습니다. 이러한 기술을 숙달함으로써 네트워크에 대한 귀중한 정보를 효과적으로 수집하고, 잠재적인 취약점을 식별하며, 전반적인 사이버 보안 자세를 강화하기 위한 적극적인 조치를 취할 수 있습니다.