Metasploit의 구조
0. 왜?
Kail Linux를 통해 모의침투 테스트를 진행함에 있어, Metasploit이라는 tool에 대해 호기심이 생겼다.
Metasploit은 해킹을 간단하게 만드는 침투 테스트 프레임워크로, 자신의 표적을 메타스플로잇에 지정하고 익스플로잇(exploit),Payload를 drop하여 공격한다. 한마디로 어린이 종합해킹 키트
1. 구조
위와 같은 구조에 모듈은 커스텀하게 추가할 수 있다.
실제로 msf를 실행시켜보면 위와 같은 interface를 확인할 수 있다.
넌 이제 뒤졌"소"..?
+ MODULES +
1) exploits : 시스템 및 응용 프로그램의 취약점을 이용하는 공격 코드 모음
[공격을 진행할 때 대부분 플랫폼 -> 서비스 -> 코드를 선택하는 단계로 진행]
2) payloads : exploit 성공 후 타겟의 시스템에 대한 추가 공격을 위한 코드 모음
3) encoders : payload의 형태를 변형 시키는 다양한 알고리즘을 담은 코드 모음
[백신을 우회하거나 안걸리기 위해서 인코딩으로 암호화 시키는 모듈]
4) nops : 오직 레지스터 및 프로세서 플래그 상태 변화에만 영향을 미치는 무의미한 명령어들을 만들어 내는 코드모음
[파일 내용 사이에 1010101... 등의 의미없는 문자를 넣어 공격하는 코드모음]
5) auxiliary : payload를 필요로 하지 않는 공격 또는 정보 수집을 목적으로 하는 코드 모음
[scanner,gather의 목적 코드 모음]
6) post : exploit 성공 후 meterpreter 권한에서의 명령어 모음
+ LIBRARY +
1) Framework Base : 프레임 워크에서 사용하는 세션을 구현
[코어의 작업관리를 위한 래퍼 인터페이스 제공]
2) Framework Core : 모듈과 플러그인에 인터페이스를 제공하기 위한 클래스 모음
[REX 라이브러리에서 정의한 기능을 베이스로 구성]
3) REX : ruby 확장 라이브러리, 프레임워크에 필요한 클래스와 모듈을 제공하는 역할