Nmap 기본 사용법: 네트워크 스캔 배우기

NmapBeginner
지금 연습하기

소개

이 랩에서는 매우 인기 있고 다재다능한 네트워크 보안 도구인 Nmap 을 사용하여 네트워크 스캐닝의 기본 사항을 배우게 됩니다. Nmap 은 Network Mapper 의 약자로, 네트워크 검색 및 보안 감사를 위한 오픈 소스 유틸리티입니다. 컴퓨터 네트워크에서 호스트와 서비스를 식별하는 데 도움이 되며, 이는 사이버 보안 전문가가 잠재적인 취약점을 발견하고 시스템 보안을 보호하는 데 필수적입니다.

이 랩을 통해 기본적인 호스트 검색을 수행하고, 열린 포트를 식별하며, 실행 중인 서비스를 감지하는 방법을 배우게 됩니다. 이러한 기술은 네트워크 관리자 및 보안 전문가가 네트워크 인프라를 모니터링하고, 잠재적인 보안 문제를 찾고, 적절한 시스템 보호를 보장하는 데 매우 중요합니다. 랩이 끝나면 네트워크 스캐닝 및 호스트 검색을 위해 Nmap 을 사용하는 데 대한 탄탄한 기반을 갖게 될 것입니다.

Nmap 이해 및 환경 설정

Nmap 이란 무엇인가?

Nmap 은 Network Mapper 의 약자로, 무료 오픈 소스 도구입니다. 주로 네트워크 검색 및 보안 감사에 사용됩니다. 많은 시스템 및 네트워크 관리자에게 Nmap 은 매우 유용한 유틸리티입니다. 다음은 Nmap 이 유용한 몇 가지 일반적인 작업입니다.

  • 네트워크 인벤토리 및 서비스 업그레이드 일정 관리: Nmap 은 네트워크에 어떤 장치가 있는지, 어떤 서비스를 실행하고 있는지 파악하는 데 도움이 됩니다. 이 정보는 이러한 서비스를 언제 업그레이드할지 계획하는 데 중요합니다.
  • 호스트 또는 서비스 가동 시간 모니터링: Nmap 을 사용하여 특정 호스트 또는 서비스가 작동 중인지 확인할 수 있습니다. 이는 네트워크의 안정성을 보장하는 데 중요합니다.
  • 대상 시스템에서 열린 포트 검색: 열린 포트는 공격자에게 잠재적인 진입점이 될 수 있습니다. Nmap 을 사용하면 대상 시스템에서 어떤 포트가 열려 있는지 파악하여 필요한 경우 보안을 강화할 수 있습니다.
  • 보안 감사 및 취약점 식별: Nmap 은 네트워크의 보안 취약점을 식별하는 데도 도움이 될 수 있습니다. 공격자가 악용할 수 있는 약점이 있는지 감지할 수 있습니다.

테스트 환경 설정

Nmap 을 사용하여 스캔을 시작하기 전에 스캔할 대상이 필요합니다. 이 경우 Python 의 내장 기능을 사용하여 간단한 HTTP 서버를 설정합니다.

먼저, 프로젝트 디렉토리로 이동해야 합니다. 이 디렉토리는 이 실험과 관련된 모든 파일이 저장될 위치입니다. 이를 위해 터미널에서 cd 명령을 사용합니다. cd 명령은 "change directory"의 약자입니다. 다음은 명령입니다.

cd /home/labex/project

이제 올바른 디렉토리에 있으므로 간단한 HTML 파일을 생성합니다. 이 파일은 웹 서버에서 제공됩니다. echo 명령을 사용하여 HTML 콘텐츠를 생성하고 > 연산자를 사용하여 해당 콘텐츠를 index.html이라는 파일로 리디렉션합니다. index.html 파일은 웹 사이트의 메인 페이지에 대한 일반적인 이름입니다. 다음은 명령입니다.

echo "<html><body><h1>Test Web Server for Nmap Scanning</h1></body></html>" > index.html

