OffSec

Metasploit 정의 및 사용 방법

10th doctrine 2019. 8. 7. 23:40
728x90
[IT WORLD] "메타스플로잇"의 정의와 이를 사용하는 방법 J.M. Porup | CSO 원문보기

 

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

 

 

Metasploit 정의

Metasploit은 해킹을 간단하게 만드는 침투 테스트 프레임워크로, 많은 공격자와 방어자에게 필수적인 도구다. 자신의 표적을 Metasploit에 지정하고 exploit(익스플로잇), 드롭할 payload를 찍고 엔터키를 누른다.

 

아주 옛날 침투 테스트(pentesting)는 Metasploit이 자동화 하는 많은 반복적인 일들을 필요로 했다. 정보 수집, 액세스 권한 획득, 지속적인 유지 탐지 회피 등이 바로 그것이다. Metasploit은 해커의 스위스 군용 칼과 같으며, 정보보안 분야에서 일한다면 이미 사용하고 있을 것이다.

 

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

 

 

Metasploit 역사

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

 

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

 

 

Metasploit 사용 방법

침투 테스트의 정보수집 단계에서 Metasploit은 Nmap, SNMP Scanning, Windows Patch 목록과 완벽하게 통합된다. 심지어 Tenable(테너블)의 취약점 스캐너인 Nessus(네서스)와도 연결된다. 거의 모든 정찰 도구가 Metasploit과 통합되기 때문에 자신이 원하는 갑옷을 발견할 수 있을 것이다.

 

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

 

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

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

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

 

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

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

 


Metasploit 다운로드하는 곳 
Metasploit은 Kali Linux의 일부로 제공되지만, Metasploit 웹 사이트에서도 별도로 다운로드 할 수 있다. Metasploit은 *nix, Windows 시스템에서 실행된다. Metasploit Framework sourc-code는 GitHub(깃허브)에서 사용할 수 있다. 

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

반응형