본문 바로가기
8. 정보보안 노트 정리

메타스플로잇 [1] - 베이직, 기본 용어 정의

by Robert8478 2023. 12. 28.

익스플로잇(exploit) - 시스템,애플리케이션,서비스 등의 취약점을 공격하는 방법
익스플로이테이션(exploitation) - 익스플로잇을 하는 행위
후속 공격(post exploitation) - persistence, 익스플로잇 성공 후 수행하는 공격
취약점(vulnerability) - 시스템 또는 소프트웨어에 존재하는 결함
페이로드(payload) - 쉘코드,최종 공격 목적 코드
모듈(module) - 루비에서 말하는 모듈 / MSF에서 사용하는 모듈 
리스너(listener) - 연결 요청을 기다릴 수 있도록 해주는 기능
세션(session) - msf와 공격 대상 시스템 사이에 맺은 연결채널
제로데이(Zero-day) - 아직 알려지지않은 새로운 취약점
PoC(Proof of Concept) - 취약점을 증명하기위해 만들어진 증몀코드

[미터프리터]

다양한 후속 공격을 지원하며 인메모리 dll 인젝션 스테이저를 사용하는 광범위 동적 고급 페이로드이다.
미터프리터는 bin/sh> 에서 리눅스 명령어를 사용하듯 meterpreter> 에서 후속공격 명령어를 사용하는 쉘과 같은 기능이다.
미터프리터의 특징 - 은밀성:디스크를 건드리지 않음 / 프로세스 인젝션 시 새로운 프로세스 생성 안함 / 최소한의 포렌식 증거
[reflective dll 인젝션을 사용하기때문에 메모리의 한 칸을 차지하거나 디스크에 저장하는것이 아닌 문맥코드에 바로 추가되어 실행된다]

강력함:암호화 통신을 사용 / 모든 공격이 가능하다고 봐도 무방(API)
확장성:실시간으로 기능을 선택해 네트워크로 전달 가능 / 새로운 기능 추가가 용이


[미터프리터 동작 원리]

초기 스테이저 페이로드를 실행 -> 스테이저는 reflective를 앞에 첨가한 dll 로드 -> reflective stub은 dll의 로드 및 인젝션 수행 -> 소켓을 통해 TLS/1.0 링크를 초기화 및 연결을 성립한 뒤 GET 요청 전송 -> 마지막으로, 확장프로그램 로드
이는 공격 하면 코드의 흐름을 미터프리터가 가져오고 metsrv.dll 파일을 실어 보내서 세션을 받는다.
이 세션을 통해서 명령어를 주고받는다.


미터프리터 사용방법은 내장기능과 스크립트 사용이 있다.
스크립트는 기존 스크립트 활용법과 새로운 스크립트를 개발하는 활용법이 있다.
내장기능은 권한상승,pass the hash, 이벤트 로그, 인코그니토, 레지스트리, 원격 데스크톱 접근, 패킷 스니핑, 피버팅, 파일 검색, john the ripper