SystemHacking/System(9)
-
[3] Buffer Overflow 공격
해당 게시글의 내용은 해커스쿨-도서관 에서 다운받은 파일을 기반으로 저의 공부를 위해 작성했습니다 " 해커 지망자들이 알아야 할 Buffer Overflow Attack의 기초 " By 달고나 님의 pdf의 사진과 글을 요약 정리했습니다 공격을 위해 먼저 취약점이 있는 프로그램을 하나 생성하도록 하겠습니다 strcpy()함수를 이용해 인자로 넘어온 문자열을 buffer 문자열배열에 저장하는 소스코드입니다 [1],[2] 에서 배웠던 내용을 토대로 쉽게 이해 할 수 있을겁니다 1024byte의 버퍼공간을 쉘 생성코드와 NOP로 채우고 base pointer있는 SFP(4byte) 공간에도 NOP로 채웁니다 마지막으로 return address 가 들어있는 RET주소에 쉘 생성코드가 저장되어 ..
2017.06.03 -
[2] 쉘 코드 작성하기
해당 게시글의 내용은 해커스쿨-도서관 에서 다운받은 파일을 기반으로 저의 공부를 위해 작성했습니다 " 해커 지망자들이 알아야 할 Buffer Overflow Attack의 기초 " By 달고나 님의 pdf의 사진과 글을 요약 정리했습니다 쉘 코드를 작성하는 원리와 방법에 대해서 알아보도록 하겠습니다 [1] $vi sh.c 쉘 코드를 얻을 수 있는 소스파일을 작성합니다 execve() 함수는 바이너리 형태의 실행파일이나 스크립트 파일을 실행시키는 함수입니다 첫번째 인자는 파일이름 , 두번째 인자는 인자들의 포인터, 세번째 인자는 환경변수 포인터 입니다 해당 소스파일을 컴파일 시킨 후 제대로 동작하나 확인해보았습니다 제대로 동작되는 것은 확인되었고, 먼저 execve()함수의..
2017.06.02 -
[1] BufferOverflow Attack의 기초 ( 스택기반의 버퍼오버플로우 )
해당 게시글의 내용은 해커스쿨-도서관 에서 다운받은 파일을 기반으로 저의 공부를 위해 작성했습니다 " 해커 지망자들이 알아야 할 Buffer Overflow Attack의 기초 " By 달고나 님의 pdf의 사진과 글을 요약 정리했습니다 [1] 목적 Buffer Overflow 공격이 어떻게 이루어지는지를 설명하고 이러한 공격이 가능하게 되는 원리와 컴퓨터 시스템의 기본구조 설명 [2] 8086 Memory Architecture 8086 시스템의 기본적인 메모리 구조는 그림1 과 같다. 시스템은 " 커널 " 을 메모리에 적재시키고 " 가용메모리 "를 확보한다 운영체제는 하나의 프로세스를 실행시키면 그 프로세스를 Segment라는 단위로 묶어서 가용메모리 영역에 저장시킨다 구조는 그림2 ..
2017.06.01