파일이 올바르게 생성되었는지 확인하기 위해 cat 명령을 사용하여 내용을 표시할 수 있습니다. cat 명령은 "concatenate"의 약자이며 파일의 내용을 보는 데 자주 사용됩니다. 다음은 명령입니다.

cat index.html

모든 것이 제대로 진행되었다면 다음과 같은 HTML 콘텐츠가 표시됩니다.

<html><body><h1>Test Web Server for Nmap Scanning</h1></body></html>

이제 간단한 HTTP 서버를 시작할 준비가 되었습니다. Python 의 내장 http.server 모듈을 사용하여 포트 8000 에서 서버를 시작합니다. 명령 끝에 있는 &는 중요합니다. 이는 서버를 백그라운드에서 실행하므로 서버가 실행되는 동안 다른 명령에 터미널을 계속 사용할 수 있습니다. 다음은 명령입니다.

python3 -m http.server 8000 &

이 명령을 실행하면 다음과 유사한 출력이 표시됩니다.

[1] 1234
Serving HTTP on 0.0.0.0 port 8000 (http://0.0.0.0:8000/) ...

이제 포트 8000 에서 웹 서버가 실행되고 있습니다. 이 서버는 IP 주소 127.0.0.1을 사용하여 로컬 머신에서 실행됩니다. 이 로컬 서버가 Nmap 스캔의 대상이 됩니다.

Nmap 을 이용한 기본 호스트 검색

호스트 검색 기술

호스트 검색은 핑 스캔이라고도 하며, 네트워크 보안의 기본적인 프로세스입니다. 이는 네트워크에서 현재 작동 중인 호스트를 파악하는 데 도움이 됩니다. 네트워크에 활성으로 연결된 장치가 있는지 확인하는 방법이라고 생각할 수 있습니다. 강력한 네트워크 탐색 및 보안 감사 도구인 Nmap 은 호스트 검색을 위한 여러 가지 방법을 제공합니다.

  • ICMP Echo 요청 (ping): 이는 호스트에 간단한 "hello" 메시지를 보내고 응답을 기다리는 것과 같습니다. 호스트가 작동 중이면 응답하여 활성 상태임을 알려줍니다.
  • 특정 포트에 대한 TCP SYN 스캔: 이 방법은 호스트의 특정 포트로 SYN 패킷을 보냅니다. 호스트가 응답하면 포트가 열려 있고 호스트가 활성 상태일 가능성이 있음을 나타냅니다.
  • TCP ACK 스캔: TCP SYN 스캔과 유사하지만 ACK 패킷을 사용합니다. 특정 네트워크 환경에서 유용할 수 있습니다.
  • UDP 스캔: UDP 는 다른 유형의 네트워크 프로토콜입니다. UDP 스캔은 호스트의 UDP 포트가 열려 있는지 확인하며, 이를 통해 호스트가 활성 상태인지 확인할 수도 있습니다.

이 단계에서는 로컬 호스트가 활성 상태인지 확인하기 위해 기본 핑 스캔부터 시작합니다. 로컬 호스트는 현재 작업 중인 장치이며 IP 주소는 127.0.0.1 입니다.

핑 스캔 수행

Nmap 을 사용하여 기본 핑 스캔을 수행해 보겠습니다. Nmap 에서 중요한 옵션인 -sn 플래그를 사용합니다. 이 플래그는 Nmap 에 호스트 검색만 수행하고 포트 스캔 프로세스를 건너뛰도록 지시합니다. 포트 스캔은 특히 대규모 네트워크에서 시간이 오래 걸릴 수 있으므로 이 플래그를 사용하면 호스트가 작동 중인지 빠르게 확인할 수 있습니다.

nmap -sn 127.0.0.1

이 명령을 실행하면 다음과 유사한 출력이 표시됩니다.

Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-15 12:00 UTC
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000097s latency).
Nmap done: 1 IP address (1 host up) scanned in 0.03 seconds

출력은 로컬 호스트 (127.0.0.1) 가 작동 중임을 보여줍니다. 지연 시간 값 (0.000097s) 은 호스트가 핑 요청에 응답하는 데 걸린 시간을 알려줍니다. 지연 시간이 짧을수록 호스트가 빠르게 응답했음을 의미합니다.

