Nmap 에서 MAC 주소 스푸핑

NmapBeginner
지금 연습하기

소개

이 랩에서는 Nmap 을 사용하여 MAC 주소를 스푸핑하는 방법을 살펴봅니다. MAC 주소를 스푸핑하면 스캔 중에 네트워크 ID 를 위장할 수 있으며, 이는 탐지를 피하거나 네트워크 보안을 테스트하는 데 유용할 수 있습니다.

이 랩에서는 --spoof-mac 옵션을 사용하여 사용자 지정 MAC 주소를 지정하고, --spoof-mac 0으로 MAC 주소를 임의화하고, -v 플래그로 상세도를 추가하고, 스푸핑된 스캔 출력을 파일에 저장하고, Xfce 터미널에서 일반 스캔 결과와 비교하는 방법을 다룹니다.

nmap --spoof-mac 00:11:22:33:44:55 192.168.1.1 로 MAC 스푸핑

이 단계에서는 Nmap 을 사용하여 MAC 주소를 스푸핑하는 방법을 살펴봅니다. MAC 주소를 스푸핑하면 스캔 중에 네트워크 ID 를 위장할 수 있습니다. 이는 탐지를 피하거나 네트워크 보안을 테스트하는 등 다양한 이유로 유용할 수 있습니다.

시작하기 전에 MAC 주소가 무엇인지 간략하게 논의해 보겠습니다. MAC (Media Access Control) 주소는 네트워크 세그먼트 내에서 통신에 네트워크 주소로 사용하기 위해 NIC (Network Interface Controller, 네트워크 인터페이스 컨트롤러) 에 할당된 고유 식별자입니다. 이는 네트워크 카드에 대한 물리적 주소와 같습니다.

이제 Nmap 을 사용하여 MAC 주소를 스푸핑해 보겠습니다. --spoof-mac 옵션 뒤에 원하는 MAC 주소와 대상 IP 주소를 사용합니다.

Xfce 터미널을 엽니다.

다음 명령을 실행합니다.

sudo nmap --spoof-mac 00:11:22:33:44:55 192.168.1.1

이 명령은 Nmap 에게 192.168.1.1 대상 IP 주소를 스캔하는 동안 MAC 주소 00:11:22:33:44:55를 사용하도록 지시합니다. 일반 Nmap 스캔과 유사한 출력을 볼 수 있지만, 스캔에 사용된 소스 MAC 주소는 스푸핑된 주소입니다.

출력에는 열린 포트 및 대상에 대한 기타 정보를 포함하여 스캔 결과가 표시됩니다.

예시 출력 (특정 출력은 대상에 따라 다릅니다):

Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-27 10:00 UTC
Nmap scan report for 192.168.1.1
Host is up (0.00020s latency).
Not shown: 999 closed ports
PORT    STATE SERVICE
80/tcp  open  http

Nmap done: 1 IP address (1 host up) scanned in 0.10s

이 예에서 Nmap 은 스푸핑된 MAC 주소 00:11:22:33:44:55를 사용하여 192.168.1.1을 스캔했습니다.

nmap --spoof-mac 0 127.0.0.1 로 MAC 무작위화

이전 단계에서는 특정 값으로 MAC 주소를 스푸핑하는 방법을 배웠습니다. 이 단계에서는 Nmap 을 사용하여 MAC 주소를 임의화하는 방법을 살펴봅니다. 이는 예측 가능한 MAC 주소를 사용하여 추적을 피하려는 경우 유용합니다.

Nmap 을 사용하면 --spoof-mac 옵션의 인수로 0을 사용하여 MAC 주소를 임의화할 수 있습니다. 이렇게 하면 Nmap 이 각 스캔에 대해 완전히 임의의 MAC 주소를 생성하도록 지시합니다.

Xfce 터미널을 엽니다.

다음 명령을 실행합니다.

sudo nmap --spoof-mac 0 127.0.0.1

이 명령은 Nmap 에게 대상 IP 주소 127.0.0.1 (localhost) 를 스캔하는 동안 임의의 MAC 주소를 사용하도록 지시합니다.

출력에는 열린 포트 및 대상에 대한 기타 정보를 포함하여 스캔 결과가 표시됩니다. localhost 를 스캔하고 있으므로 결과는 비교적 빠를 것입니다.

예시 출력 (특정 출력은 대상 및 시스템 구성에 따라 다릅니다):

Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-27 10:05 UTC
Nmap scan report for localhost (127.0.0.1)
Host is up (0.0000090s latency).
Loopback interface ignored, scanning 0 interfaces
All 1000 scanned ports on localhost are closed

Nmap done: 1 IP address (1 host up) scanned in 0.01s

이 예에서 Nmap 은 임의화된 MAC 주소를 사용하여 127.0.0.1을 스캔했습니다. 이 명령을 실행할 때마다 Nmap 은 다른 MAC 주소를 생성합니다.

nmap -v --spoof-mac 00:11:22:33:44:55 192.168.1.1 로 상세 정보 추가

