메타스플로잇 프레임워크는 리눅스, 윈도우, 어플리케이션 등 다양한 취약점을 관리하여 대상 시스템에 존재하는 취약점을 빠르게 검색하고 공격을 자동화해주는 모듈로 구성되어 있다.


모의해킹, 취약점 분석, 익스플로잇 개발 등 자동화를 하는데 필요한 환경이 구축되어 있으며 기본적으로 루비 스크립트로 개발되어 있다.

메타스플로잇 프레임워크 루트 디렉토리(/usr/share/metasploit-framework)로 이동하면 다양한 디렉토리와 도구가 존재한다. 모의해킹을 할 때, msfconsole, msfvenom 도구를 많이 사용하는데 이 외에 다양하고 활용할 수 있는 도구가 존재한다.


디렉토리가 어떤 구조로 되어 있으며 어떤 종류의 도구가 존재하는지 살펴보자.


메타스플로잇 프레임워크 루트 디렉토리로 이동하면 다양한 디렉토리와 실행 파일이 존재한다. 루트 디렉토리는 라이브러리, 모듈, 공격 도구, 익스플로잇 개발 도구 등이 있으며 모의해킹 시 자주 사용하는 msfconsole, msfvenom 명령어도 있다.


msfconsole 파일은 콘솔 기반의 인터페이스로 취약점 검색부터 공격까지 수행할 수 있는 도구이다. 콘솔 기반의 인터페이스가 msfconsole이라면 그래픽 기반의 인터페이스는 Armitage가 있다.


msfd 파일은 메타스플로잇 프레임워크 환경이 구축된 시스템이 없는 경우 원격에서 메타스플로잇 프레임워크 세션에 연결할 수 있도록 도와준다.


A 시스템에 메타스플로잇 프레임워크가 구축되어 있고 B 시스템에 구축되어 있지 않다면 A 시스템에서 msfd 명령어를 입력하면 세션에 연결할 수 있도록 55554 포트를 리스닝한다.


이 때, B 시스템에서 nc A시스템아이피 55554 명령어를 입력하면 A 시스템의 메타스플로잇 프레임워크를 이용할 수 있다.


A 시스템 : msfd

B 시스템 : nc 원격아이피 55554


msfdb 파일은 메타스플로잇 프레임워크의 데이터베이스를 초기화, 삭제, 시작, 정지하는 역할을 한다.

쉘에서 msfconsole 명령어를 실행하면 모듈을 독립적으로 실행하므로 시간이 오래걸린다. 이 때, 명령어 연결 기호를 붙여서 msfdb init 명령어를 입력하면 조금 더 빠르게 실행할 수 있다.


msfrpc 파일은 msfd 파일과 마찬가지로 RPC로 접근할 수 있도록 도와준다.


msfrpcd 파일은 원격에서 메타스플로잇 프레임워크에서 동작 가능한 API를 사용할 수 있도록 도와준다. 즉, 원격에서 msfrpc로 접근해서 루비, 파이썬 등 API를 사용할 수 있는 환경을 제공한다.


msfupdate 파일은 메타스플로잇 프레임워크를 업데이트 한다.


msfvenom 파일은 방화벽, 백신 탐지를 우회하기 위해 페이로드를 자동으로 생성해주는 도구이다.



data 디렉토리는 메타스플로잇 프레임워크에서 사용하는 데이터 관련 파일(익스플로잇, 사전 파일 등)이 존재한다. data/exploits 디렉토리로 이동하면 다양한 CVE(Common Vulnerabilities and Exposure)로 시작하는 파일과 디렉토리가 존재한다.


CVE는 국제 공통 표준으로 세계에서 공개된 소프트웨어의 보안 취약점을 가리키는 고유 표기이다. CVE 값은 CVE문자-취약점이 발견된 년도-취약점 번호로 구성되어 있다. 예를 들면, CVE-2020-0001 취약점은 2020년도에 첫 번째로 발견된 취약점을 의미한다.


lib 디렉토리는 메타스플로잇 프레임워크에서 필요한 rex, core, base 라이브러리 관련 파일과 디렉토리가 존재한다.


modules 디렉토리는 메타스플로잇 프레임워크 auxiliary, encoders, exploits, nops, payloads, post 모듈 관련 파일이 존재한다. msfconsole 명령어로 익스플로잇 모듈을 지정할 때, modules/exploits 디렉토리에 존재하는 모듈을 로드한다.


예를 들면, 윈도우에서 발생한 브라우저 취약점 익스플로잇 코드를 찾고 싶다면 modules/exploits 디렉토리로 이동하여 운영체제(windows, unix ...) > 서비스 종류(browser, ssh ...) > 코드(~.rb) 순서로 이동하면 된다.



plugins 디렉토리는 플러그인 관련 코드가 존재한다.


scripts 디렉토리는 미터프리터와 같은 스크립트 파일이 존재한다.


tools 디렉토리는 모의해킹 관련 도구가 존재한다.


▶ 칼리리눅스 레지스트리

▶ Metasploit msfconsole 사용법 및 활용

▶ Metasploit meterpreter 기능 및 사용법

▶ Metasploit(msfvenom) 쉘코드 디코딩

▶ Metasploit msfvenom 기능 및 사용법

▶ XSSF(Cross Site Scripting Framework) 사용법

  • 카카오톡-공유
  • 네이버-블로그-공유
  • 네이버-밴드-공유
  • 페이스북-공유
  • 트위터-공유
  • 카카오스토리-공유