본문 바로가기

System/Windows7

메모리 보호 기법 DEP/NX DEP(Data Execution Protection)란 데이터 실행 방지로 스택이나 힙에서의 쉘 코드 실행을 막아주는 메모리 보호 기법이다. 종류 HardWare DEP : 가상 메모리 페이지 단위로 해당 메모리에서 코드를 실행할 수 없음을 나타낸다. SoftWare DEP : seh overwrite같이 특정 유형의 악의적인 코드 공격을 막아준다. (SafeSEH) Windows에 DEP정책 OptIn : default설정으로 필수적인 Windows 프로그램 및 서비스에만 사용(DEP가 set된 프로그램) OptOut : 사용자가 직접 선택한 항목을 제외한 모든 프로그램 및 서비스에 사용 AlwaysOn : 모든 프로세스에 항상 DEP 적용 AlwaysOff : DEP를 사용하지 않음 OptIn, O.. 2012. 9. 5.
windows bof [basic stack overflow] windows bof [쉘 코드 만들기]에서 만든 쉘 코드를 이용해서 간단한 stack bof를 해보겠습니다. 실습환경은 이전처럼 Windows XP(Service Pack 2), Visual 6.0입니다. 먼저 bof에 취약한 프로그램을 만듭니다. #include #include int main(int argc, char* argv[]) { char buf[100]; if( argc < 2) { printf("%s string\n", argv[0]); exit(1); } printf("\nbuf : 0x%x\n", buf); sprintf(buf, argv[1]); printf("%s\n", buf); return 0; } sprintf로 인해서 bof취약점이 존재하게 만들었습니다. 그리고 나중에 리턴.. 2012. 4. 8.
windows bof [쉘 코드 만들기] 리눅스 bof를 하다가 처음으로 windows bof를 해보게 되었습니다. 둘다 sfp나 ret을 조작해서 공격자가 원하는 shellcode를 실행시키는 원리는 같습니다. 그런데 리눅스에서는 SUID로 인해 계정 권한 상승을 하는데 windows에서는 무엇을 할까요? 일반적으로 exploit하는 쉘 코드는 다음과 같습니다. Backdoor port open shellcode Reverse Telnet shellcode Download & Exec shellcode 여기서는 가장 기본적으로 cmd.exe를 실행하는 쉘 코드를 만들고 bof를 시도해 보겠습니다. 실습 환경은 아래와 같습니다. - Windows XP(Service Pack 2) - Visual 6.0 먼저 cmd를 띄우는 쉘 코드를 만들어보겠.. 2012. 4. 8.