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

Kali LinuxBeginner
지금 연습하기

소개

이 실습에서는 Metasploit Framework 내의 보조 스캐너 모듈을 사용하여 SSH(Secure Shell) 버전 열거를 수행하는 방법을 배웁니다. Metasploit 은 방대한 익스플로잇, 페이로드 및 보조 모듈 컬렉션을 포함하는 강력한 침투 테스트 도구입니다.

보조 모듈은 직접적인 익스플로잇에 사용되지 않고 스캐닝, 퍼징 및 정보 수집과 같은 다른 목적으로 사용됩니다. SSH 열거는 보안 평가의 정찰 단계에서 핵심적인 부분입니다. 공격자는 특정 SSH 서버 버전을 식별함으로써 해당 버전과 관련된 알려진 취약점을 검색할 수 있습니다.

Metasploit 콘솔을 실행하고, 적절한 모듈을 검색하고, 옵션을 구성하고, 대상을 대상으로 실행하여 SSH 버전을 찾는 방법을 배우게 됩니다.

ssh_version 보조 모듈 검색

이 단계에서는 Metasploit Framework 콘솔을 시작하고 SSH 버전을 스캔할 수 있는 모듈을 검색합니다.

먼저 터미널을 엽니다. Metasploit 콘솔은 프레임워크의 명령줄 인터페이스입니다. msfconsole을 입력하여 시작할 수 있습니다. 시작 배너를 억제하기 위해 "quiet" 시작을 위한 -q 플래그를 사용할 것입니다.

Metasploit 콘솔을 시작하려면 다음 명령을 실행합니다.

msfconsole -q

콘솔이 로드되면 msf6 >와 같은 Metasploit 프롬프트가 표시됩니다. 이제 search 명령을 사용하여 모듈을 찾을 수 있습니다. SSH 버전 스캔과 관련된 모듈을 찾고 있습니다.

Metasploit 콘솔에 다음 명령을 입력하고 Enter 키를 누릅니다.

search ssh_version

Metasploit 은 모듈 데이터베이스를 검색하고 일치하는 항목을 표시합니다. 출력에는 우리가 필요로 하는 auxiliary/scanner/ssh/ssh_version 모듈이 표시됩니다.

msf6 > search ssh_version

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

   ##  Name                                 Disclosure Date  Rank    Check  Description
   -  ----                                 ---------------  ----    -----  -----------
   0  auxiliary/scanner/ssh/ssh_version                     normal  No     Detect SSH Version


Interact with a module by name or index. For example info 0, use 0 or use auxiliary/scanner/ssh/ssh_version

msf6 >

ssh_version 모듈 선택

이 단계에서는 찾은 ssh_version 모듈을 선택하고 사용 가능한 옵션을 확인합니다.

이제 올바른 모듈을 식별했으므로 프레임워크의 컨텍스트로 로드해야 합니다. 이는 use 명령 다음에 모듈의 전체 이름을 사용하여 수행됩니다.

msfconsole 프롬프트에서 다음 명령을 입력합니다.

use auxiliary/scanner/ssh/ssh_version

명령을 실행하면 프롬프트가 변경된 것을 알 수 있습니다. 이제 활성 모듈의 이름이 포함되어 구성할 준비가 되었음을 나타냅니다. 새 프롬프트는 msf6 auxiliary(scanner/ssh/ssh_version) >와 같이 표시됩니다.

이 모듈에 대해 구성할 수 있는 매개변수를 보려면 show options 명령을 사용합니다.

show options

이 명령은 ssh_version 모듈의 모든 옵션을 테이블 형식으로 표시하며, 현재 설정, 필수 여부 및 간단한 설명을 포함합니다. 다음 단계에서 구성할 RHOSTSTHREADS 옵션에 주의하십시오.

msf6 auxiliary(scanner/ssh/ssh_version) > show options

Module options (auxiliary/scanner/ssh/ssh_version):

   Name     Current Setting  Required  Description
   ----     ---------------  --------  -----------
   RHOSTS                    yes       The target host(s), range CIDR identifier, or hosts file with syntax 'file:<path>'
   RPORT    22               yes       The target port (TCP)
   THREADS  1                yes       The number of concurrent threads (max one per host)
   TIMEOUT  30               yes       Timeout for the SSH probe

