칼리\메타스플로잇/칼리리눅스 입문자를 위한 메타스플로잇 중심의 모의침투

4장_버퍼 오버플로우 기법과 메타스플로잇 기초

아놀드금자 2020. 8. 12. 10:13
728x90

인텔 CPU -> 리틀엔디안 방식(최하위 비트부터)

hack() 함수의 메모리 주소 번지를 리틀 엔디안 방식에 따라 삽입, Return Address 부분의 주소 값을 조작

 

버퍼 오버플로우 속성을 악용하느 행위 -> 익스플로잇

이를통해 실행한 hack() 함수 등 -> 페이로드

 

버퍼 오버플로우 공격 방어 위해 strncpy() 보안함수 사용 -> 입력값 검증함

strcpy() -> 입력값 검증 없어 버퍼 오버플로우 발생

 

커널차원에서는 다음 기법으로 페이로드 실행할 수 없게함

-Data Execution Prevention(데이터 실행 방지)

DEP: 스택 영역에서 실행 권한을 제거

-Address Space Layout Randomization(주소 공간 임의 추출) 

ASLR: 스택과 힙 영역의 주소를 임의로 변경하는 기법 -> 가장 강력한 버퍼오버플로우 방지기법!!

-Stack Guard(Canary) : SFP영역, RET영역 사이에 카나리라는 난수를 추가하여 버퍼오버플로우 감지

-Stack Shield: RET영역에서 복귀 주소를 생성 할 때 복귀 주소 사복도 생성하여 함수 복귀 시 복귀 주소 사본을 참조

 

 


 

4-2 메타스플로잇 기초

 

모듈: 루비 언어로 작성한 소스 코드 파일 

MSF모듈은 총 6개의 디렉토리에 분산 배치(6개의 기능)

1. exploits 디렉토리 

msf를 이용해 익스플로잇 할 수 있는 운영체제 목록 -> windows: 익스플로잇 할 수 있는 윈도우 운영체제 소프트웨어목록 -> mssql: mssql서버의 취약점 목록(msf모듈)

CVE 방식으로 표기

 

인터페이스: MSF 작업 방식

msfconsole 환경: msfconsole명령어를 사용, 취약점에 기반한 침투 작업 수행

msfvenom 환경: msfvenom 명령어 사용, 악성 코드에 기반한 침투 작업 수행

 

 

msf 최초 구동 시 

msfdb init

 

구동 시마다 매 번 입력

service postgresql start

 

db_status 명령어 입력 -> PostgreSQL과 MSF가 연동 상태임을 알 수 있음(위에서 저거 입력해서)

 

msf> db_services

msf> creds

--> msf를 통해 수행했던 포트 스캔 결과 등을 볼 수 있다.

 

 


 

 

 

 

https://book.naver.com/bookdb/book_detail.nhn?bid=14648838 

 

칼리 리눅스 입문자를 위한 메타스플로잇 중심의 모의 침투

칼리 운영체제 기반의 메타스플로잇(MSF) 도구를 중심으로 모의 침투에 필요한 내용을 설명한다. 메타스플로잇 모듈을 중심으로 메타스플로잇 활용 능력을 향상시키는 데 역점을 두었을 뿐만 아

book.naver.com

 

728x90