소개
Metasploit Framework 는 침투 테스트, 익스플로잇 개발 및 취약점 연구에 사용되는 강력한 도구입니다. 최신 익스플로잇, 페이로드 및 기능에 액세스하고 중요한 보안 패치를 적용하려면 Metasploit Framework 를 최신 상태로 유지하는 것이 매우 중요합니다. 오래된 프레임워크는 최신 시스템에 효과적이지 않을 수 있으며 중요한 버그 수정이 누락될 수 있습니다.
이 랩에서는 Linux 시스템에서 Metasploit Framework 를 업데이트하는 전체 프로세스를 단계별로 진행합니다. 관련 데이터베이스 서비스 (database service) 를 올바르게 관리하고, 업데이트 명령을 실행하며, 업데이트가 성공적으로 완료되었는지 확인하는 방법을 배우게 됩니다.
PostgreSQL 데이터베이스 서비스 중지
Metasploit 업데이트를 시작하기 전에 Metasploit 에서 사용하는 PostgreSQL 데이터베이스 서비스 (PostgreSQL database service) 를 중지하는 것이 좋습니다. 이렇게 하면 파일이 교체되는 업데이트 과정 중에 발생할 수 있는 잠재적인 데이터베이스 손상이나 충돌을 방지할 수 있습니다.
이 단계에서는 service 명령을 사용하여 PostgreSQL 서비스를 중지합니다. 시스템 서비스를 수정하는 것이므로 관리자 권한으로 명령을 실행하려면 sudo를 사용해야 합니다.
터미널에서 다음 명령을 실행하여 PostgreSQL 을 중지합니다.
sudo service postgresql stop
명령이 성공적으로 실행되면 아무런 출력이 표시되지 않을 수 있으며, 이는 Linux 에서 서비스 관리 명령의 일반적인 동작입니다.
msfupdate 명령 실행하여 업데이트 시작하기
데이터베이스 서비스가 안전하게 중지되었으므로 이제 업데이트를 진행할 수 있습니다. Metasploit Framework 는 이 목적을 위해 msfupdate라는 전용 명령줄 도구 (command-line tool) 를 제공합니다. 이 스크립트는 최신 변경 사항을 공식 저장소 (repository) 에서 가져오는 것부터 새로운 종속성 (dependencies) 을 설치하는 것까지 전체 업데이트 프로세스를 처리합니다.
이 단계에서는 msfupdate 명령을 실행합니다. 이 명령도 관리자 권한이 필요하므로 sudo를 사용해야 합니다.
터미널에서 다음 명령을 실행하십시오. 업데이트 크기와 네트워크 속도에 따라 이 프로세스는 몇 분이 걸릴 수 있으므로 인내심을 가지고 기다려 주십시오.
sudo msfupdate
업데이트 프로세스가 시작되었음을 나타내는 출력, 예를 들어 업데이트 확인 및 적용과 같은 메시지를 보게 됩니다.
[*]
[*] Attempting to update the Metasploit Framework...
[*]
[*] Checking for updates via the APT repository
[*] You are running the latest version of the Metasploit Framework
참고: 출력은 다를 수 있습니다. 업데이트를 사용할 수 있는 경우 다운로드 및 설치를 진행합니다.
업데이트 완료를 위한 업데이트 프로세스 모니터링
이 단계는 업데이트 프로세스를 관찰하는 것입니다. sudo msfupdate를 실행한 후, 터미널에는 다양한 구성 요소를 업데이트하면서 정보가 스트림 형태로 표시됩니다. 여기에는 시스템 패키지, Ruby gem 및 핵심 프레임워크 모듈 업데이트가 포함됩니다.
이 단계에서는 새로운 명령을 입력할 필요가 없습니다. 단순히 기다리면서 터미널의 출력을 모니터링하십시오. 스크립트 실행이 완료되고 명령 프롬프트 (labex@labex:~/project$) 로 돌아오면 프로세스가 완료된 것입니다.
성공적인 업데이트는 일반적으로 업데이트가 완료되었음을 확인하는 메시지로 끝납니다.
... (various update messages) ...
[*] Metasploit Framework update complete
명령 프롬프트가 다시 표시되면 다음 단계로 진행할 수 있습니다.
PostgreSQL 데이터베이스 서비스 재시작
이제 Metasploit Framework 파일이 업데이트되었으므로 PostgreSQL 데이터베이스 서비스를 재시작해야 합니다. 이를 통해 새로 업데이트된 프레임워크가 데이터베이스에 연결하고 올바르게 작동할 수 있습니다.
이 단계에서는 service 명령을 다시 사용하며, 이번에는 start 인수를 사용하여 PostgreSQL 서비스를 다시 온라인 상태로 전환합니다.
터미널에서 다음 명령을 실행하십시오.
sudo service postgresql start
stop 명령과 마찬가지로 성공 시 아무런 출력이 없을 수 있습니다. 이는 서비스가 시작되었음을 나타냅니다.
msfconsole 실행 및 새 버전 확인
마지막 단계는 업데이트가 성공했는지 확인하는 것입니다. 이를 확인하는 가장 간단한 방법은 Metasploit 콘솔인 msfconsole을 실행하는 것입니다. 시작 배너에 프레임워크 버전이 표시되어 업데이트를 확인할 수 있습니다.
먼저 Metasploit 콘솔을 실행합니다. 초기 시작 시 데이터베이스에 연결하는 데 시간이 걸릴 수 있습니다.
msfconsole
시작 시 ASCII 아트로 된 배너가 표시됩니다. 최신 버전을 반영하는 버전 번호를 찾으십시오.
_---------.
,' ######## ;."
.---. ,' ############ ."
/.'"'.\ ,' ############## ."
\: ."'"'.\ ,' ################ ."
\c ."'"'"'.\,' ################## ."
\ ."'"'"'"'."################## ."
\ ."'"'"'"'."#############." ."
\ ."'"'"'"'."#########." ."
\ ."'"'"'"'."####." ."
\ ."'"'"'"'."." ."
\ ."'"'"'." ."
\ ."." ."
\ ."
\ ."
\ ."
\ ."
\ ."
\."
=[ metasploit vX.X.XX-dev ]
+ -- --=[ 2300 exploits - 1200 auxiliary - 400 post ]
+ -- --=[ 950 payloads - 47 encoders - 11 nops ]
+ -- --=[ 9 evasion ]
Metasploit tip: Use the -q flag to start msfconsole
without showing the banner
msf6 >
콘솔 내에서 version 명령을 사용하여 버전 정보를 다시 표시할 수도 있습니다.
version
출력에는 Framework 및 Console 버전이 표시됩니다.
msf6 > version
Framework: X.X.XX-dev.YYYYMMDD01
Console : X.X.XX-dev.YYYYMMDD01
버전을 확인한 후에는 exit를 입력하여 Metasploit 콘솔을 종료할 수 있습니다.
exit
요약
이 랩을 완료하신 것을 축하드립니다!
Metasploit Framework 업데이트의 필수 절차를 성공적으로 학습했습니다. 이 과정에는 데이터 무결성을 보장하기 위해 PostgreSQL 서비스를 중지하고, 최신 업데이트를 가져와 적용하기 위해 msfupdate 명령을 실행하고, 데이터베이스 서비스를 다시 시작하고, 마지막으로 새 버전이 활성화되었는지 확인하기 위해 msfconsole을 실행하는 등 몇 가지 주요 단계가 포함되었습니다.
보안 도구를 최신 상태로 유지하는 것은 사이버 보안의 기본 실천 사항입니다. 이제 Metasploit 설치를 유지하는 지식을 갖추게 되었으며, 이를 통해 강력하고 효과적인 도구로 계속 사용할 수 있습니다.