이 단계에서는 Nmap 에서 MAC 주소 스푸핑과 상세 정보 표시를 결합합니다. 상세 정보 표시는 스캔 프로세스에 대한 더 자세한 정보를 제공하며, 문제 해결 또는 Nmap 의 동작 이해에 도움이 될 수 있습니다.

Nmap 의 -v 옵션은 상세 정보 수준을 높입니다. -v를 한 번 사용하면 기본값보다 더 많은 정보를 제공하며, 여러 번 사용하면 (예: -vv 또는 -vvv) 상세 정보가 더욱 증가합니다.

Xfce 터미널을 엽니다.

다음 명령을 실행합니다.

sudo nmap -v --spoof-mac 00:11:22:33:44:55 192.168.1.1

이 명령은 Nmap 에게 192.168.1.1을 스캔하고, MAC 주소를 00:11:22:33:44:55로 스푸핑하며, 상세한 출력을 제공하도록 지시합니다.

출력은 이전 단계보다 더 자세하며, 스캔의 다양한 단계, 전송되는 프로브 (probe), 수신된 응답을 보여줍니다.

예시 출력 (특정 출력은 대상 및 시스템 구성에 따라 다릅니다):

Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-27 10:10 UTC
NSE: Loaded 0 scripts for scanning.
Initiating Ping Scan at 10:10
Scanning 192.168.1.1 [4 ports]
Completed Ping Scan at 10:10, 0.00s elapsed (1 total hosts)
Initiating Parallel DNS resolution of 1 host. at 10:10
Completed Parallel DNS resolution of 1 host. at 10:10, 0.00s elapsed
Initiating SYN Stealth Scan at 10:10
Scanning 192.168.1.1 [1000 ports]
Discovered open port 80/tcp on 192.168.1.1
Completed SYN Stealth Scan at 10:10, 0.05s elapsed (1000 total ports)
Nmap scan report for 192.168.1.1
Host is up (0.00018s latency).
Not shown: 999 closed ports
PORT    STATE SERVICE
80/tcp  open  http

Read data files from: /usr/bin/../share/nmap
Nmap done: 1 IP address (1 host up) scanned in 0.07s
           Raw packets sent: 1001 (44.044KB) | Rcvd: 1001 (40.044KB)

NSE 스크립트 로딩, 다양한 스캔 단계 (Ping Scan, DNS resolution, SYN Stealth Scan) 의 시작, 전송 및 수신된 패킷 수와 같은 추가 정보를 확인하십시오. 이러한 세부 정보 수준은 네트워크 문제를 디버깅하거나 스캔 결과를 분석할 때 매우 중요할 수 있습니다.

nmap --spoof-mac 0 -oN spoof.txt 127.0.0.1 로 스푸핑 스캔 저장

이 단계에서는 Nmap 스캔의 출력을 파일에 저장하는 방법을 배웁니다. 이는 나중에 분석하거나 보고서를 생성하는 데 유용합니다. 또한 MAC 주소 스푸핑을 계속 사용합니다.

Nmap 은 스캔 결과를 저장하기 위한 여러 옵션을 제공합니다. -oN 옵션은 출력을 사람이 읽을 수 있는 "normal" 형식으로 저장합니다. -oG 옵션은 스크립팅에 유용한 grepable 형식으로 출력을 저장합니다. -oX 옵션은 다른 도구로 가져오는 데 유용한 XML 형식으로 출력을 저장합니다.

Xfce 터미널을 엽니다.

다음 명령을 실행합니다.

sudo nmap --spoof-mac 0 -oN spoof.txt 127.0.0.1

이 명령은 Nmap 에게 127.0.0.1을 스캔하고, MAC 주소를 임의화하며, 출력을 현재 디렉토리 (~/project) 의 spoof.txt라는 파일에 normal 형식으로 저장하도록 지시합니다.

스캔이 완료된 후, cat 명령을 사용하여 spoof.txt 파일의 내용을 볼 수 있습니다.

cat spoof.txt

출력은 터미널에서 보는 것과 유사하게 사람이 읽을 수 있는 형식으로 스캔 결과를 표시합니다.

예시 출력 (특정 출력은 대상 및 시스템 구성에 따라 다릅니다):

Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-27 10:15 UTC
Nmap scan report for localhost (127.0.0.1)
Host is up (0.0000090s latency).
Loopback interface ignored, scanning 0 interfaces
All 1000 scanned ports on localhost are closed

Nmap done: 1 IP address (1 host up) scanned in 0.01s

이제 spoof.txt 파일에는 Nmap 스캔의 결과가 포함되어 있으며, 필요할 때 검토할 수 있습니다.

Xfce 터미널에서 스캔 결과 검토

이 단계에서는 이전 단계에서 spoof.txt 파일에 저장한 스캔 출력을 검토합니다. 이를 통해 Nmap 스캔 결과를 해석하는 연습을 할 수 있습니다.

Xfce 터미널을 엽니다.

