Nmap 을 이용한 버전 탐지
이 단계에서는 Nmap 의 버전 탐지 기능에 대해 배우겠습니다. 시작하기 전에 이것이 왜 중요한지 이해해 보겠습니다. OS 탐지는 대상이 어떤 운영 체제를 사용하는지 파악하는 데 도움이 됩니다. 그러나 버전 탐지는 열린 포트에서 실행 중인 서비스의 특정 버전을 찾는 데 중점을 둡니다. 이는 많은 소프트웨어 취약점이 특정 버전에 묶여 있기 때문에 매우 중요합니다. 서비스의 정확한 버전을 알면 잠재적인 보안 위험을 더 정확하게 식별할 수 있습니다.
버전 탐지 이해
서비스 탐지라고도 하는 버전 탐지는 몇 가지 주요 질문에 답하려고 시도합니다. 첫째, 열린 포트에서 어떤 애플리케이션이 실행 중인지 확인하는 것을 목표로 합니다. 둘째, 해당 애플리케이션의 특정 버전을 찾으려고 시도합니다. 때로는 패치 수준이나 기타 추가 세부 정보까지 밝혀낼 수 있습니다. 이 정보는 많은 보안 취약점이 특정 소프트웨어 버전에 특화되어 있기 때문에 매우 가치가 있습니다. 대상에서 어떤 소프트웨어 버전이 실행 중인지 정확히 알면 잠재적인 보안 문제를 신속하게 식별할 수 있습니다.
버전 탐지 수행
이제 로컬 서버에서 버전 탐지 스캔을 실행해 보겠습니다. 다음 명령을 사용합니다.
sudo nmap -sV localhost -p 4444 > scan_results/version_scan.txt
이 명령을 자세히 살펴보겠습니다. -sV 옵션은 버전 탐지를 활성화합니다. 이는 Nmap 에게 대상 포트에서 실행 중인 서비스의 버전을 파악하도록 지시합니다. localhost는 우리의 대상이며, 이는 자체 로컬 머신을 스캔한다는 의미입니다. -p 4444 옵션은 포트 4444 만 스캔한다는 것을 지정합니다. > 기호는 스캔의 출력을 scan_results 디렉토리의 version_scan.txt라는 파일로 리디렉션합니다. 이렇게 하면 나중에 결과를 검토할 수 있습니다.
버전 탐지 결과 분석
스캔을 실행한 후 결과를 검토해 보겠습니다. cat 명령을 사용하여 파일의 내용을 표시합니다.
cat scan_results/version_scan.txt
다음과 유사한 출력이 표시됩니다.
Starting Nmap 7.80 ( https://nmap.org ) at 2023-09-10 12:00 UTC
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000024s latency).
PORT STATE SERVICE VERSION
4444/tcp open netcat?
Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 6.29 seconds
Nmap 이 포트 4444 에서 어떤 서비스가 실행 중인지 식별하려고 시도하고 있음을 알 수 있습니다. 이 경우 netcat 을 사용하고 있으며, 이는 특정 버전 정보를 제공하지 않습니다. 그렇기 때문에 Nmap 은 "netcat?"을 물음표와 함께 표시하여 정확한 서비스와 해당 버전에 대해 확신하지 못함을 나타냅니다.
버전 탐지 강도 조정
Nmap 은 버전 탐지 프로세스의 강도를 제어할 수 있는 기능을 제공합니다. --version-intensity 옵션을 사용하여 이 작업을 수행할 수 있습니다. 강도 수준은 0(가장 가벼운 스캔) 에서 9(가장 적극적인 스캔) 까지입니다. 더 강렬한 스캔을 실행해 보겠습니다.
sudo nmap -sV --version-intensity 7 localhost -p 4444 > scan_results/intensive_version_scan.txt
참고: 스캔이 너무 오래 걸리면 Ctrl+C를 눌러 스캔을 중지할 수 있습니다.
이와 같이 강도가 높은 스캔은 대상에 더 많은 프로브를 보냅니다. 포트에서 실행 중인 서비스를 식별하기 위해 더 열심히 시도합니다. 그러나 시간이 더 오래 걸리기도 합니다. 하지만 장점은 더 자세한 결과를 얻을 수 있다는 것입니다.
이 강렬한 스캔의 결과를 확인해 보겠습니다.
cat scan_results/intensive_version_scan.txt
버전 및 OS 탐지 결합
실제 상황에서는 대상에 대한 OS 및 버전 정보가 모두 필요한 경우가 많습니다. 다음 명령을 사용하여 이 두 가지 스캔 기술을 결합해 보겠습니다.
sudo nmap -sV -O localhost -p 4444 > scan_results/combined_scan.txt
-sV 옵션은 버전 탐지를 활성화하고, -O 옵션은 OS 탐지를 활성화합니다. 이 결합된 접근 방식은 대상에서 실행 중인 운영 체제와 서비스에 대한 포괄적인 정보를 제공합니다.
이 결합된 스캔의 결과를 확인해 보겠습니다.
cat scan_results/combined_scan.txt
이제 출력에는 OS 및 서비스 버전 정보가 모두 포함되어 있습니다. 이는 대상 시스템에 대한 보다 완전한 그림을 제공하며, 이는 철저한 보안 평가에 필수적입니다.
대상에서 실행 중인 운영 체제와 특정 서비스 버전을 모두 이해하는 것은 효과적인 보안 분석에 매우 중요합니다. 다음 단계에서는 이러한 기술을 실제 시나리오에서 사용하는 방법을 살펴보겠습니다.