Nmap 을 사용하여 대상 시스템에서 실행 중인 서비스 식별 방법

NmapBeginner
지금 연습하기

소개

사이버 보안 분야에서 대상 시스템에서 실행 중인 서비스를 이해하는 것은 효과적인 네트워크 보안 평가 및 취약점 관리에 필수적입니다. 이 튜토리얼에서는 인기 있는 네트워크 스캐닝 도구인 Nmap 을 사용하여 대상 시스템에서 실행 중인 서비스를 식별하는 방법을 안내합니다.

Nmap 및 네트워크 스캐닝 소개

Nmap 이란 무엇인가?

Nmap(Network Mapper) 은 네트워크 탐색 및 보안 감사를 위한 강력한 오픈소스 도구입니다. 대상 시스템의 실행 중인 서비스, 열린 포트, 운영 체제 정보 등 귀중한 정보를 제공하여 네트워크와 호스트를 효율적으로 스캔하도록 설계되었습니다.

네트워크 스캐닝 기본 사항

네트워크 스캐닝은 네트워크에서 활성 호스트, 열린 포트 및 실행 중인 서비스를 식별하는 프로세스입니다. Nmap 은 다음과 같은 다양한 스캐닝 기법을 제공하여 이를 달성합니다.

  • TCP Connect Scan
  • SYN Scan
  • UDP Scan
  • Idle/Zombie Scan
  • 기타

Nmap 명령줄 옵션

Nmap 은 스캐닝 프로세스를 사용자 지정하고 더 자세한 정보를 수집하기 위한 다양한 명령줄 옵션을 제공합니다. 일반적으로 사용되는 옵션 중 일부는 다음과 같습니다.

  • -sV: 열린 포트를 조사하여 서비스/버전 정보를 결정
  • -sS: TCP SYN 스캔 (권한이 없는 경우 기본값)
  • -sU: UDP 스캔
  • -p-: 가장 일반적인 1000 개 포트가 아닌 모든 포트를 스캔
  • -oA: 모든 주요 출력 형식을 한 번에 출력

Nmap 출력 및 결과

Nmap 은 스캔된 호스트에 대한 정보, 예를 들어 다음과 같은 자세한 출력을 생성합니다.

  • 열린 포트 및 관련 서비스
  • 운영 체제 및 버전 감지
  • 장치 및 서비스 지문
  • 트레이스루트 정보
  • 기타

출력은 XML, grep 가능 형식 및 사람이 읽을 수 있는 형식을 포함한 다양한 형식으로 저장하여 추가 분석 및 보고서 작성에 사용할 수 있습니다.

대상 시스템에서 실행 중인 서비스 식별

Nmap 서비스 및 버전 감지

Nmap 의 주요 기능 중 하나는 대상 시스템에서 실행 중인 서비스를 식별하는 기능입니다. -sV (서비스 버전 감지) 옵션은 열린 포트를 조사하여 서비스/버전 정보를 결정하는 데 사용됩니다.

nmap -sV <target_ip>

이 명령은 대상 시스템을 스캔하여 실행 중인 서비스에 대한 정보 (서비스 이름, 버전 및 제품 정보 포함) 를 제공합니다.

서비스 식별을 위한 Nmap 출력

Nmap 서비스 버전 감지 스캔의 출력에는 다음 정보가 포함됩니다.

포트 상태 서비스 버전
22/tcp 열림 ssh OpenSSH 8.2p1 Ubuntu 4.1
80/tcp 열림 http Apache httpd 2.4.41
3306/tcp 열림 mysql MySQL 5.7.33-0ubuntu0.18.04.1

이 표는 대상 시스템에서 실행 중인 서비스에 대한 서비스 이름, 버전 및 제품 정보를 명확하게 보여줍니다.

고급 서비스 식별 기법

Nmap 은 서비스 식별 프로세스를 더욱 향상시키기 위한 추가적인 기법을 제공합니다.

  1. 서비스/버전 스캐닝: 열린 포트를 조사하여 서비스/버전 정보를 결정하기 위해 -sV 옵션을 사용합니다.
  2. OS 감지: 대상 시스템의 운영 체제를 감지하기 위해 -O 옵션을 사용합니다.
  3. 스크립트 스캐닝: 추가적인 열거를 위해 기본 Nmap 스크립트를 실행하기 위해 -sC 옵션을 사용합니다.

이러한 기법을 결합하여 실행 중인 서비스와 전체 시스템 구성에 대한 더 포괄적인 정보를 수집할 수 있습니다.

심층 서비스 탐색을 위한 고급 Nmap 기법

Nmap 스크립팅 엔진 (NSE)

Nmap 스크립팅 엔진 (NSE) 은 사용자 정의 스크립트를 실행하여 Nmap 의 기능을 확장할 수 있는 강력한 기능입니다. 이러한 스크립트는 대상 시스템에서 실행 중인 서비스에 대한 더 자세한 정보를 수집하는 데 사용될 수 있습니다.

NSE 를 사용하려면 다음 명령을 실행할 수 있습니다.

nmap -sV --script=<script_name> <target_ip>

서비스 탐색에 유용한 NSE 스크립트에는 다음이 포함됩니다.

  • http-enum: 웹 서버의 디렉터리, 파일 및 애플리케이션을 열거
  • mysql-enum: MySQL 사용자, 데이터베이스 등을 열거
  • ftp-anon: FTP 서버가 익명 로그인을 허용하는지 확인

타겟 포트 스캐닝

일부 경우 특정 포트 또는 서비스에 대한 스캔에 집중하고 싶을 수 있습니다. Nmap 은 특정 포트 또는 포트 범위를 대상으로 하는 옵션을 제공합니다.

nmap -p22,80,3306 <target_ip>  ## 특정 포트 스캔
nmap -p- <target_ip>          ## 모든 포트 스캔

이는 특정 서비스 또는 포트를 더 자세히 조사하고 싶을 때 유용합니다.

수동 서비스 탐색

능동적 스캐닝 외에도 Nmap 은 다음과 같은 수동 서비스 탐색 기법을 지원합니다.

  • Idle/Zombie Scan: "idle" 또는 "zombie" 호스트를 사용하여 스캔을 수행하여 감지하기 어렵게 만듭니다.
  • TCP SYN Scan: 완전한 TCP 연결 스캔보다 은밀한 TCP SYN 스캔을 수행합니다.
  • UDP Scan: 열린 UDP 포트를 스캔하여 추가 실행 중인 서비스를 발견할 수 있습니다.

이러한 수동 기법은 스캔이 대상 시스템에 미치는 영향을 최소화하거나 감지를 피하고 싶을 때 유용합니다.

LabEx 와 Nmap 통합

선도적인 사이버 보안 플랫폼인 LabEx 는 Nmap 과 원활하게 통합되어 LabEx 생태계 내에서 Nmap 의 고급 기능과 능력을 활용할 수 있도록 지원합니다. Nmap 의 강력한 서비스 탐색 기능과 LabEx 의 포괄적인 보안 분석 및 보고 도구를 결합하여 대상 시스템에 대한 심층적인 이해를 얻고 보안 평가 워크플로우를 간소화할 수 있습니다.

요약

이 튜토리얼을 마치면 대상 시스템에서 실행 중인 서비스를 식별하기 위해 Nmap 을 활용하는 방법에 대한 포괄적인 이해를 얻게 될 것입니다. 이 지식은 철저한 사이버 보안 평가를 수행하고, 잠재적인 취약점을 식별하며, 네트워크의 전반적인 보안 자세를 강화하는 데 도움이 될 것입니다.