Metasploit 에서 SMB 열거를 위한 보조 스캐너 사용

Kali LinuxBeginner
지금 연습하기

소개

이 실습에서는 Metasploit Framework 를 사용하여 서버 메시지 블록 (SMB) 열거를 수행하는 방법을 배웁니다. SMB 는 네트워크상의 노드 간에 파일, 프린터 및 직렬 포트에 대한 공유 액세스를 제공하는 데 사용되는 네트워크 프로토콜입니다. SMB 버전을 열거하는 것은 침투 테스트의 중요한 첫 단계로, 대상에서 실행 중인 특정 소프트웨어 및 버전을 식별하는 데 도움이 되며, 이는 알려진 취약점과 상호 참조될 수 있습니다.

Metasploit 의 보조 스캐너 모듈 중 하나인 auxiliary/scanner/smb/smb_version을 사용하여 대상을 스캔하고 SMB 버전을 결정할 것입니다. Metasploit 은 취약점을 찾고, 악용하고, 검증하는 것을 쉽게 만들어주는 강력한 침투 테스트 프레임워크입니다.

이 실습이 끝나면 Metasploit 실행, 모듈 검색, 모듈 옵션 구성 및 대상 시스템에 대한 정보를 수집하기 위한 스캐너 실행에 익숙해질 것입니다.

smb_version 보조 모듈 검색

이 단계에서는 Metasploit Framework 콘솔을 실행하고 SMB 버전 스캔을 수행하는 데 적합한 모듈을 검색합니다. msfconsole은 Metasploit 과 상호 작용하는 기본 인터페이스입니다.

먼저 터미널을 열고 다음 명령을 실행하여 Metasploit 콘솔을 시작합니다. 초기화에 시간이 걸릴 수 있습니다.

msfconsole -q

-q 플래그는 시작 배너를 조용하게 만듭니다. 로드되면 msf6 >와 같은 Metasploit 프롬프트가 표시됩니다.

이제 SMB 버전 스캐닝 모듈을 찾아보겠습니다. search 명령을 사용하여 smb_version과 관련된 모듈을 찾을 수 있습니다.

search smb_version

일치하는 모듈 목록이 표시됩니다. 우리가 관심 있는 것은 보조 스캐너입니다. 출력은 다음과 유사해야 합니다.

Matching Modules
================

   ##  Name                                 Disclosure Date  Rank    Check  Description
   -  ----                                 ---------------  ----    -----  -----------
   0  auxiliary/scanner/smb/smb_version                     normal  No     SMB Version Detection
   1  exploit/windows/smb/smb_doublepulsar_eternalblue      2017-04-14  extraordinary Yes    SMBv1/SMBv2 DoublePulsar/EternalBlue Unauthenticated RCE

출력에서 auxiliary/scanner/smb/smb_version이 필요한 모듈임을 알 수 있습니다.

smb_version 모듈 선택

이 단계에서는 이전 단계에서 찾은 모듈을 선택합니다. 올바른 모듈을 식별한 후 use 명령을 사용하여 프레임워크의 컨텍스트로 로드해야 합니다.

msfconsole 프롬프트에서 다음 명령을 입력하여 smb_version 스캐너를 선택합니다.

use auxiliary/scanner/smb/smb_version

현재 로드된 모듈을 반영하도록 프롬프트가 변경되는 것을 볼 수 있습니다.

msf6 auxiliary(scanner/smb/smb_version) >

이는 모듈이 이제 활성화되었음을 나타냅니다. 이 모듈에 대해 구성할 수 있는 옵션을 보려면 show options 명령을 사용합니다.

show options

그러면 모듈에 대해 설정할 수 있는 매개변수 테이블이 표시됩니다.

Module options (auxiliary/scanner/smb/smb_version):

   Name     Current Setting  Required  Description
   ----     ---------------  --------  -----------
   RHOSTS                    yes       The target host(s), range CIDR identifier, or hosts file with syntax 'file:<path>'
   THREADS  1                yes       The number of concurrent threads (max one per host)

다음 단계에서 구성할 RHOSTSTHREADS 옵션에 주의하십시오. Required 열은 스캐너를 실행하기 전에 RHOSTS를 설정해야 함을 보여줍니다.

RHOSTS 옵션을 대상 IP 범위로 설정

