보안

"메타스플로잇"의 정의와 이를 사용하는 방법

J.M. Porup | CSO 2019.03.26
메타스플로잇(Metasploit)은 널리 사용되는 침투 테스트 도구로, 해킹 방법을 예전보다 쉽게 만들어준다. 이 도구는 레드팀과 블루팀 모두에게 없어서는 안될 도구가 됐다. 
 
ⓒ Getty Images Bank 
  

메타스플로잇 정의

메타스플로잇은 해킹을 간단하게 만드는 침투 테스트 프레임워크로, 많은 공격자와 방어자에게 필수적인 도구다. 자신의 표적을 메타스플로잇에 지정하고 익스플로잇(exploit), 드롭할 페이로드를 찍고 엔터키를 누른다.
 
물론 이렇게 간단하지는 않다. 처음부터 다시 시작해보자. 아주 옛날에는 모의해킹(pentesting)은 메타스플로잇이 자동화하는 많은 반복적인 일들을 필요로 했다. 정보 수집, 액세스 권한 획득, 지속적인 유지, 탐지 회피 등이 바로 그것이다. 메타스플로잇은 해커의 스위스 군용 칼과 같으며, 정보보안 분야에서 일한다면 이미 사용하고 있을 것이다.  

메타스플로잇 프레임워크의 핵심은 무료이고 공개 소프트웨어로, 칼리 리눅스(Kali Linux)에 사전 설치되어 있다. 이 프레임워크는 명령어 인터페이스만 제공할 뿐 GUI 기반의 클릭 엔 드랙(click-and-drag) 해킹이나 다른 몇가지 멋진 기능을 원하는 사용자는 메타스플로잇 프로(Metasploit Pro)에서 시트단위 라이선스 번들을 이용하면 된다. 


메타스플로잇의 역사 

HD 무어는 초기 메타스플로잇을 작업하기 시작해 2003년에 펄(Perl)로 작성된 1.0을 릴리스했다. 이 프로젝트는 프로젝트가 시작된 이래로 지금까지 눈부시게 성장했는데, 원래 11가지 익스플로잇에서 현재는 1,500개 이상의 코드와 약 500개의 페이로드까지 증가했다. 그 과정에서 메타스플로잇은 루비(Ruby)로 전환했다. 

보안팀인 래피드7(Rapid7)은 2009년에 메타스플로잇과 무어 모두를 인수했다(무어는 2016년에 이 프로젝트를 떠났다). 메타스플로잇은 이후 캔버스(Canvas)와 코어 임팩트(Core Impact)와의 경쟁에서 이겨 사실상의 프레임워크가 됐다. 오늘날 제로데이 보고서에는 개념 증명(PoC)으로 메타스플로잇을 포함시키는 것이 일반적이다. 


메타스플로잇 사용 방법 

모의해킹의 정보수집 단계에서 메타스플로잇은 엔맵(Nmap), SNMP 스캐닝, 윈도우 패치 목록과 완벽하게 통합된다. 심지어 테너블(Tenable)의 취약점 스캐너인 네서스(Nessus)와도 연결된다. 거의 모든 정찰 도구가 메타스플로잇과 통합되기 때문에 자신이 원하는 갑옷을 발견할 수 있을 것이다. 

일단 약점을 발견하면 메타스플로잇은 대용량 확장형 데이터베이스를 통해 사기를 치고 침입한다. 예를 들어, 2017년 더 섀도 브로커스(The Shadow Brokers)가 발표한 NSA의 이터널블루(EternalBlue) 익스플로잇은 메타스플로잇 용으로 패키지화되어 있었다. 패치되지 않은 레거시 윈도우 시스템을 신뢰할 수 있는 방법이다. 

