Nmap 에서 대상 무작위화

NmapBeginner
지금 연습하기

소개

이 실습에서는 Nmap 스캔에서 대상 호스트 순서를 무작위로 변경하는 방법을 배웁니다. 스캔 순서를 무작위화하면 기본적인 침입 탐지 시스템 (IDS) 을 우회하고 스캔을 덜 예측 가능하게 만들 수 있습니다.

먼저 기준을 설정하기 위해 표준 Nmap 스캔을 수행합니다. 그런 다음 --randomize-hosts 옵션을 사용하여 서브넷 및 특정 범위 모두에 대해 Nmap 이 IP 주소를 스캔하는 순서를 섞습니다. 또한 스캔에 상세 정보를 추가하고 나중에 분석할 수 있도록 결과를 파일로 저장하는 방법을 배웁니다. 출력을 비교하여 호스트 무작위화의 영향을 이해할 수 있습니다.

이것은 가이드 실험입니다. 학습과 실습을 돕기 위한 단계별 지침을 제공합니다.각 단계를 완료하고 실무 경험을 쌓기 위해 지침을 주의 깊게 따르세요. 과거 데이터에 따르면, 이것은 초급 레벨의 실험이며 완료율은 100%입니다.학습자들로부터 100%의 긍정적인 리뷰율을 받았습니다.

표준 Nmap 스캔 수행

이 단계에서는 127.0.0.1/24 서브넷 내의 활성 호스트를 식별하기 위해 Nmap 을 사용하여 기본 네트워크 스캔을 수행합니다. 이는 네트워크 정찰 및 네트워크에 존재하는 장치를 이해하는 데 필수적인 기술입니다.

시작하기 전에 Nmap 과 서브넷 스캔이 무엇인지 간략히 살펴보겠습니다.

  • Nmap (Network Mapper): 네트워크 탐색 및 보안 감사를 위한 무료 오픈소스 유틸리티입니다. 패킷을 전송하고 응답을 분석하여 컴퓨터 네트워크에서 호스트와 서비스를 발견하는 데 사용됩니다.
  • 서브넷: IP 네트워크의 논리적 하위 분할입니다. /24 표기법 (CIDR 표기법) 은 서브넷 마스크를 나타내며, 이 경우 255.255.255.0입니다. 즉, 첫 세 옥텟 (127.0.0) 은 네트워크를 정의하고, 마지막 옥텟 (0-255) 은 해당 네트워크 내의 호스트 주소를 정의합니다.
  • 서브넷 스캔: 활성 호스트를 식별하기 위해 서브넷 내의 모든 가능한 IP 주소를 스캔하는 프로세스입니다.

이제 스캔을 수행해 보겠습니다. Xfce 터미널을 열고 기본 디렉토리 (~/project) 로 이동합니다.

다음 명령어를 실행합니다.

sudo nmap 127.0.0.1/24

암호를 입력하라는 메시지가 표시됩니다. labex 사용자는 암호 없이 sudo 권한을 가지고 있으므로 Enter 키를 누르십시오.

이 명령은 Nmap 에 127.0.0.1에서 127.0.0.255까지의 모든 IP 주소를 스캔하도록 지시합니다. Nmap 은 각 IP 주소에 다양한 프로브를 보내 호스트가 활성인지 확인합니다.

출력에는 발견된 호스트와 상태 (예: "호스트가 활성화됨") 목록이 표시됩니다. Nmap 이 해당 호스트의 열린 포트를 확인할 수 있다면 해당 포트도 표시될 수 있습니다.

예시 출력 (실제 출력은 네트워크 설정에 따라 다르지만 127.0.0.1과 다른 호스트가 표시될 것입니다):