이제 나중에 참조할 수 있도록 스캔 결과를 저장하는 것이 좋습니다. Nmap 명령의 출력을 파일로 리디렉션하여 이 작업을 수행할 수 있습니다.

nmap -sn 127.0.0.1 > /home/labex/project/host_scan.txt

> 기호는 왼쪽의 명령 출력을 오른쪽의 파일로 리디렉션하는 데 사용됩니다. 이 경우 핑 스캔 결과는 host_scan.txt 파일에 저장됩니다.

파일의 내용을 확인하여 스캔 결과가 올바르게 저장되었는지 확인해 보겠습니다.

cat /home/labex/project/host_scan.txt

cat 명령은 파일의 내용을 표시하는 데 사용됩니다. 이 명령을 실행하면 앞서 터미널에 표시된 것과 유사한 출력이 표시됩니다.

이러한 유형의 스캔은 매우 유용합니다. 자세한 포트 스캔에 시간을 들이지 않고 네트워크에서 활성 호스트를 빠르게 식별할 수 있습니다. 이는 모든 호스트를 포트 스캔하는 데 시간이 오래 걸리는 대규모 네트워크를 처리할 때 특히 유용할 수 있습니다.

포트 스캔 및 서비스 탐지

포트 스캔 이해

포트 스캔은 네트워크 보안의 기본적인 기술입니다. 네트워크에서 포트는 다양한 서비스가 통신하는 문과 같습니다. 웹 서버, 이메일 서버 또는 파일 전송 서비스와 같은 각 서비스는 특정 포트를 사용하여 데이터를 송수신합니다. 포트 스캔은 네트워크에서 어떤 포트가 열려 있고 잠재적으로 서비스를 실행하고 있는지 확인하는 방법입니다. 이 정보는 다음과 같은 여러 가지 이유로 중요합니다.

  • 시스템에서 실행 중인 서비스 식별: 어떤 포트가 열려 있는지 알면 특정 시스템에서 어떤 서비스를 사용할 수 있는지 파악할 수 있습니다. 예를 들어, 포트 80 이 열려 있으면 일반적으로 웹 서버가 실행 중임을 의미합니다.
  • 잠재적인 보안 취약점 찾기: 열린 포트는 제대로 구성되지 않은 경우 보안 위험이 될 수 있습니다. 일부 서비스에는 알려진 취약점이 있을 수 있으며, 포트를 스캔하여 이러한 잠재적인 약점을 식별할 수 있습니다.
  • 방화벽 구성 확인: 방화벽은 네트워크 트래픽을 제어하는 데 사용됩니다. 포트 스캔은 방화벽이 특정 포트를 차단하거나 허용하도록 올바르게 구성되었는지 확인하는 데 도움이 될 수 있습니다.
  • 네트워크 문제 해결: 네트워크 문제가 발생하는 경우 포트 스캔을 통해 해당 포트가 닫혀 있어 특정 서비스에 액세스할 수 없는지 식별하는 데 도움이 될 수 있습니다.

기본 포트 스캔

로컬 호스트에서 기본 포트 스캔을 수행해 보겠습니다. 로컬 호스트는 자신의 컴퓨터이며 IP 주소 127.0.0.1로 표시됩니다. HTTP 서버가 실행 중인 포트 8000 을 특별히 대상으로 지정합니다. 이를 위해 네트워크 탐색 및 보안 감사를 위한 강력한 도구인 nmap 명령을 사용합니다.

nmap -p 8000 127.0.0.1

이 명령에서 -p 옵션은 스캔하려는 포트를 지정하는 데 사용됩니다. 따라서 nmap에 로컬 호스트의 포트 8000 을 스캔하도록 지시하는 것입니다.

다음과 유사한 출력이 표시됩니다.

Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-15 12:05 UTC
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000097s latency).

PORT     STATE SERVICE
8000/tcp open  http-alt

Nmap done: 1 IP address (1 host up) scanned in 0.08 seconds

