본문 바로가기
hackerschool bof/hackerschool ftz

해커스쿨(HackerSchool) Level1 풀이내용!

by 깝태 2010. 8. 19.

오랜만에 포스팅을 안 하다가 해커스쿨 문제로 포스팅을 하려고 합니다. 일단 정렬하기위해 Level1 강의부터 올리고, 내일부터 한 두개씩 강의를 올리도록 하겠습니다. 아직 Level10 까지 밖에도 못 올리는... 10에서 공유메모리 보고 C로 소스를 짜내서 권한을 얻어내야되는데 공유메모리가 어느정도 이해는 가는데 응용을 못 하겠더라구요, 무튼 강의는 시작하겠습니다.




이번에도 역시 먼저 힌트를 봅시다. "Level2 권한에 setuid가 걸린 파일을 찾는다."
SetUID에 관해서는 트레이닝을 배우신분이라면 아실것이고, 보충하고싶으시면 검색을 해보세요

파일을 찾기위해선 Find 를 이용해 찾아보실 수 있습니다. 'Find / -user level2 -perm -4000' 으로 검색을 해보겠습니다.
대충 설명을 해보자면 앞에붙는 - 는 적어도 라는 뜻 입니다. -user 는 이 유저와(level2) 동일한것을 찾는다는 말이고, perm은 권한으로
찾는 명령어 입니다. 4000 의 뜻은 4(setuid권한) 000(rwx권한) 입니다. 자세한 설명을 듣고싶으신분들은 트레이닝을~


자, 그러면 보셨듯이 허가가 거부되지않은 파일이 보입니다. 이제 그 파일을 실행해 봅시다.
그냥 '/bin/ExcuteMe' 라고 명령어 입력하시면 됩니다.


이런 메세지가 나옵니다. 저 상태에서 FTZ 가 원하는 명령어 아무거나 하나 실행해준다고 합니다. 참고로
우리는 비밀번호를 얻어야 되니, 명령어를 실행할 수 있는 쉘을 하나 실행합니다. 'bash' 라고 입력하시면
명령모드로 정상적으로 전환되고, 이제 'my-pass' 라고 검색하시면 비밀번호가 나타납니다.