Starting Nmap <version> ( https://nmap.org ) at <date>
Nmap scan report for localhost (127.0.0.1)
Host is up (<latency>s latency).
Not shown: 994 closed ports
PORT     STATE SERVICE
22/tcp   open  ssh
2121/tcp open  ccproxy-ftp
2222/tcp open  EtherNetIP-1
3001/tcp open  nessus
8080/tcp open  http-proxy

Nmap done: 256 IP addresses (1 host up) scanned in <time> seconds

이 출력은 127.0.0.1이 활성화되었으며, 22(SSH), 2121(FTP), 2222(EtherNet/IP-1), 3001(Nessus), 8080(HTTP-proxy) 등 여러 포트가 열려 있음을 나타냅니다.

서브넷 호스트 스캔 순서 무작위화

이 단계에서는 127.0.0.1/24 서브넷 내의 호스트를 Nmap 이 스캔하는 순서를 무작위화하여 네트워크 스캔을 개선합니다. 이 기술은 기본 침입 탐지 시스템 (IDS) 을 우회하고 스캔을 덜 예측 가능하게 만드는 데 유용합니다.

기본적으로 Nmap 은 호스트를 순차적으로 스캔합니다. 이는 네트워크 모니터링 도구로 쉽게 감지될 수 있습니다. --randomize-hosts 옵션은 스캔 전에 대상 IP 주소의 순서를 섞어 스캔을 식별하기 어렵게 만듭니다.

호스트 순서를 무작위화하려면 Xfce 터미널에서 다음 명령을 실행합니다.

sudo nmap --randomize-hosts 127.0.0.1/24

이전과 마찬가지로 암호를 입력하라는 메시지가 표시됩니다. labex 사용자는 암호 없이 sudo 권한을 가지고 있으므로 Enter 키를 누르십시오.

이 명령은 이전 단계와 같은 서브넷 (127.0.0.1/24) 을 스캔하지만 IP 주소를 스캔하는 순서가 무작위화됩니다.

출력은 이전 스캔과 유사하며 발견된 호스트와 상태를 표시합니다. 그러나 여러 호스트가 발견된 경우 호스트가 나열된 순서는 다를 수 있습니다. 이 특정 실습 환경에서는 주요 활성 호스트로서 127.0.0.1만 볼 수 있을 수 있지만, 내부 스캔 프로세스는 여전히 서브넷의 256 개 모든 IP 주소의 순서를 무작위화하려고 시도합니다.

예시 출력 (실제 출력은 네트워크에 따라 다릅니다):

Starting Nmap <version> ( https://nmap.org ) at <date>
Nmap scan report for localhost (127.0.0.1)
Host is up (<latency>s latency).
Not shown: 994 closed ports
PORT     STATE SERVICE
22/tcp   open  ssh
2121/tcp open  ccproxy-ftp
2222/tcp open  EtherNetIP-1
3001/tcp open  nessus
8080/tcp open  http-proxy

Nmap done: 256 IP addresses (1 host up) scanned in <time> seconds

단일 활성 호스트에 대한 최종 출력은 동일해 보일 수 있지만, 서브넷의 256 개 IP 주소에 대한 내부 스캔 프로세스는 무작위화되었습니다.

특정 범위 호스트 스캔 순서 무작위화

이 단계에서는 특정 IP 주소 범위 (127.0.0.1부터 127.0.0.10) 를 스캔하고 이러한 호스트를 스캔하는 순서를 무작위화합니다. 이는 네트워크의 작은 하위 집합을 대상으로 하면서도 일정 수준의 은밀성을 유지하고 싶을 때 유용합니다.

이전 단계에서 보았듯이 --randomize-hosts 옵션은 대상 IP 주소의 순서를 섞습니다. 이번에는 전체 서브넷 대신 특정 범위에 적용합니다.

127.0.0.1-10 범위 내의 호스트 순서를 무작위화하려면 Xfce 터미널에서 다음 명령을 실행합니다.

sudo nmap --randomize-hosts 127.0.0.1-10

암호를 입력하라는 메시지가 표시됩니다. labex 사용자는 sudo 권한을 암호 없이 가지고 있으므로 Enter 키를 누르십시오.

이 명령은 Nmap 에 127.0.0.1부터 127.0.0.10까지의 IP 주소를 무작위 순서로 스캔하도록 지시합니다.

출력에는 해당 범위 내에서 발견된 호스트와 상태 목록이 표시됩니다. 호스트가 나열된 순서는 명령을 실행할 때마다 무작위화됩니다.

예시 출력 (실제 출력은 네트워크에 따라 다릅니다):

Starting Nmap <version> ( https://nmap.org ) at <date>
Nmap scan report for localhost (127.0.0.1)
Host is up (<latency>s latency).
Not shown: 994 closed ports
PORT     STATE SERVICE
22/tcp   open  ssh
2121/tcp open  ccproxy-ftp
2222/tcp open  EtherNetIP-1
3001/tcp open  nessus
8080/tcp open  http-proxy

Nmap done: 10 IP addresses (1 host up) scanned in <time> seconds

이 예제에서는 Nmap 이 127.0.0.1부터 127.0.0.10까지의 IP 주소를 무작위 순서로 스캔하여 127.0.0.1이 활성화된 것으로 나타났습니다.

상세 정보 추가 및 결과 파일 저장

이 단계에서는 Nmap 스캔에 상세 정보를 추가하고 결과를 파일에 저장하는 방법을 배웁니다. 이는 나중에 분석, 보고서 작성 또는 이전 스캔과 비교하는 데 필수적입니다. 이러한 작업을 수행하면서도 여전히 호스트 순서를 무작위화합니다.

Nmap 의 -v 옵션은 스캔 프로세스에 대한 자세한 정보를 제공하여 상세 정보 수준을 높입니다. -oN 옵션은 "일반" 출력을 지정하며, 사람이 읽을 수 있고 간단한 도구로 파싱하기에 적합합니다.

무작위화된 호스트 스캔 결과를 random_scan.txt라는 파일에 저장하고 상세 정보를 추가하려면 Xfce 터미널에서 다음 명령을 실행합니다.

sudo nmap -v --randomize-hosts -oN random_scan.txt 127.0.0.1/24

암호를 입력하라는 메시지가 표시됩니다. labex 사용자는 sudo 권한을 암호 없이 가지고 있으므로 Enter 키를 누르십시오.

이 명령은 Nmap 에 127.0.0.1/24 서브넷을 스캔하고, 호스트 순서를 무작위화하고, 상세 출력을 제공하며, 현재 디렉터리 (~/project) 에 있는 random_scan.txt라는 파일에 "일반" 형식으로 출력을 저장하도록 지시합니다.

터미널의 출력에는 이제 프로브 전송, 스캔되는 포트 및 특정 결정의 이유와 같은 스캔 프로세스에 대한 세부 정보가 포함됩니다.

예시 상세 출력 (실제 출력은 네트워크에 따라 다릅니다):

Starting Nmap <version> ( https://nmap.org ) at <date>
Initiating Ping Scan at <time>
Scanning 256 hosts [2 ports/host]
Completed Ping Scan at <time>, <time>s elapsed (256 total hosts)
Initiating Parallel DNS resolution of 256 hosts. at <time>
Completed Parallel DNS resolution of 256 hosts. at <time>, <time>s elapsed
Initiating SYN Stealth Scan at <time>
Scanning 256 hosts [1000 ports/host]
Discovered open port 22/tcp on 127.0.0.1
Discovered open port 2121/tcp on 127.0.0.1
Discovered open port 2222/tcp on 127.0.0.1
Discovered open port 3001/tcp on 127.0.0.1
Discovered open port 8080/tcp on 127.0.0.1
Completed SYN Stealth Scan at <time>, <time>s elapsed (256 total hosts)
Nmap scan report for localhost (127.0.0.1)
Host is up (<latency>s latency).
PORT     STATE SERVICE
22/tcp   open  ssh
2121/tcp open  ccproxy-ftp
2222/tcp open  EtherNetIP-1
3001/tcp open  nessus
8080/tcp open  http-proxy

Nmap done: 256 IP addresses (1 host up) scanned in <time> seconds

스캔이 완료되면 cat 명령을 사용하여 random_scan.txt 파일의 내용을 볼 수 있습니다.

cat random_scan.txt

random_scan.txt 파일에는 이제 스캔 중 화면에 표시된 동일한 정보가 포함됩니다. 이제 이 파일을 추가 분석 또는 보고서 작성에 사용할 수 있습니다.

요약

이 실습에서는 네트워크 스캔 및 호스트 검색을 위한 Nmap 의 기능을 탐색했으며, 특히 대상 선택을 무작위화하는 데 중점을 두었습니다.

nmap 127.0.0.1/24를 사용하여 표준 서브넷 스캔을 수행하여 활성 호스트와 열린 서비스를 식별함으로써 시작했습니다. 이는 Nmap 의 기본 동작을 이해하는 기준을 마련했습니다.

다음으로 --randomize-hosts 옵션을 사용하여 Nmap 이 대상을 스캔하는 순서를 무작위화하는 방법을 배웠습니다. 이를 서브넷 (127.0.0.1/24) 과 특정 IP 범위 (127.0.0.1-10) 모두에 적용하여 스캔이 예측하기 어렵도록 만들었습니다.

마지막으로, 더 자세한 출력을 위해 상세 정보 (-v) 를 추가하고 -oN 옵션을 사용하여 결과를 파일 (random_scan.txt) 에 저장하여 스캔을 개선했습니다. 이는 나중에 분석하기 위해 Nmap 스캔을 제어하고 문서화하는 실용적인 기술을 강조했습니다.

이제 네트워크 정찰 및 보안 감사에 필수적인 Nmap 스캔 수행, 호스트 순서 무작위화, 상세 정보 증가 및 스캔 결과 저장에 대한 기본적인 기술을 습득했습니다.