출력은 포트 8000 이 열려 있고 Nmap 이 "http-alt"(대체 HTTP 포트) 로 식별하는 서비스를 실행하고 있음을 보여줍니다. 즉, HTTP 서비스와 유사한 서비스가 포트 8000 에서 실행되고 있습니다.

결과를 파일에 저장해 보겠습니다. 결과를 저장하는 것은 나중에 참조하거나 다른 사람과 공유할 수 있으므로 유용합니다. 결과를 저장하려면 명령의 출력을 파일로 리디렉션하는 > 연산자를 사용합니다.

nmap -p 8000 127.0.0.1 > /home/labex/project/service_scan.txt

이제 파일의 내용을 살펴보겠습니다. 파일의 내용을 표시하는 데 사용되는 cat 명령을 사용할 수 있습니다.

cat /home/labex/project/service_scan.txt

서비스 버전 감지

이제 Nmap 의 서비스 버전 감지 기능을 사용하여 포트 8000 에서 실행 중인 서비스에 대한 자세한 정보를 얻어 보겠습니다. 서비스 버전을 아는 것은 다른 버전이 서로 다른 보안 취약점을 가질 수 있으므로 중요합니다.

nmap -p 8000 -sV 127.0.0.1

-sV 플래그는 Nmap 에 열린 포트를 조사하여 서비스 및 버전 정보를 확인하도록 지시합니다. 이 명령을 실행하면 Nmap 은 열린 포트로 특수 패킷을 보내 어떤 서비스가 실행 중인지, 어떤 버전인지 파악하려고 시도합니다.

다음과 같은 출력이 표시될 수 있습니다.

Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-15 12:10 UTC
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000097s latency).

PORT     STATE SERVICE VERSION
8000/tcp open  http    Python http.server 3.10.6 (Python 3.10.6)

Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 6.08 seconds

이 출력은 포트 8000 의 서비스가 Python 3.10.6 에서 실행되는 Python HTTP 서버임을 보여주는 보다 자세한 정보를 제공합니다. 이러한 종류의 정보는 서로 다른 버전이 알려진 취약점을 가질 수 있으므로 보안 평가에 유용합니다. 예를 들어 Python 3.10.6 에 보안 취약점이 있는 경우 이를 패치하거나 더 안전한 버전으로 업그레이드하는 단계를 수행할 수 있습니다.

Nmap 고급 스캔 기법

고급 스캔 옵션 이해

Nmap 은 많은 고급 스캔 옵션을 제공하는 강력한 도구입니다. 이러한 옵션을 사용하면 대상 시스템에 대한 더 깊은 통찰력을 얻을 수 있습니다. 이 단계에서는 고급 스캔의 세 가지 중요한 측면을 살펴보겠습니다.

  1. OS 감지: 이는 대상에서 실행 중인 운영 체제를 식별하는 프로세스입니다. 운영 체제를 알면 대상 시스템의 잠재적인 취약점과 보안 기능을 이해하는 데 도움이 될 수 있습니다.
  2. 포괄적인 스캔: 이는 대상에 대한 보다 상세하고 완전한 보기를 얻기 위해 여러 스캔 기술을 결합하는 것을 포함합니다. 다양한 스캔 방법을 함께 사용하면 대상의 열린 포트, 서비스 및 운영 체제에 대한 더 많은 정보를 얻을 수 있습니다.
  3. 출력 형식 지정: 스캔 결과를 다양한 형식으로 저장하는 것은 분석에 매우 중요합니다. 다양한 형식은 다양한 분석 도구 및 목적에 적합합니다. 예를 들어, XML 형식은 프로그래밍 언어로 추가 처리를 하는 데 적합하며, grep 으로 읽을 수 있는 형식은 텍스트 기반 분석을 빠르게 수행하는 데 유용합니다.

OS 감지

Nmap 은 대상 시스템에서 실행 중인 운영 체제를 확인하는 기능을 가지고 있습니다. 이를 위해 -O 플래그를 사용합니다. 그러나 이 작업은 대상 시스템에 대한 더 심층적인 조사가 포함되므로 관리자 권한이 필요합니다.

