PLT&GOT 공격 (DEP, ASCII Armor 우회, PLT&GOT Overwrite 공격) - Chaining RTL 공격을 위해 gadgets 연속적으로 활용. - DEP + ASCiiArmor + ASLR 적용 [환경 요약] SFP 함수1 PPR 인자1 인자2 함수2 PPR 인자1 인자2 . . . AAAA Strspy() Gadget 주소 Overwrite할 주소 복사할 문자 주소 Strspy() Gadget 주소 Overwrite할 주소 복사할 문자 주소 … * 공격 전 준비사항- /tmp/test4.c strcpy()를 이용한 bufferoverflow 취약한 프로그램 작성- Buffer Dummy 계산- /tmp/sh.c setuid(),system() 프로그램 작성.- PPR 주소 검..
Buffer Overflow Shell Code 이용 공격 1. Buffer Oerflow 개요 프로그램 취약점을 이용해 할당된 메모리 공간보다 더 큰 범위를 입력하여 프로그램 흐름을 바꾸거나 원하는 명령을 실행할 수 있다. 길이 검증을 하지 않는 함수 사용시 buffer Overflow 공격이 가능하다. OS Kali 1.0 파일 /tmp/test.c ASLR X (echo 0 > /proc/sys/kernel/randomize_va_space) N/X gcc -o test test.c -fno-stack-protector -z execstack -fno-builtin -mpreferred-stack-boundary=2 취약점 Strcpy 함수 이용 일반 shellcode 삽입 공격을 하기 위해 시스템..
Shell Code 제작 환경 : vmware redhat 9 linux. 시스템 콜을 이용하여 shell Code를 만들 수 있다. 시스템콜 번호 확인 GDB로 확인. MOV EAX [시스템 콜번호]Int 0x80 인터럽트 0x80명령으로 시스템 콜 번호에 해당되는 역할을 실행할 수 있다. /tmp/shcode.asm 작성. l XOR EAX, EAX 또는 MOV AL 을 사용하는 이유 Objdump 확인NULL바이트가 포함되면 기계어에서 NULL byte로 인하여 쉘코드 삽입이 중간에 끊기게 된다. 위와 같은 코드로 작성할 경우 objdump 확인시 아래와 같다. [objdump 확인] setreuid(geteuid(),geteuid()); 를 포함한 최종 Shell Code 일반 코드 setreui..