훌륭한 와인에 치즈가 필요한 것처럼 당면 과제에 맞는 페이로드와 익스플로잇을 조합하라. 대부분의 사람은 셸(shell)을 원하기 때문에 윈도우 시스템을 공격할 때 적합한 페이로드는 인메모리에서만 작동하는, 인메모리 전용 대화형 셸인 미터프리터(meterpreter)다. 리눅스 박스는 사용하는 익스플로잇에 따라 자체 셸코드를 갖는다. 

메타스플로잇은 모든 공격 후 도구들을 포함하고 있는데, 권한 상승(privilege escalation), 패스 더 해시(Pass the Hash), 패킷 스니핑(Packet Sniffing) 스크린캡처(Screen Capture), 키로거(keyloggers), 피버팅(pivoting) 도구 등이 있다. 해당 머신이 재부팅될 경우, 지속적인 백도어도 설정할 수 있다. 

매년 메타스플로잇에는 점점 더 많은 기능이 추가되고 있으며, 바이너리의 잠재적인 보안 결함을 식별하는 퓨저(Fuzzer)와 여기서 나열하기에는 너무나 긴 보조 모듈 목록 또한 포함하고 있다. 이는 메타스플로잇이 할 수 있는 상위수준의 보기다. 이 프레임워크는 모듈식으로 쉽게 확장할 수 있으며, 활발한 커뮤니티를 자랑한다. 자신이 원하는 대로 정확히 수행하지 않더라도 거의 확실하게 조정할 수 있다.

  
메타스플로잇을 배우는 방법 

메타스플로잇을 배우려면 수많은 무료 및 저렴한 리소스가 있다. 많은 사람이 시작하기 가장 좋은 방법은 대상 연습을 위한 취약한 가상머신과 칼리 리눅스를 다운로드하고 설치하는 것이다. 다만 메타스플로잇을 허락없이 다른 사람의 네트워크에 올려서 배워서는 안 된다. 불법이다.
 
칼리를 유지하고 OSCP(Offensive Security Certified Professional, 공격 보안 인증 전문가) 인증을 가진 사람들의 모임인 오펜시브 시큐리티(Offensive Security)는 무료 교육 과정인 메타스플로잇 언리시드(Metasploit Unleashed)를 제공한다.

이 과정은 아프리카의 배고픈 아이들을 위한 기부금을 요구한다. 노 스타치(No Starch)의 메타스플로잇 책은 다른 노 스타치 서적과 마찬가지로 DRM이 필요없는 이북(ebook)과 함께 제공된다. 메타스플로잇 프로젝트는 상세한 문서를 제공하며 유투브 채널은 초보 침투 테스터를 위한 또 다른 훌륭한 리소스다.  


메타스플로잇 다운로드하는 곳 

메타스플로잇은 칼리 리눅스의 일부로 제공되지만, 메타스플로잇 웹 사이트에서도 별도로 다운로드 할 수 있다. 메타스플로잇은 *nix, 윈도우 시스템에서 실행된다. 메타스플로잇 프레임워크 소스코드는 깃허브(GitHub)에서 사용할 수 있다. 

코카콜라와 마찬가지로 메타스플로잇은 다양한 맛을 낸다. 공개/무료 메타스플로잇 프레임워크 외에도 래피드7은 메타스플로잇을 위한 무료 웹 기반 사용자 인터페이스인 메타스플로잇 커뮤니티 에디션(Metasploit Community Edition)과 GUI를 선호하는 침투테스터를 위한 비무료 애드온인 메타스플로잇 프로(Metasploit Pro)를 만들었다. 래피드7은 자체 웹사이트에서 이 제품들의 기능 비교를 해놓았다. editor@itworld.co.kr 
 
Sponsored

회사명 : 한국IDG | 제호: ITWorld | 주소 : 서울시 중구 세종대로 23, 4층 우)04512
| 등록번호 : 서울 아00743 등록발행일자 : 2009년 01월 19일

발행인 : 박형미 | 편집인 : 박재곤 | 청소년보호책임자 : 한정규
| 사업자 등록번호 : 214-87-22467 Tel : 02-558-6950

Copyright © 2024 International Data Group. All rights reserved.