sudo nmap -O 127.0.0.1

이 명령을 실행하면 다음과 유사한 출력이 표시될 수 있습니다.

Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-15 12:15 UTC
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000097s latency).
Not shown: 997 closed ports
PORT     STATE SERVICE
22/tcp   open  ssh
80/tcp   open  http
8000/tcp open  http-alt
Device type: general purpose
Running: Linux 4.X|5.X
OS CPE: cpe:/o:linux:linux_kernel:4 cpe:/o:linux:linux_kernel:5
OS details: Linux 4.15 - 5.6
Network Distance: 0 hops

OS detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 3.81 seconds

이 출력은 운영 체제에 대한 귀중한 정보를 제공합니다. 이 경우 시스템에서 실행 중인 Linux 의 가능한 버전이 4.15 에서 5.6 사이임을 알려줍니다.

포괄적인 스캔

이제 여러 Nmap 기능을 결합하는 보다 포괄적인 스캔을 수행해 보겠습니다. 이렇게 하면 대상 시스템에 대한 보다 자세한 그림을 얻을 수 있습니다.

sudo nmap -sS -sV -O -p 1-1000 127.0.0.1

이 명령에는 몇 가지 중요한 옵션이 포함되어 있습니다.

  • -sS: 이는 스텔스 스캔이라고도 하는 TCP SYN 스캔입니다. 전체 TCP 연결을 완료하지 않으므로 침입 탐지 시스템에서 감지될 가능성이 적기 때문에 스텔스라고 합니다.
  • -sV: 이 옵션은 서비스 버전 감지를 활성화합니다. 열린 포트에서 실행 중인 서비스의 버전을 확인하려고 시도하며, 이는 잠재적인 취약점을 식별하는 데 유용할 수 있습니다.
  • -O: 앞서 보았듯이, 이는 OS 감지를 위한 것입니다.
  • -p 1-1000: 이는 포트 1 에서 1000 까지 스캔하려는 것을 지정합니다.

이 포괄적인 스캔을 실행한 후에는 나중에 분석할 수 있도록 결과를 저장하는 것이 좋습니다.

sudo nmap -sS -sV -O -p 1-1000 127.0.0.1 > /home/labex/project/comprehensive_scan.txt

저장된 파일의 내용을 보려면 다음 명령을 사용할 수 있습니다.

cat /home/labex/project/comprehensive_scan.txt

출력 형식 지정

Nmap 을 사용하면 스캔 결과를 다양한 형식으로 출력할 수 있으므로 데이터를 더 쉽게 분석할 수 있습니다. 스캔 결과를 XML 형식으로 저장하는 것부터 시작해 보겠습니다.

sudo nmap -sS -sV -p 8000 127.0.0.1 -oX /home/labex/project/scan_results.xml

-oX 플래그는 Nmap 에 결과를 XML 형식으로 저장하도록 지시하는 데 사용됩니다. XML 은 프로그래밍 언어 및 기타 도구에서 추가 분석을 위해 쉽게 구문 분석할 수 있는 구조화된 형식입니다.

grep 및 기타 텍스트 처리 도구로 쉽게 읽을 수 있는 형식으로 결과를 저장할 수도 있습니다.

sudo nmap -sS -sV -p 8000 127.0.0.1 -oG /home/labex/project/scan_results.grep

grep 으로 읽을 수 있는 출력의 내용을 보려면 다음 명령을 사용할 수 있습니다.

cat /home/labex/project/scan_results.grep

이 형식은 스크립트 및 명령줄 도구로 결과를 구문 분석하는 데 매우 유용하며, 특정 정보를 빠르게 검색할 수 있습니다.

스캔 결과 분석 및 해석

Nmap 출력 이해

Nmap 을 사용하여 네트워크를 스캔하면 출력에 많은 자세한 정보가 제공됩니다. 그러나 네트워크 모니터링 및 보안 평가를 최대한 활용하려면 이러한 결과가 실제로 무엇을 의미하는지 이해해야 합니다. Nmap 출력의 주요 부분을 분석해 보겠습니다.

