level2

해커스쿨 FTZ 2018. 3. 26. 11:07

level2 역시 ls로 디렉토리를 확인해 보면 hint 파일이 존재한다.

hint의 내용은 '텍스트 파일 편집 중 쉘의 명령을 실행시킬 수 있다는데...'이다.

 

vi 편집기는 사용중에 :![명령어]의 형태로 명령어를 실행할 수 있는데 만약 level3의 setuid권한을 가진 에디터가 있다면 에디터 내에서 :!/bin/bash를 사용하거나 :!my-pass를 사용하면 답이 나올것이라고 예상했다.

 

 

 

역시나 level3의 setuid를 가진 실행파일이 하나 나온다.

 

 

먼저 !my-pass를 실행해 보았다.

 

비밀번호인 "can you fly?"를 밷는다.

 

/bin/bash를 실행해 보았다.

level3의 쉘을 가져온 것을 볼 수 있다.

이 상태에서 my-pass를 실행해도 비밀번호를 확인할 수 있다.

'해커스쿨 FTZ' 카테고리의 다른 글

level6  (0) 2018.03.26
level5  (0) 2018.03.26
level4  (0) 2018.03.26
level3  (0) 2018.03.26
level1  (2) 2018.03.26
블로그 이미지

천재보다는 범재

,

level1

해커스쿨 FTZ 2018. 3. 26. 10:37

가장 먼저 ls로 디렉토리에 있는 파일을 보면 hint, public_html, tmp가 있는것을 볼 수 있다.

(처음에 한글이 깨져서 export LANG=EUC-KR을 입력하고 xshell에 인코딩을 Korean (EUC)로 설정했다.)

 

cat hint로 힌트를 보면 'level2 권한에 setuid가 걸린 파일을 찾는다.' 라고 적혀있다.

 

trainer에서 배운대로 find / -user level2 -perm -4000 2>/dev/null 을 실행한다.


여기서 -user level2는 소유자가 level2라는 것이고 -perm -4000은 권한이 최소 setuid가 있는 경우를 말한다, 뒤에 2>/dev/null은 Permission denied같은 오류들을 보이지않게 하기 위해 입력했다.

검색결과 /bin/ExecuteMe라는 프로그램이 나온다.

 

프로그램을 실행하면 레벨2의 권한으로 한가지 명령어를 실행해주겠다고 한다. 단 해당 레벨의 비밀번호를 말해주는 my-pass나 권한을 수정하는 chmod는 제외되었다.


해당 프로그램은 level2의 setuid권한을 가지고 있으므로 해당 프로그램을 실행하는 동안은 level2의 권한을 사용할 수 있다.

 

level2의 권한으로 /bin/bash를 실행하면 level2의 쉘을 획들할 수 있으므로 /bin/bash를 실행한다.

 

level2의 쉘을 획득한 상태에서 my-pass를 입력하면 level2의 비밀번호를 볼 수 있다.

비밀번호는 'hacker or cracker'이다.

'해커스쿨 FTZ' 카테고리의 다른 글

level6  (0) 2018.03.26
level5  (0) 2018.03.26
level4  (0) 2018.03.26
level3  (0) 2018.03.26
level2  (0) 2018.03.26
블로그 이미지

천재보다는 범재

,