본문 바로가기

wargame/ftz

(29)
FTZ level11 FTZ (Free Training Zone) level11 1. 환경 : window102. VM, Red Hat Linux 9.0, putty id : level11pw : what!@#$? ftz 11번 부터는 stack bof문제입니다.저는 환경변수를 사용 할 것입니다. 왜냐하면 lob에서인자 값에 쉘코드를 넣는 것이 나오기 때문에 ftz에서는환경변수를 다루겠습니다. 1. Cat hint 를 사용하여 힌트를 확인합니다 2. 코드를 분석한다.Attackme 라는 프로그램에 인자를 전달 합니다캐릭터형 str[256]의 크기는 256Setreuid Strcpy (str,argv[1])); argv[1]의 값을 str에 복사합니다 3. Strcpy의 글자수를 제한해서 받지못하는 취약점을 이용해봅시다 4. ..
FTZ level10 FTZ (Free Training Zone) level10 1. 환경 : window102. VM, Red Hat Linux 9.0, putty id : level10pw : interesting to hack! 1. cat hint를 사용하여 힌트를 본다. 2. 공유메모리란? 공유메모리는 하나의 프로세스가 아니라 여러 프로세스가 함께 사용하는 메모리를 말합니다. 공유메모리 함수 1.필요한 해더 선언 #include #include 2. 사용 함수 shmget (key_t key,int size,int shmflg) --> 공유 메모리를 만든다. key= 공유메모리를 식별할 수 있는 번호(level10에서는 7530) size= 크기 shmflg= 옵션 1) IPC_CREAT = 공유메모리 생성 (이미 ..
FTZ level9 FTZ (Free Training Zone) level8 1. 환경 : window102. VM, Red Hat Linux 9.0, putty id : level9pw : apple 1. cat hint를 사용하여 힌트를 확인한다. 2. 코드 분석1) Char Buf2[10] 의 공간에 10이라는 공간을 준다 2) Char Buf [10] 라는 공간에 10이라는 공간을 준다. 3) feget() 은 (scanf와 같은 역할이다 ) 어떤 값을 입력 받는다. (글자수 제한이 없는 bof취약점을 이용한다.) 4)strcmp 두개의 글자를 비교한다 같으면 0을 반환 앞에 단어가 사전에 먼저 나요면 -1을 반환한다. (level9에서는 buf2공간과 “go”글자를 비교) 3. 공격방법 1) Buf의 공간에 넘치는..
FTZ level8 FTZ (Free Training Zone) level8 1. 환경 : window102. VM, Red Hat Linux 9.0, putty id : level8pw : break the world 1. Cat hint를 사용하여 힌트를 확인한다.2. 파일의 용량을 찾는 find –size 라는 명령어를 사용한다. find / -size 명령어를 사용 할 때 단위가 중요한데 단위는 꼭 알아두도록 합시다. b- 블록 단위 512kb c - byte k - kbyte w - 2byte아무런 단위를 붙이지 않는 경우 : 디폴트 값 b (level8문제 에서 사용하는 단위는 c (byte) 입니다.) 3. /etc/rc.d/found.txt라는 텍스트 파일을 cat명령으로 열어봅니다. 4. 존더리퍼라는 툴을 ..
FTZ level7 FTZ (Free Training Zone) level7 1. 환경 : window102. VM, Red Hat Linux 9.0, putty ID: level7PW: come together 1. Cat hint를 사용하여 힌트를 확인한다. 2. 이미지 파일의 오류로 정상적이게 출력 되지 않는다그래서 정상적으로 어떤 것이 나오는지 확인한다. 3. 2진수를 10진수로 " - " 은 1로 ." _ "은 0이라고 생각하고 10진수로 변환해본다 4. 아스키코드표로 변환하여 본다. 101 =m 116=a 97=t 109=e
FTZ level6 FTZ (Free Training Zone) level6 1. 환경 : window102. VM, Red Hat Linux 9.0, putty ID: level6PW: what the hell 1. Cat hint를 열어 힌트를 확인한다. 2. Ctrl +c를 누르면 명령을 내릴 수 있다는 것을 확인한다. 3. Ls -l이라는 명령어를 사용하여 password라는 항목의 열기 권한이 있는 것을 확인한다. 4.password 파일을 열어 비밀번호를 알아낸다.
FTZ level5 FTZ (Free Training Zone) level5 1. 환경 : window102. VM, Red Hat Linux 9.0, putty ID: level5PW: what is your name? 1. Cat hint를 사용하여 힌트를 본다. 2. 힌트를 이용해 /usr/bin/level5를 실행시키고 tmp위치에 가서 임시파일을 확인한다. * 임시파일은 프로그램 세션이 종료되면 사라진다. 3. 그래서 임시파일이 생성될 때 덮어서 만들어지게 끔(덤프) 프로그램을 만든다. 4 ./user/bin/level5를 실행시켜 level5.tmp에 덤프 되게 한다. 덤프된 level5.tmp를 확인 할 때는 .tmp(임시파일)이기 때문에 cat명령어를 이 용하여 확인한다 cf ) 덤프가 되었나 확인하는 방법은..
FTZ level4 FTZ (Free Training Zone) level4 1. 환경 : window102. VM, Red Hat Linux 9.0, putty ID: level4PW: suck my brain 1. cat hint로 힌트를 본다 2. cd를 이용해 백도어가 있는 위치로 이동. Cat을 이용해 백도어의 내용을 확인한다.1) finger 서비스를 확인합니다.2)disable = no ( 사용가능)3) user = level5 4) server = /home/level4/tmp/backdoor 3. 위의 경로로 가서 백도어가 있는지 확인한다. 백도어가 없는 것을 확인 한 후 백도어 파일을 만든다.vi backdor.c#include int main (){system("my-pass");return 0; } 5..