포트 상태

포트는 네트워크의 문과 같습니다. 이를 통해 다양한 유형의 네트워크 트래픽이 장치에 들어오고 나갈 수 있습니다. Nmap 은 포트에 대해 몇 가지 가능한 상태를 보고합니다.

  • open: 이는 대상 장치의 애플리케이션이 이 포트에서 연결을 수락하기 위해 활성적으로 대기하고 있음을 의미합니다. 예를 들어, 웹 서버는 포트 80 또는 443 에서 수신 대기할 수 있습니다.
  • closed: 포트는 연결할 수 있지만 현재 해당 포트에서 수신 대기하는 애플리케이션이 없습니다. 잠겨 있지 않지만 안에 아무도 없는 문과 같습니다.
  • filtered: 방화벽 또는 기타 네트워크 장애물이 포트를 차단하고 있습니다. 보안 요원이 문에 접근하는 것을 막는 것과 같습니다.
  • unfiltered: 포트에 액세스할 수 있지만 Nmap 은 열려 있는지 닫혀 있는지 알 수 없습니다. 안개가 낀 창문을 통해 들여다보고 안에 사람이 있는지 알 수 없는 것과 같습니다.
  • open|filtered: Nmap 은 포트가 열려 있는지 필터링되었는지 확인할 수 없습니다. 약간의 불확실성 영역입니다.
  • closed|filtered: 마찬가지로 Nmap 은 포트가 닫혔는지 필터링되었는지 알 수 없습니다.

서비스 정보

Nmap 에서 서비스 감지 옵션 (-sV) 을 사용하면 각 열린 포트에서 어떤 서비스가 실행 중인지 파악하려고 시도합니다. 여기에는 소프트웨어 이름 및 버전과 같은 세부 정보가 포함됩니다. 서비스 및 해당 버전을 아는 것은 잠재적인 보안 취약점을 식별하는 데 도움이 될 수 있으므로 중요합니다.

OS 감지

OS 감지 옵션 (-O) 을 사용하면 Nmap 은 대상 장치에서 실행 중인 운영 체제에 대해 최선을 다해 추측합니다. 이 정보는 서로 다른 운영 체제가 서로 다른 보안 기능과 취약점을 가지므로 대상의 전반적인 보안 상태를 이해하는 데 유용할 수 있습니다.

요약 보고서 만들기

이제 Nmap 출력을 이해했으므로 발견 사항에 대한 요약 보고서를 만들어 보겠습니다. 먼저, 더 흥미로운 결과를 얻기 위해 로컬 네트워크 인터페이스를 스캔해야 합니다.

ip addr show | grep "inet " | grep -v "127.0.0.1"

이 명령은 IP 주소와 함께 모든 네트워크 인터페이스를 표시합니다. 주 인터페이스를 찾아야 합니다. 일반적으로 192.168.x.x 또는 10.x.x.x 로 시작합니다. 이 정보는 스캔에 적합한 네트워크를 대상으로 지정하는 데 사용되므로 중요합니다.

필요한 정보가 있으면 간단한 요약 보고서를 만들 수 있습니다. 다음 명령은 스캔 요약이 포함된 Markdown 파일을 만듭니다.

echo "## Network Scan Summary Report" > /home/labex/project/scan_summary.md
echo "### Date: $(date)" >> /home/labex/project/scan_summary.md
echo "### Target: 127.0.0.1" >> /home/labex/project/scan_summary.md
echo -e "\n#### Open Ports and Services" >> /home/labex/project/scan_summary.md
echo "Port 8000: HTTP service (Python HTTP Server)" >> /home/labex/project/scan_summary.md
echo -e "\n#### Security Recommendations" >> /home/labex/project/scan_summary.md
echo "1. Ensure all services are necessary and up-to-date" >> /home/labex/project/scan_summary.md
echo "2. Consider implementing firewall rules to restrict access to sensitive services" >> /home/labex/project/scan_summary.md
echo "3. Regularly scan for new open ports that might indicate unauthorized services" >> /home/labex/project/scan_summary.md