cat 명령을 사용하여 spoof.txt 파일의 내용을 표시합니다.

cat spoof.txt

출력은 Nmap 스캔 보고서를 표시합니다. 보고서의 주요 부분을 분석해 보겠습니다.

  • Starting Nmap: 이 줄은 Nmap 버전과 스캔이 시작된 날짜 및 시간을 보여줍니다.
  • Nmap scan report for: 이 줄은 스캔 대상 (이 경우 localhost 또는 127.0.0.1) 을 나타냅니다.
  • Host is up: 이 줄은 대상 호스트에 연결할 수 있음을 확인합니다. 지연 시간 (왕복 시간) 도 표시됩니다.
  • Ports: 이 섹션은 스캔된 포트와 해당 상태 (open, closed, filtered) 를 나열합니다. 이전 단계에서 모든 포트가 닫혀 있으면 "All 1000 scanned ports on localhost are closed"가 표시됩니다. 열린 포트가 있으면 서비스 이름과 함께 여기에 나열됩니다 (예: 80/tcp open http).
  • Nmap done: 이 줄은 스캔된 IP 주소 수와 총 스캔 시간을 포함하여 스캔을 요약합니다.

예시 출력 (특정 출력은 대상 및 시스템 구성에 따라 다릅니다):

Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-27 10:20 UTC
Nmap scan report for localhost (127.0.0.1)
Host is up (0.0000090s latency).
Loopback interface ignored, scanning 0 interfaces
All 1000 scanned ports on localhost are closed

Nmap done: 1 IP address (1 host up) scanned in 0.01s

출력을 검토하고 대상 시스템에 대해 무엇을 알려주는지 이해하는 데 시간을 할애하십시오. 다음 단계에서는 이 출력을 일반 스캔 (MAC 주소 스푸핑 없이) 의 출력과 비교하여 차이점이 있는지 확인합니다.

Xfce 터미널에서 일반 스캔과 비교

이 단계에서는 일반 Nmap 스캔 (MAC 주소 스푸핑 없이) 을 수행하고 이전 단계의 스푸핑된 스캔 출력과 비교합니다. 이를 통해 MAC 주소 스푸핑이 스캔 결과에 영향을 미치는지 이해하는 데 도움이 됩니다.

Xfce 터미널을 엽니다.

먼저 127.0.0.1에 대한 일반 Nmap 스캔을 실행합니다.

sudo nmap 127.0.0.1

이 명령은 localhost 에 대한 표준 Nmap 스캔을 수행합니다.

이 스캔의 출력을 주의 깊게 검토하십시오. 다음 사항에 유의하십시오.

  • Nmap 버전 및 시작 시간.
  • 스캔 대상 (127.0.0.1).
  • 호스트가 작동하는지 여부.
  • 스캔된 포트 목록과 해당 상태 (open, closed, filtered).
  • 스캔 완료 시간.

예시 출력 (특정 출력은 대상 및 시스템 구성에 따라 다릅니다):

Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-27 10:25 UTC
Nmap scan report for localhost (127.0.0.1)
Host is up (0.0000090s latency).
Loopback interface ignored, scanning 0 interfaces
All 1000 scanned ports on localhost are closed

Nmap done: 1 IP address (1 host up) scanned in 0.01s

이제 이 출력을 스푸핑된 스캔의 출력을 포함하는 spoof.txt 파일의 내용과 비교합니다. cat 명령을 사용하여 spoof.txt의 내용을 볼 수 있습니다.

cat spoof.txt

두 스캔 결과 사이에 차이점이 있습니까? 대부분의 기본적인 시나리오에서는 스캔 결과가 동일합니다. 그러나 더 복잡한 네트워크 환경에서는 MAC 주소 스푸핑이 대상 시스템이 스캔에 응답하는 방식에 영향을 미쳐 잠재적으로 다른 결과를 초래할 수 있습니다. 이는 일부 네트워크 장치 또는 방화벽이 MAC 주소를 필터링 또는 액세스 제어에 사용할 수 있기 때문입니다.

이 간단한 랩 환경에서 MAC 주소 스푸핑의 주요 목적은 스캔의 출처를 숨기는 것이지 반드시 스캔 결과를 변경하는 것은 아닙니다.

요약

이 랩에서는 Nmap 을 사용하여 MAC 주소를 스푸핑하는 방법을 살펴보았습니다. --spoof-mac 옵션을 사용하여 대상 IP 주소 스캔 중에 00:11:22:33:44:55와 같은 특정 MAC 주소를 지정하는 방법을 배웠습니다. 이를 통해 네트워크 신원을 위장하고 잠재적으로 탐지를 피할 수 있습니다.

또한 예측 가능한 MAC 주소를 사용하여 추적을 피하는 데 유용한 Nmap 을 사용하여 MAC 주소를 무작위화하는 방법을 조사하기 시작했습니다. 이 랩에서는 MAC 주소를 지정하고 무작위화하는 기본 구문을 시연하여 보다 고급 네트워크 스캔 기술의 기반을 마련했습니다.