본문 바로가기

system

[ftz]level9 풀이 level9, apple [level9@ftz level9]$ ls hint public_html tmp [level9@ftz level9]$ cat hint 다음은 /usr/bin/bof의 소스이다. #include #include #include main(){ char buf2[10]; char buf[10]; printf("It can be overflow : "); fgets(buf,40,stdin); if ( strncmp(buf2, "go", 2) == 0 ) { printf("Good Skill!\n"); setreuid( 3010, 3010 ); system("/bin/bash"); } } 이를 이용하여 level10의 권한을 얻어라. buf가 40을 넘으면, buf2 값을 go로 바꾸고 .. 더보기
[ftz]level7 풀이 level7, come together hint를 보니, 뭔가 해야 할 절차를 하나하나 알려준다. 계산기를 켜놔야 할 듯 하다. 근데..wrong.txt가 없다고 한다.. 계속 고민을 해보다가 검색을 해봤는데, 개인이 FTZ서버를 열어서 하는 경우 오류가 발생한 것이라고 한다. 직접 root계정으로 접속해서 wrong.txt를 만들어주어야 한다. $ touch wrong.txt 실행해놓은 VM웨어에서 bin경로에 wrong.txt를 만들어주었다. 그럼 PUTTY에서 wrong.txt가 잘 있음을 알 수 있다. [level7@ftz bin]$ /bin/level7 Insert The Password : make --_--_- --____- ---_-__ --__-_- 그럼 이렇게 나올텐데, 만약 안 나온다.. 더보기
[ftz]level8 풀이, john the ripper 사용법 level8, break the world 용량을 이용해서 shadow 파일을 찾아야 할 듯 하다. find 명령어를 통해 2700byte인 파일을 찾는다. 일단 txt 파일을 확인해보도록 한다. [level8@ftz level8]$ cat /etc/rc.d/found.txt level9:$1$vkY6sSlG$6RyUXtNMEVGsfY7Xf0wps.:11040:0:99999:7:-1:-1:134549524 level9:$1$vkY6sSlG$6RyUXtNMEVGsfY7Xf0wps.:11040:0:99999:7:-1:-1:134549524 level9:$1$vkY6sSlG$6RyUXtNMEVGsfY7Xf0wps.:11040:0:99999:7:-1:-1:134549524 level9:$1$vkY6sSlG$6R.. 더보기
[ftz]level6 풀이 level6, what the hell 위에 명시되어 있는대로 로그인하면 이러한 힌트가 나온다. 텔넷 접속 서비스가 나오면서 처음 보는 단어가 나온다. IP와 뭔가를 시도하는 듯 하더니 갑자기 창이 꺼졌다... 프로그램을 종료하려고 했는데 계속 종료되진 않는다. 결국 다시 시작하자마자 CTRL+C를 눌러 프로그램을 종료시켰다. 오..답이 바로 나와있다 더보기
ftz level5 5. level5, what is your name? 문제가 이렇다고 한다. $ cd /usr/bin $ ./level5 근데 임시파일이 보이지 않는다..? 여기서 혼란스러움이 +1 되었다.. 검색을 해보니 임시파일을 만들어보라고 한다. 일단 만들어주고 위의 과정을 반복한다. 오 이번엔 제대로 있다 cat level5.tmp를 하면 답이 잘 나와있다. 더보기
ftz level4 4. level4, suck my brain 일단 어떡하지란 생각을 했고 저 디렉토리 위치로 가보도록 한다. 이 디렉토리에 backdoor가 있다. +backdoor? 뒷문으로, 시스템에 무단접근하기 위한 비상통로, 보안이 제거된 통로 +xinetd.d: 데몬 관리하는 데몬 backdoor을 확인해보니, service finger가 있다. 프로그램 이름인가 했는데, 검색을 해보니 finger를 통해 네트워크 외부에서 시스템에 등록된 사용자 정보를 확인할 수 있으므로, 사용하지 않으면 중지해야 한다고 한다... 더 신기했던 건, who명령어는 현재 사용중인 명령어만 보여주지만 finger(사용자 정보 확인 서비스)는 시스템에 등록된 사람과 네트워크로 연결되어있는 다른 시스템에 등록된 사용자들에 대한 자세한.. 더보기
ftz level2 2. level2, hacker or cracker :!/bin/bash 힌트를 보니, '텍스트 파일 편집 중 쉘의 명령을 실행'시킬 수 있다고 한다. 일단 level1에서 풀었던 것처럼, setUID권한을 가진 파일을 찾는다. 일단 저렇게 나오는데, 저기로 이동해서 실행해본다. $ cd /usr/bin $ ./editor 그럼 이 화면이 나온다. -> 만약 이 화면이 안 나오면 껐다 켜보면 될 듯 하다. 우리의 목표는 쉘을 실행시키는 것이기 때문에, :!/bin/bash 이렇게 쳐줘서 쉘을 실행시킨다. : 는 명령어 실행 ! 외부 명령 사용할 때 사용 /bin/bash 쉘 실행 갑자기 level3로 넘어갔다. $my-pass 이 명령어를 통해 level3의 비밀번호를 알아놓자. 더보기
ftz level3 3. level3, can you fly? 일단 들어오자마자 힌트를 확인한다. $ ls $ cat hint 우리는 위의 코드를 이용해 level4의 권한을 얻어야 한다. strcpy(a,b) : b를 a에 복사한다. strcat(a,b) : a 뒤에 b를 이어붙인다. system(x) : x를 실행한다. 보니까, cmd에 dig @를 넣고, agrv[1]인자를 뒤에 붙인 후, version~.txt를 붙인다. 그걸 실행하는 듯 하다. 밑에 추가 힌트를 보니, 동시에 여러 명령어를 사용하려면, 문자열 형태로 명령어를 전달하려면?이 나와있다. 이 부분에 대한 답을 생각해보자. 동시에 여러 명령어를 사용하려면? ';'를 사용한다. 문자열 형태로 명령어를 전달하려면? '', ""를 사용한다. system이 명령.. 더보기