이 단계에서는 스캔 대상을 구성합니다. RHOSTS 옵션 (원격 호스트) 은 Metasploit 에 어떤 머신을 스캔할지 알려줍니다. 이 실습에서는 로컬 머신에 Samba 서버를 설치하여 대상으로 사용합니다. 따라서 RHOSTS를 루프백 IP 주소인 127.0.0.1로 설정합니다.

set 명령을 사용하여 RHOSTS에 값을 할당합니다.

set RHOSTS 127.0.0.1

Metasploit 이 변경 사항을 확인합니다.

RHOSTS => 127.0.0.1

show options를 다시 실행하여 옵션이 올바르게 설정되었는지 확인할 수 있습니다. RHOSTSCurrent Setting으로 127.0.0.1이 나열된 것을 볼 수 있습니다. 스캐너가 대상을 알아야 하므로 필수 단계입니다.

더 빠른 스캔을 위해 THREADS 옵션 설정

이 단계에서는 THREADS 옵션을 조정합니다. 이 옵션은 Metasploit 이 사용할 동시 스캔 스레드 수를 제어합니다. 스레드 수를 늘리면 많은 수의 호스트를 대상으로 스캔할 때 스캔 속도를 크게 높일 수 있습니다.

단일 호스트 (127.0.0.1) 를 스캔할 때는 여러 스레드에서 성능 이점을 볼 수 없지만, 이 옵션을 구성하는 방법을 배우는 것은 좋은 습관입니다. 스레드 수를 50 으로 설정해 보겠습니다.

set 명령을 다시 사용하여 THREADS 값을 변경합니다.

set THREADS 50

Metasploit 이 설정을 확인합니다.

THREADS => 50

이제 스캐너는 최대 50 개의 스레드를 사용하도록 구성되었으며, 이는 192.168.1.0/24와 같은 네트워크 범위를 스캔하는 데 매우 효과적일 것입니다.

스캐너 실행 및 출력 분석

이 단계에서는 모든 옵션이 구성되었으므로 스캐너를 실행할 준비가 되었습니다. run 명령 (또는 별칭인 exploit) 은 지정된 대상에 대해 모듈을 시작합니다.

msfconsole 프롬프트에서 스캐너를 실행합니다.

run

모듈은 이제 127.0.0.1의 포트 445 에 연결을 시도하고 SMB 버전을 결정합니다. 출력은 다음과 유사하게 표시됩니다.

[*] 127.0.0.1:445     - Sending SMBv1 request
[+] 127.0.0.1:445     - Host is running Samba 4.15.13-Ubuntu (Samba 4.15.13-Ubuntu)
[*] 127.0.0.1:445     - Scanned 1 of 1 hosts (100% complete)
[*] Auxiliary module execution completed

출력을 분석해 보겠습니다.

  • [+] 기호는 성공적인 결과를 나타냅니다.
  • Host is running Samba 4.15.13-Ubuntu 줄은 SMB 서버 소프트웨어의 정확한 버전을 알려줍니다. 이 정보는 침투 테스터에게 매우 유용하며, 이제 이 버전에 특정한 취약점을 검색할 수 있습니다.
  • 마지막 줄은 스캔이 완료되었음을 확인합니다.

대상에서 SMB 버전을 성공적으로 열거했습니다. Metasploit 콘솔을 종료하려면 exit를 입력하면 됩니다.

exit

요약

이 실습에서는 Metasploit 보조 스캐너를 사용하여 SMB 열거를 성공적으로 수행했습니다. Metasploit Framework 내에서 모듈을 사용하는 기본적인 워크플로를 배웠습니다.

다음과 같은 핵심 기술을 연습했습니다.

  • Metasploit 콘솔 (msfconsole) 시작.
  • search 명령으로 모듈 검색.
  • use 명령으로 모듈 선택 및 로드.
  • show optionsset을 사용하여 RHOSTSTHREADS와 같은 모듈 옵션 보기 및 구성.
  • run 명령으로 모듈 실행.
  • 출력을 분석하여 대상에 대한 중요한 정보 수집.

이러한 정보 수집 과정은 모든 보안 평가 또는 침투 테스트의 기본 요소입니다. 실습을 완료하신 것을 축하드립니다!