반응형

해커스쿨 ftz 문제풀이 / level3

 

level3 문제로 level4의 패스워드를 찾는 문제입니다. 

우선 홈 디렉토리에 hint 파일을 보면 아래 autodig의 소스가 보입니다. 

이 실행파일을 이용하여 level4의 권한을 얻는 문제입니다. 

 

아래 코드에서 cmd 변수에 "dig @", argv[1], " version.bind chaos txt" 문구가 입력되고, 

system call로 이 cmd가 실행되는 것을 볼 수 있습니다. 

이 argv[1]에 ";/bin/bash;" 명령어를 넣으면 되는 것으로 보입니다.

autodig 실행파일은 level4의 권한을 가지고 있습니다. 

전달인자로  ";/bin/bash;" 를 넣어 이 파일을 실행시켜 보겠습니다.

그럼 아래와 같이 level4의 권한을 획득한 것을 볼 수 있습니다. 

level4의 권한을 가지고 있는 실행파일에서 bash를 수행하였기 때문입니다. 

my-pass 명령어를 실행시키면 아래와 같이 level4의 패스워드를 볼 수 있습니다.

반응형
반응형

해커스쿨 ftz 문제풀이 / level2

 

 

level3의 password를 구하는 문제입니다. 

level2의 홈 디렉토리에 있는 hint 파일의 내용을 보겠습니다. 

텍스트 파일 편집 중 쉘의 명령을 실행시킬 수 있다고 합니다.

level3의 권한으로 되어 있는 파일을 찾아오니, /usr/bin/editor라는 실행파일이 있습니다. 

이 파일을 실행시켜 보겠습니다. 

vim이 실행되는 것을 볼 수 있습니다. 

vim에서 shift + : 를 누르면 명령어를 입력할 수 있습니다. 

여기에 외부쉘 명령어를 사용하기 위해 !문자를 앞에 붙여 !/bin/bash를 명령어를 실행해 보겠습니다.

그럼 아래와 같이 level3의 권한이 실행되는 것을 볼 수 있습니다. 

이 상태에서 my-pass를 실행하면 Level3의 패스워드를 확인할 수 있습니다.

반응형
반응형

해커스쿨 ftz 문제풀이 / level1

 

아래 계정 정보로 로그인 합니다. 

ID/PW : level1 / level1

 

로그인 해서 홈 디렉토리에 있는 파일을 보면 아래와 같이 hint라는 파일이 있습니다. 

내용을 보면 setuid가 걸린 파일을 찾으라고 합니다. 

find 명령어로 -user가 level2이고, -perm이 -4000 (setuid) 인 것을 찾습니다. 

2>/dev/null을 마지막에 입력해 standard error는 출력하지 않도록 합니다. 

그러면 /bin/ExecuteMe라는 파일이 있습니다. 

/./bin/ExecuteMe로 실행을 하면 아래와 같은 화면이 출력됩니다. 

my-pass와 chmod는 명령어로 실행시킬 수 없다고 합니다. 

현재는 level2의 권한이기 때문에 bash를 실행하도록 하였습니다. 

그러면 level2 권한으로 bash가 실행됩니다. 

level2의 bash가 실행된 상태에서 my-pass를 실행시키면 아래와 같이 Level2의 패스워드가 출력됩니다.

반응형

+ Recent posts