[Pwnable] 해커스쿨 FTZ (20) 썸네일형 리스트형 [해커스쿨 FTZ] Level4 level4 를 풀어보자. 슬슬 다들 처음 과정은 익숙할 것이다. 어떤 파일이 있는지 알아보고, 힌트를 출력한다. 누군가 /etc/xinetd.d/ 에 백도어를 심어놓았다고 한다. 해당 경로로 이동해 확인해 본다. cat 명령어를 사용해 backdoor를 보자. finger 서비스를 이용해 level5의 권한으로 /home/level4/tmp/backdoor 를 실행시킬 것 같다. 그렇다면 /home/level4/tmp/backdoor 파일이 있는지, 어떤 파일인지 확인해보자. 그렇다면 우리가 backdoor 파일을 만들어야 할 것 같다. vi 편집기를 이용해 암호를 알아 낼 수 있는 backdoor.c 를 만든다. 위와 같이 system과 my-pass를 활용해 암호를 알아낼 코드를 짠다. i 를 눌러.. [해커스쿨 FTZ] Level3 이번엔 FTZ level3 문제를 풀어보았다. 힌트를 확인해 보았는데 추가힌트가 두 개 더 있다. # 1. 동시에 여러 명령어를 사용하려면? -> 유닉스 계열에서는 세미콜론 ( ; ) 을 이용해서 여려 명령어를 수행 할 수 있다. 2. 문자열 형태로 명령어를 전달하려면? -> 큰 따옴표 ( " " ) 를 사용해서 문자열 형태로 명령어를 전달 할 수 있다. 힌트로 나와있는 소스를 분석해보자. 1. 입력값을 받고 인자가 2개가 아니라면 오류를 출력한다. 2. strcpy 명령어를 사용해 cmd 에 dig@ 를 복사하고, strcat 명령어를 사용해서 dig@ 뒤에 argv[1](입력받은 값), version.bind chaos txt 를 이어붙인다. => cmd = dig@ argv[1] version.bi.. [해커스쿨 FTZ] level2 FTZ level2를 풀어보았다. 힌트에서 말하는 텍스트 파일 편집은 VI 를 말하는 것 같다. # 우리는 VI 에서 !wq 정도만 사용해 왔다. 하지만 !명령어 를 통해 VI에서도 명령어를 사용 할 수 있다. VI에서 명령어를 사용할 수 있다는 것을 확인했으니 다시 문제로 넘어가보자. find / -user level3 -perm +6000 2>/dev/null 명령어를 통해 level3의 권한을 가지고 있는 파일을 찾아본다. -rwsr-x--- => SUID가 걸려있다. 공격 방법을 아까 알아냈으니 !my-pass 명령어를 사용해본다. 짜잔 하고 level3의 암호가 나온다. #영구적으로 level3의 권한을 획득하고 싶다면 !sh 명령어를 사용하면 된다. level3 암호 : can you fly? [해커스쿨 FTZ] Level 1 FTZ level1 을 풀어보았다. level1에 들어가 파일 목록을 살펴보니 hint가 떡하니 있다. hint를 확인해 보니 level2 권한이 있는 파일을 찾으라 한다. # SETUID가 설정되면 소유자가 아니더라도 실행할때 일시적으로 소유자의 권한으로 실행한다. find 명령어를 사용할건데 setuid가 걸린 파일을 찾아야 하기 때문에 find / -user level2 -perm +6000 2> /dev/null 명령어를 입력한다. # -user level2 => level2 또는 level1의 권한이 있는 파일 찾기 -perm +6000 => setuid 또는 setgid가 걸린 파일 찾기 2> dev/null => 표준에러(2) 를 쓰레기통(/dev/null)에 넣기 ExecuteMe라는 파일.. 이전 1 2 3 다음