보고서를 만든 후에는 문서화한 내용을 확인하기 위해 살펴보겠습니다.

cat /home/labex/project/scan_summary.md

네트워크 스캔 모범 사례

네트워크 스캔을 수행할 때는 안전하고 책임감 있게 수행하기 위해 몇 가지 모범 사례를 따르는 것이 중요합니다.

권한 획득

자신이 소유하지 않은 네트워크를 스캔하기 전에 항상 권한을 받으십시오. 허가 없이 스캔하는 것은 침입으로 간주될 수 있으므로 불법적이고 비윤리적일 수 있습니다.

스캔 빈도 및 강도 제한

너무 자주 또는 높은 강도로 스캔하면 네트워크 서비스가 중단될 수 있습니다. 스캔하는 네트워크에 문제를 일으키고 싶지 않으므로 스캔 빈도와 강도를 염두에 두십시오.

스캔 결과 기밀 유지

스캔 결과는 열린 포트, 실행 중인 서비스 및 운영 체제와 같은 네트워크 인프라에 대한 민감한 정보를 공개할 수 있습니다. 이 정보에 대한 무단 액세스를 방지하려면 이러한 결과를 비공개로 유지하십시오.

발견 사항 후속 조치

스캔에서 취약점을 식별한 후에는 이를 해결하기 위한 조치를 취하십시오. 여기에는 소프트웨어 패치, 구성 변경 또는 보안 조치 구현이 포함될 수 있습니다.

스캔 문서화

스캔 시기, 스캔 이유 및 스캔 내용을 포함하여 스캔 기록을 유지하는 것이 중요합니다. 이 문서는 보안 감사 및 규정 준수 목적으로 유용합니다.

스캔 활동을 로그 파일에 문서화해 보겠습니다.

echo "Scan Log - $(date)" > /home/labex/project/scan_log.txt
echo "Purpose: Learning Nmap host discovery techniques" >> /home/labex/project/scan_log.txt
echo "Target: 127.0.0.1" >> /home/labex/project/scan_log.txt
echo "Scans performed:" >> /home/labex/project/scan_log.txt
echo "1. Basic ping scan: nmap -sn 127.0.0.1" >> /home/labex/project/scan_log.txt
echo "2. Port scan on port 8000: nmap -p 8000 127.0.0.1" >> /home/labex/project/scan_log.txt
echo "3. Service version detection: nmap -p 8000 -sV 127.0.0.1" >> /home/labex/project/scan_log.txt
echo "4. Comprehensive scan: nmap -sS -sV -O -p 1-1000 127.0.0.1" >> /home/labex/project/scan_log.txt

스캔 로그를 검토하여 기록한 내용을 확인해 보겠습니다.

cat /home/labex/project/scan_log.txt

이 로그는 보안 문서화 및 감사에 매우 중요한 스캔 활동 기록을 유지하는 데 도움이 됩니다.

요약

이 Lab 에서는 사이버 보안 전문가의 도구 상자에 있는 강력한 도구인 Nmap 을 사용하여 네트워크 스캔 및 호스트 검색의 기본 사항을 배웠습니다. 먼저 Nmap 을 이해하고 간단한 HTTP 서버로 테스트 환경을 설정하는 것으로 시작했습니다. 그런 다음 기본 호스트 검색에서 고급 포트 스캔 및 서비스 감지에 이르기까지 다양한 스캔 기술을 탐색했습니다.

구체적으로, 테스트 환경 설정, 기본 호스트 검색 수행, 열린 포트 및 서비스 식별, 고급 스캔 기술 사용, 스캔 결과 저장, 요약 보고서 생성, 책임감 있는 스캔을 위한 모범 사례 따르기를 배웠습니다. 이러한 기술은 네트워크 보안 평가 및 모니터링을 위한 견고한 기반입니다. 사이버 보안 여정에서 발전함에 따라 이러한 기본 사항을 기반으로 보다 정교한 전략을 개발할 수 있습니다. 네트워크 스캔은 항상 적절한 권한을 얻고 규정을 준수하여 책임감 있고 윤리적으로 사용해야 합니다.