소개
사이버 보안 분야에서 네트워크 취약점을 이해하는 것은 필수적입니다. 이 튜토리얼에서는 강력한 네트워크 스캐닝 도구인 Nmap 을 사용하여 대상 네트워크에서 열린 포트와 서비스를 식별하는 방법을 안내합니다. 이 문서를 마치면 사이버 보안 평가에 Nmap 을 효과적으로 활용하고 전반적인 보안 자세를 강화할 수 있는 지식을 갖추게 될 것입니다.
Nmap 및 네트워크 스캐닝 소개
Nmap 이란 무엇인가?
Nmap(Network Mapper) 은 네트워크 탐색 및 보안 감사를 위한 강력한 오픈소스 도구입니다. 네트워크 관리자, 보안 전문가, 윤리적인 해커들이 네트워크에서 호스트, 포트 및 서비스를 식별하는 데 널리 사용됩니다. Nmap 은 TCP 연결 스캔, SYN 스캔, UDP 스캔 등 다양한 유형의 네트워크 스캔을 수행할 수 있습니다.
네트워크 스캐닝 기본 사항
네트워크 스캐닝은 네트워크에서 활성 호스트, 열린 포트 및 실행 중인 서비스를 식별하는 프로세스입니다. 이 정보는 네트워크의 보안 상태를 평가하고 잠재적인 취약점을 식별하는 데 사용될 수 있습니다. Nmap 은 다양한 옵션과 기술을 제공하여 네트워크 스캔을 수행합니다.
graph LR
A[TCP 연결 스캔] --> B[SYN 스캔]
B --> C[UDP 스캔]
C --> D[Idle/Zombie 스캔]
D --> E[포괄적 스캔]
Nmap 사용 시나리오
Nmap 은 다양한 시나리오에서 사용될 수 있습니다.
- 네트워크 탐색 및 매핑
- 취약점 평가
- 침투 테스트
- 컴플라이언스 모니터링
- 사고 대응 및 포렌식
Nmap 설치 및 구성
Nmap 은 Linux, Windows, macOS 등 다양한 운영 체제에서 사용할 수 있습니다. 이 튜토리얼에서는 Ubuntu 22.04 LTS 를 운영 체제로 사용합니다.
Ubuntu 22.04 에서 Nmap 을 설치하려면 터미널에서 다음 명령어를 실행합니다.
sudo apt-get update
sudo apt-get install nmap
Nmap 이 설치되면 네트워크를 스캔하기 시작할 수 있습니다.
기본 Nmap 스캔 수행
TCP 연결 스캔
TCP 연결 스캔은 가장 기본적인 유형의 Nmap 스캔입니다. 대상 호스트와 완전한 TCP 연결을 설정하여 열린 포트와 실행 중인 서비스를 식별하는 데 유용합니다. TCP 연결 스캔을 수행하려면 다음 명령어를 사용합니다.
nmap -sT <target_ip_or_hostname>
SYN 스캔
SYN 스캔 (또는 "반 연결" 스캔) 은 TCP 연결 스캔보다 더 은밀하고 효율적인 대안입니다. 대상 호스트에 SYN 패킷을 보내고 SYN-ACK 응답을 기다립니다. 이 응답은 포트가 열려 있음을 나타냅니다. SYN 스캔을 수행하려면 다음 명령어를 사용합니다.
nmap -sS <target_ip_or_hostname>
UDP 스캔
UDP 스캔은 대상 호스트에서 열린 UDP 포트를 식별하는 데 사용됩니다. UDP 스캔은 일부 서비스가 UDP 프로브에 응답하지 않을 수 있기 때문에 TCP 스캔보다 느리고 신뢰성이 떨어질 수 있습니다. UDP 스캔을 수행하려면 다음 명령어를 사용합니다.
nmap -sU <target_ip_or_hostname>
포괄적 스캔
포괄적 스캔은 여러 스캔 유형을 결합하여 대상 네트워크에 대한 보다 포괄적인 평가를 제공합니다. 이에는 TCP 연결 스캔, SYN 스캔 및 UDP 스캔이 포함될 수 있습니다. 포괄적 스캔을 수행하려면 다음 명령어를 사용합니다.
nmap -sV -sS -sU -p- <target_ip_or_hostname>
이 명령어는 버전 감지 스캔 (-sV), SYN 스캔 (-sS), UDP 스캔 (-sU) 및 모든 65,535 개 TCP 포트 스캔 (-p-) 을 수행합니다.
스캔 결과 해석
Nmap 스캔 결과는 대상 네트워크에 대한 유용한 정보를 제공합니다.
| 정보 | 설명 |
|---|---|
| 호스트 상태 | 호스트가 작동 중인지 아닌지 나타냅니다. |
| 열린 포트 | 대상 호스트의 열린 포트 목록입니다. |
| 서비스/버전 감지 | 열린 포트에서 실행 중인 서비스 및 버전을 식별합니다. |
| 운영 체제 감지 | 대상 호스트의 운영 체제를 판별하려고 시도합니다. |
스캔 결과를 분석하여 대상 네트워크의 잠재적인 공격 벡터와 취약점을 식별할 수 있습니다.
열린 포트 및 서비스 식별
열린 포트 식별
네트워크 스캐닝의 주요 목표 중 하나는 대상 시스템의 열린 포트를 식별하는 것입니다. 열린 포트는 해당 포트에서 서비스 또는 애플리케이션이 대기하고 있음을 나타내며, 잠재적으로 악용될 수 있습니다. Nmap 을 사용하여 열린 포트를 식별하려면 다음 명령어를 사용할 수 있습니다.
nmap -p- <target_ip_or_hostname>
이 명령어는 대상 호스트의 모든 65,535 개 TCP 포트를 스캔하고 열린 포트를 표시합니다.
서비스 및 버전 감지
열린 포트를 식별하는 것 외에도 Nmap 은 해당 포트에서 실행 중인 서비스 및 애플리케이션에 대한 정보를 제공할 수 있습니다. 이것이 서비스 및 버전 감지입니다. 서비스 및 버전 감지를 수행하려면 다음 명령어를 사용합니다.
nmap -sV <target_ip_or_hostname>
-sV 옵션은 Nmap 에 열린 포트를 조사하여 서비스/버전 정보를 결정하도록 지시합니다. 이는 잠재적인 취약점 및 오배치를 식별하는 데 유용할 수 있습니다.
포괄적인 결과를 위한 스캔 결합
대상 네트워크에 대한 가장 포괄적인 정보를 얻으려면 다양한 Nmap 스캔 유형을 결합할 수 있습니다. 예를 들어, 다음 명령어는 SYN 스캔, UDP 스캔 및 버전 감지 스캔을 수행합니다.
nmap -sS -sU -sV <target_ip_or_hostname>
이렇게 하면 열린 TCP 및 UDP 포트와 해당 포트에서 실행 중인 서비스 및 버전에 대한 정보를 얻을 수 있습니다.
스캔 결과 해석
Nmap 스캔 결과는 다음 정보를 제공합니다.
| 정보 | 설명 |
|---|---|
| 호스트 상태 | 호스트가 작동 중인지 아닌지 나타냅니다. |
| 열린 포트 | 대상 호스트의 열린 포트 목록입니다. |
| 서비스/버전 감지 | 열린 포트에서 실행 중인 서비스 및 버전을 식별합니다. |
| 운영 체제 감지 | 대상 호스트의 운영 체제를 판별하려고 시도합니다. |
이 정보를 분석하여 대상 네트워크의 잠재적인 공격 벡터와 취약점을 식별할 수 있습니다.
요약
Nmap 은 사이버 보안 분야에서 다양하고 널리 사용되는 도구로, 보안 전문가들이 대상 네트워크에 대한 귀중한 정보를 수집할 수 있도록 지원합니다. 이 튜토리얼에서는 기본적인 Nmap 스캔을 수행하고, 열린 포트와 서비스를 식별하며, 이러한 지식을 활용하여 사이버 보안 관행을 강화하는 방법을 배웠습니다. Nmap 을 마스터함으로써 네트워크 보안을 적극적으로 강화하고 잠재적인 위협에 앞서 나갈 수 있습니다.



