[목차]
1. OSCP BOF 강의 계획서
2. 연습 계획 및 방법
3. 유용 명령어
3. 취약 프로그램 BOF 실습
[Offensive Seccurity PWK 공식 사이트 강의 계획서]
[연습 계획 빛 방법]
시험에는 가장 기본적인
스택버퍼오버플로우만 나온다 함
중요한 것 :
공격 코드 짜는 법을
꼭 알아야 함
공격코드 제작 연습 :
다양한 운영체제 버전별로 만들며 연습할 것
예) 윈도우 7 32비트 /64비트
연습 방법 :
1. https://github.com/justinsteven/dostackbufferoverflowgood
들어가 BOF 기초 자료 및 윈도우용 취약점 프로그램을 받을 수 있음
2. exploit-db.com > remote buffer overflow 검색 >
상단에 'Has App' 체크 박스 클릭하면
해당 취약점 프로그램도 같이 포함된 공격코드를 찾을 수 있고
해당 취약점 프로그램들을 설치 후
원격으로 코드를 작성해 쉘을 얻는 연습 진행
3. 기타 취약점 프로그램 목록
버전 별 정리 노트 작업 :
취약 프로그램 목록 / 참고 자료 및 사이트 / OS 버전 /
단계별 공격 코드 작성
[유용 명령어]
컴파일 작업시,
1. C 코드의 어셈블리어를 간단히 확인하고 싶을 때 :
# gcc -S -o test test.c
2. gdb로 디버깅시 소스 코드 함께 보고 싶을 때 :
# gcc -ggdb -o test test.c
# gdq -q test
gdb) list
[취약 프로그램 BOF 실습 진행]
+++ 계속 업데이트 예정 ........
1. 보안 기능 끄기
# sysctl -q kernel.randomize_va_space=0
ASLR 기술을 끄는 것(메모리 보호기능)
2. 실습 코드
bof.c
#include <stdio.h> #include <string.h> int main (int argc, char * argv[]) { char buf[16]; if(argc !=2) return -1; strcpy(buf, argv[1]); return 0; }
argv = 실제 들어오는 인자 값들
argc = 인자의 개수 (ex. ./bof AAAA)
3. 컴파일 후 디버깅
# gcc -o bof bof.c
# gdb bof
gdb) run $(python -c 'print "A"*24 + "D"*8')
메모리 주소 확인
# ldd ./bof
반복 실행해 같은 값이 나오는지 확인
(ASLR 꺼져있는지 확인하는 절차)
'OSCP > OSCP 공부일지' 카테고리의 다른 글
OSCP 공략 Cheatsheet (v.02) (0) | 2021.04.19 |
---|---|
OSCP 등록 과정 날짜 선택 변수 | 등록 완료 (4) | 2021.04.16 |
OSCP 코스 등록을 앞두고 (2) | 2021.04.15 |
OSCP용 cheatsheet (0) | 2021.03.28 |
OSCP 자격증 공부 계획 (4) | 2021.03.01 |