티스토리 뷰

공부/Metasploit

MSF 소개

김대욱대욱 2018. 10. 30. 00:22

MSF소개

 - Metasploit Framework는 오픈소스 커뮤니티와 Rapid7의 합작품으로 보안 및 IT 전문가들이 보안 문제를 식별하고,

   취약점을 완화하며, 전문가 수준의 보안 평가기능을 제공한다. 

   세부 기능으로는 지능형 공격, 패스워드 감사, 웹 어플리케이션 스캐닝, 사회 공학 등이 있다.

 - HD Moore가 개발(Perl + C -> Ruby) + Rapid

 - 보안 테스팅을 위한 일종의 통합 체계로 모듈화 된 구조를 가지고 있음 


 - Framework란?

   소프트웨어 설계와 구현을 재사용 가능하도록 해주는 뼈대

   구체적이며 확장 가능한 기반 코드를 가지고, 설계자의 의도에 따르는 여러 디자인 패턴 집합으로 구성


 - 용어 정의

   익스플로잇(exploit): 시스템, 애플리케이션, 서비스 등의 취약점을 공격하는 방법

   익스플로이테이션(exploitaion): 익스플로잇을 하는 행위

   후속 공격(post exploitation): 익스플로잇이 성공한 후 수행하는 공격

   취약점(vulnerability): 시스템 또는 소프트웨어에 존재하는 결함

   페이로드(payload): 쉘코드, 최종 공격 목적코드

   모듈(module): 루비에서 말하는 모듈 / MSF에서 사용하는 모듈

   리스너(listener): 연결 요청을 기다릴 수 있도록 해 주는 기능

   세션(session): MSF와 공격 대상 시스템 사이에 맺은 연결 채널

   제로데이(Zero-Day): 아직 알려 지지 않은 새로운 취약점

   Poc(Proof of Concept): 취약점을 증명하기 위해 만들어 진 증명 코드


MSF 구조 및 동작 원리

 - 인터페이스 : 사용자와 상호작용하기 위한 사용자 인터페이스

 

 - 모듈 : 모듈화된 기능을 정의한 부분(기능-운영체제-서비스)

    -> Exploit: 시스템 및 응용 프로그램의 취약점을 이용하는 공격 코드 모음

    -> Auxiliary: 페이로드를 필요로 하지 않는 공격 또는 정보 수집을 목적으로 하는 코드모음

    -> Post: 익스플로잇 성공 후 대상 시스템에 대한 추가 공격을 위한 코드 모음

   

   위 3개 모듈의 보조기능 역할

   -> Payload: 익스플로잇 성공 후 대상 시스템에 대한 추가 공격을 위한 코드 모음

     * Singles: 단 하나의 기능을 가지거나 사전 단계 없이 직접 쉘 획득에 참여하는 페이로드

     * Stagers: 공격자와 대상 시스템을 연결 후 2단계 페이로드를 불러오는 역할을 하는 페이로드

     * Stages: stager 페이로드가 로드해 주는 2단계 페이로드

    -> NOPS: 오직 레지스터 및 프로세서 플래그 상태 변화에만 영향을 미치는 무의미한 명령어들을 만들어 내는 코드 모음, 안티바이러스  

                 및 침입 탐지 제품의 우회를 위해 사용


 - 라이브러리: 메타스플로잇의 뼈대역할을 하는 핵심 라이브러리들의 모음

    -> REX(Ruby Extension Library)

     루비 확장 라이브러리

     프레임워크에 필요한 클래스와 모듈을 제공하는 역할

     하위에 위치한 모든 패키지들의 상위 클래스처럼 동장

     핵심 클래스: 범용 클래스, 스레드 안정성 및 동기화, 스레드 팩토리, 인코딩, 아키텍처,

     서브시스템, 어셈블리, 서비스, 로깅, 입출력, 소켓, 프로토콜, 호환성, 익스플로이테이션


    -> Framework Core

     모듈과 플러그인에 인터페이스를 제공하기 위한 클래스 모음

     렉스 라이브러리에서 정의한 기능을 토대로 구성

     핵심 클래스: 범용 클래스, 프레임워크 문맥, DB관리자, 이벤트 관리, 프레임워크 관리,

     프레임워크 옵션, 익스플로잇 드라이버


    -> Framework Base

     프레임워크에서 사용하는 세션을 구현

     코어의 작업 관리를 위한 래퍼 인터페이스 제공

     핵심 클래스: 구성 설정, 심플 프래임워크, 세션, 시리얼화, 지속형 저장 공간, 유틸리티

 

 - 기타: 프레임워크 플러그인, 보조 도구 등을 포함

 

디렉터리 구조 및 역할

 - data: MSF에서 사용하는 데이터 파일들 모음

 - lib: 핵심 라이브러리 파일들을 포함(rex, core, base)

 - modules: MSF 모듈 파일들이 위치한 공간

 - plugins: 실시간 로드가 가능한 플러그인 코드 모음

 - scripts: 미터프리터를 포함한 스크립트 파일 모음

 - tools: 모의해킹 과정에 도움을 주는 다양한 유틸리티 모음

 - vendor: 루비 관련 파일

 

인터페이스 소개

 - msfconsole

    -> 커뮤니티 버전의 유일한 인터페이스. GUI는 아미티지만 남은 상황

    -> 콘솔 기반 인터페이스로, 메타스플로잇의 대부분 기능을 지원함 (리포트 및 시각화는 조금 떨어짐)


 - Metasploit Pro

    -> 유료 버전에 제공되는 인터페이스 (14일 무료 버전을 사용할 수 있으나 국내에서는 사용 불가)


'공부 > Metasploit' 카테고리의 다른 글

도구를 이용한 취약점 분석(armitage)  (0) 2018.11.21
도구를 이용한 취약점 분석(nessus)  (1) 2018.11.12
도구를 이용한 취약점 분석(nmap)  (0) 2018.11.09
MSF 사용법  (0) 2018.10.31
Metasploit 실습 환경 구축  (0) 2018.10.24
댓글
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31