ID : level1

passward : level1

 

1) ls 명령어를 통해 파일 및 디렉토리 목록 리스트 출력

 

2) cat 명령어를 통하여 hint 파일의 내용 출력

" level2 권한에 setuid가 걸린 파일을 찾는다."

 

3) find 명령어를 통하여 setuid 가 걸린 파일 찾기 ( level2 권한 )

==> find / -perm -4000 -user level2

---> "/(루트) 부터 시작하여 최소한의 -4000(setuid) 가 걸린 파일을 -user level2 (level2 권한으로 찾는다)"

* pemission denied ==> 접근 권한 제한목록까지 모두 출력이 됨을 확인할수 있다. 

이러한 접근 권한 제한 목록을 없애기 위하여

2>/dev/null 를 입력하여 접근 권한 제한 목록들을 없앨수 있다.

결과적으로 하나의 파일

/bin/ExecuteMe 파일이 setuid가 걸린 파일임을 알수 있다.

 

4) cd 명령어를 통하여 /bin 디렉토리로 이동한다

 

5) ls -al ExecuteMe 를 입력하여 해당 파일의 정보를 보면 다음과 같다

 

"-" 로 시작하는것을 보아 디렉토리 가 아닌 파일임을 알수 있다.

user(level2) 에 대해서는 모든 권한이 부여되며, S로 끝나는것으로 보아 setuid가 걸린 파일임을 알수 있다.

group(level1) 에 대해서는 읽기 권한 과 실행 권한만 부여된다

other 에 대해서는 어떠한 권한도 부여되지 않는다.

 

" user 는 level2 이며 , 해당 그룹은 level1 이고, 파일의 크기는 12868bit, 생성된 날짜는 2011년 10월 10일 파일명은 ExecuteMe 이다. "

 

* r은 파일 읽기(4), w는 파일 쓰기(2), x는 파일 실행(1) 

 

6) ExecuteMe 를 입력하여 파일을 실행하면 다음과 같은 문구가 뜬다.

password 를 확인할수 있는 my-pass 와, 

권한을 변경할수 있는 chmod 명령어는 사용이 불가능 하며, 이외의 명령어에 의해서는 level2 권한으로 딱 한번 사용할수 있다.

 

7) 실험을 위해 my-pass를 입력하면 다음과 같은 문구가 출력됨을 알수 있다.

 

8) bash 를 입력하여, level2 권한의 프롬프트와 쉘을 출력하도록 할수 있다.

 

이제 level2 권한의 프롬프트와 쉘을 이용할수 있게 되었으므로 이상태에서

다음 단계의 비밀번호를 확인할수 있는 my-pass 를 입력하면된다.

 

9) my-pass 를 입력하면, level2 권한으로 이동하게 되며, password 는 " hacker or cracker" 이다.

 

+ Recent posts