...

RHOSTS 옵션을 대상 서브넷으로 설정

이 단계에서는 스캔 대상을 구성합니다. RHOSTS 옵션은 Metasploit 이 스캔할 원격 호스트 또는 호스트를 지정합니다.

이 실습에서는 설정 스크립트가 로컬 머신에 SSH 서버를 설치하고 시작했으므로 로컬 머신 자체를 스캔할 것입니다. 로컬 머신의 IP 주소는 항상 127.0.0.1입니다.

set 명령 다음에 옵션 이름과 할당하려는 값을 사용하여 모듈 옵션을 설정할 수 있습니다.

대상을 로컬 머신으로 설정하려면 msfconsole 프롬프트에서 다음 명령을 실행합니다.

set RHOSTS 127.0.0.1

Metasploit 은 옵션과 새 값을 출력하여 변경 사항을 확인합니다.

RHOSTS => 127.0.0.1

이제 스캐너에 대상이 될 머신을 알려주었습니다. 네트워크를 스캔하는 경우 여기에 IP 주소 범위 (예: 192.168.1.0/24) 를 제공할 수 있습니다.

동시 스레드 수 설정

이 단계에서는 스캐너의 동시 스레드 수를 조정합니다. 이 옵션은 동시에 몇 개의 호스트를 스캔할지 제어합니다.

지금처럼 단일 호스트를 스캔하는 경우에는 여러 스레드를 사용해도 큰 이점이 없지만, 대규모 네트워크를 스캔할 때 프로세스를 가속화하는 데 중요한 설정입니다. 이를 구성하는 방법을 배우는 것은 좋은 습관입니다.

기본값은 1입니다. 이를 10으로 늘려 보겠습니다. 다시 set 명령을 사용합니다.

msfconsole 프롬프트에서 다음 명령을 입력합니다.

set THREADS 10

Metasploit 은 설정이 업데이트되었음을 확인합니다.

THREADS => 10

이제 스캐너는 최대 10 개의 스레드를 사용하도록 구성되었으며, 이는 IP 주소 범위를 스캔할 때 훨씬 더 빠르게 만들 것입니다.

모듈 실행 및 발견된 SSH 버전 검토

이 단계에서는 모든 옵션이 구성되었으므로 스캐너 모듈을 실행하고 출력을 분석합니다.

run 명령 (또는 별칭인 exploit) 은 현재 로드된 모듈을 구성된 설정으로 실행합니다.

스캔을 시작하려면 msfconsole 프롬프트에 run을 입력하고 Enter 키를 누릅니다.

run

이제 모듈이 127.0.0.1의 포트 22 에 연결을 시도합니다. 활성 SSH 서비스가 발견되면 버전 배너를 가져와 표시합니다. 출력은 다음과 유사해야 합니다.

[*] 127.0.0.1:22 - Scanned 1 of 1 hosts (100%)
[+] 127.0.0.1:22 - SSH server detected: SSH-2.0-OpenSSH_8.9p1 Ubuntu-3ubuntu0.6
[*] Auxiliary module execution completed

[+] 기호는 성공을 나타냅니다. 출력은 포트 22127.0.0.1에서 SSH 서버가 감지되었으며, Ubuntu 시스템에서 버전이 OpenSSH_8.9p1로 보고됨을 보여줍니다. 이 정보는 침투 테스트의 다음 단계, 예를 들어 이 버전에 특정한 취약점을 검색하는 데 유용합니다.

요약

이 실습에서는 Metasploit 보조 스캐너를 사용하여 SSH 버전 열거를 성공적으로 수행했습니다.

다음과 같은 방법을 배웠습니다.

  • Metasploit Framework 콘솔 시작하기
  • search 명령을 사용하여 특정 모듈 검색하기
  • use 명령으로 모듈 선택 및 로드하기
  • set 명령을 사용하여 RHOSTSTHREADS와 같은 모듈 옵션 구성하기
  • run 명령으로 모듈 실행하기
  • 결과를 해석하여 대상의 SSH 서버 버전 식별하기

이 과정은 사이버 보안 및 침투 테스트 분야에서 정보 수집 및 정찰을 위한 기본적인 기술입니다.