Security

[Security] 메타스플로잇(Metasploit) 기초

구루싸 2021. 3. 29. 13:11
반응형
SMALL

 모의 해킹(Penetration Testing)은 조직 시스템 내부로 접근하거나 보안 시스템을 회피하는 방법을 시뮬레이션하기 위해 공격자가 사용하는 기술을 의미합니다. 여기에는 스캐너와 자동화된 도구를 실행한 후 보고서를 작성하는 행위도 포함됩니다. 올바른 모의 해킹을 위해서는 기본적인 원칙이 무엇인지 알아하겠죠? 아래의 링크는 모의 해킹 수행 표준안(Penetration Testing Execution Standard)에 대한 정보를 얻을 수 있는 곳입니다. 참고하세요~

 

The Penetration Testing Execution Standard

High Level Organization of the Standard The penetration testing execution standard consists of seven (7) main sections. These cover everything related to a penetration test - from the initial communication and reasoning behind a pentest, through the intell

www.pentest-standard.org

모의 해킹 수행(Penestration Testing Execution Standard)의 7가지 주요 범주

  • 사전 계약
  • 정보 수집
  • 위협 모델링
  • 취약점 분석
  • 침투 수행
  • 포스트 익스플로잇
  • 보고서 작성

모의 해킹의 유형

  • 공개 모의 해킹
  • 비공개 모의 해킹

 취약점 스캐너는 주어진 시스템이나 애플리케이션의 보안 결함을 발견하는 데 사용하는 자동화된 도구입니다.

대상 운영체제에서 추출한 정보를 기반으로 전문적인 검증을 통해 취약점이 존재하는지 확인하는 것으로 도구 개발자의 기술만 반영되기 때문에 오탐과 미탐이 발생할 수 있습니다. 취약점 스캐너가 수집한 정보 중에는 가치 있는 정보가 포함돼 있지만, 모의 해킹에서 자동화할 수 없는 높은 성공률의 공격은 전문가의 지식과 기술을 요구하므로 맹신은 금물!

 

 메타스플로잇(Metasploit)은 보안 커뮤니티의 수많은 사람이 참여하는 무료 오픈소스 소프트웨어(상용 버전도 존재)입니다. 아래의 링크에서 메타스플로잇을 설치에 관한 정보를 얻을 수 있으니 설치해주세요!

 

Download Metasploit: World's Most Used Penetration Testing Tool | Metasploit

Pen testing software to act like an attacker. Download Metasploit to safely simulate attacks on your network and uncover weaknesses. Free download.

www.metasploit.com

 설치 하셨다면, 메타스플로잇에서 사용하는 용어를 몇 개를 살펴보겠습니다.

 

전문 용어

  • 익스플로잇(Exploit)
    • 익스플로잇(Exploit)은 공격자나 모의 해킹 전문가가 시스템, 애플리케이션, 서비스 등의 취약점을 악용하는 방법을 의미
    • 공격자는 개발자가 결코 의도하지 않은 결과를 이용한 익스플로잇(보통 버퍼 오퍼플로우, SQL Injection 같은 웹 애플리케이션 취약점, 설정 오류 등)으로 시스템을 공격함
  • 페이로드(Payload)
    • 시스템에 실행시키고자 하는 코드이며, 프레임워크에 의해 선택되고 전달
  • 쉘코드(Shellcode)
    • 공격을 수행할 때 페이로드로 사용되는 명령 집합
    • 보통 어셈블리 언어로 작성되고 연속된 명령을 대상 시스템에서 실행한 후 명령 쉘이나 미터프리터 쉘을 획득
  • 모듈(Module)
    • 메타스플로잇 프레임워크에서 사용되는 소프트웨어의 한 부분을 의미
  • 리스너(Listener)
    • 연결 요청을 기다리는 메타스플로잇의 구성 요소

 이제 메타스플로잇에 대해 알아보겠습니다. 메타스플로잇은 콘솔, 커맨드라인, 그래픽을 지원하는 다수의 인터페이스를 제공하며, 인터페이스와 함께 제공되는 유틸리티는 메타스플로잇 프레임워크의 내장 기능에 직접 접근할 수 있습니다.

 

인터페이스

  • MSFconsole
    • 프레임워크에서 사용할 수 있는 거의 모든 옵션 설정이 가능한 인터페이스를 제공하고, 인터페이스 하나로 모든 공격을 수행할 수 있음
    • 익스플로잇 실행, 보조 모듈 로딩, 점검 작업, 리스너 생성을 비롯해 전체 네트워크를 대상으로 한 대량 공격까지도 수행 가능함
  • MSFcli
    • 대화형 방식을 사용해 모든 기능에 접근
    • 다른 콘솔 도구와 같이 스크립트 수행과 명령 해석 기능에 중점을 둠
    • 다른 도구에서 MSFcli로 출력을 보내거나 MSFcli의 출력을 직접 다른 커맨드라인 도구로 보낼 수 있음
    • 익스플로잇과 보조 모듈을 실행시킬 수 있으므로 새로운 익스플로잇을 개발하거나 모듈을 테스트할 때 유용함
  • Armitage
    • armitage의 구성 요소는 완전한 대화형 그래픽 사용자 인터페이스

유틸리티

  • MSFpayload
    • 쉘코드를 생성하고 실행하며, 프레임워크의 외부 공격을 유용하게 함
    • 프로그램에서 비정상 종료의 원인이 되는 문자열 끝에 여러 널 문자가 포함됨
    • 평문을 생성하므로 이를 네트워크로 보낼 경우 침입 탐지 시스템(IDS)와 안티바이러스 소프트웨어에 의해 탐지될 수 있음
  • MSFencode
    • 다수의 서로 다른 인코더를 통한 문자 인코딩이 MSFpayload의 문제를 해결함
  • Nasm 쉘
    • 어셈블리 코드를 이해하고자 할 때 유용하게 사용됨

 지금까지 메타스플로잇에 대해 간단히 알아보았습니다. 다음 포스팅에 학습을 이어가도록 하겠습니다.  그럼 이만 ~.~

 

 

반응형
LIST