WARGAME/FTZ [system] (20) 썸네일형 리스트형 ftz level 4 [level4] 우선 무슨 말인지 모르겠지만 저 경로에 백도어를 심어두었다고 하니 한번 이동해서 확인해보자. backdoor 라는 파일을 볼 수 있다. 한번 cat 으로 까보자. 까보면 finger 라는 서비스가 선언되어 있고, user 의 권한으로 server 의 파일을 동작시키는 걸로 유추할 수 있다. 즉, /home/level4/tmp 아래에 backdoor 를 level5 의 권한으로 실행시키는 것이기 때문에, 이 위치의 backdoor 파일에 my-pass 를 출력하도록 하는 명령어를 넣을 수 있다면 문제 해결일 것이다. 그럼 일단 /home/level4/tmp 로 이동하여 backdoor 를 확인해보자. ? 이 위치에 backdoor 가 없기 때문에 만들어야 한다. level5 password 를 알아내야하기.. ftz level 3 [level3] level3으로 접속한 후 힌트 확인. 우선 argc!=2 이면 exit 한다는 것은, 실행파일 실행 시 인자가 1개가 아니라면 바로 종료를 의미한다. 즉, 인자 1개만 함께 입력해주어야 한다는 것. 인자 1개를 입력하고 나면 cmd 라는 버퍼에 "dig @" 라는 문자열을 넣고, 입력한 인자를 덧붙이고, 마지막으로 " version.bind chaos txt" 를 덧붙여서 system 함수로 실행시킨다. 여기서 힌트가 '동시에 여러 명령어를 사용해라' 이므로 아마 dig @ 입력 후에 명령어를 자르고, 다음 명령어로 내가 입력한 문자열이 실행되게 한 후 명령어를 또 자르고, 마지막 version.bind chaos txt 가 명령어로 들어가도록 하라는 것일 것이다. 여기엔 ; 를 사용하면 될 것 같고,.. ftz level 2 [level2] 텍스트 파일 편집은 vi 일 것이고, vi 상에서 쉘의 명령을 실행시킬 수 있다고 하니 우선 level1 에서 level2 의 권한을 가진 setuid 파일을 찾았듯이 똑같이 level3 권한을 가진 파일을 찾아보자. permission denied 사이에 있는 /usr/bin/editor 발견. 디렉토리 이동을 한 후 editor 를 확인한다. 실행시켜보자. vi 편집기가 실행된다. vi 편집기에서 외부 쉘 명령어를 입력할 수 있도록 ! 를 사용하여 배시쉘로 접근한다. 쉘을 딴 후, level3 권한으로 my-pass 를 입력하면, level3 password 획득! "can you fly?" ftz level 1 [level1] 우선 ls -al 로 파일들을 확인해보았다. 별다른 설정된 파일들을 찾을 수 없다. 따라서 명령어를 사용해서 파일을 찾아본다. 이므로 find 명령어 사용. level2 권한이므로 -user level2 를 옵션으로 사용, setuid 가 걸린 파일을 찾는 것이기 때문에 퍼미션 -4000 옵션 사용. 퍼미션 디나이 사이에 /bin/ExecuteMe 파일이 보인다. 한번 실행시켜 보자. my-pass 가 입력이 안되므로 cat my-pass 등은 먹히지 않을 것 같지만 그래도 system 함수를 한번 사용해봤다. 나오지 않는다. 따라서 level2 권한으로 실행 시킬수 있다는 점에 다시 집중해서 쉘을 띄워봤다. 배시 쉘에 들어간 후 my-pass 를 띄우니 level2 pw 획득 성공 ! "hacker o.. 이전 1 2 3 다음