본문 바로가기
hackerschool bof/hackerschool ftz

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

by TEDDY 깝태 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' 라고 검색하시면 비밀번호가 나타납니다.

댓글6

  • dada 2010.08.30 22:51

    음 .. 안녕하세요! 해쿨 학생인대요 제가 트레이닝은 putty 으로접속햇는데 해쿨존도 그걸로하는건가요 ?
    답글

  • Zenon 2010.10.22 13:28

    해쿨학생입니다
    perm 관련 트레이닝이 몇번째인지요?
    하나하나 노가다 하기가 힘들어서..
    답글

  • BlogIcon dragon 2011.02.06 08:53

    잘 보고 가요
    답 보니 너무 쉽다는 생각이 .... ^^(농담ㅎ)
    너무 어렵게 생각했네요
    답글

  • 뽕토 2011.05.02 02:09

    bash는 왜 갑자기 사용한거고... bash는 어떤용도죠;;
    쉘이라는거만 알고잇는데 어렵네요;ㅠㅠ
    답글

  • kkamikoon 2014.12.02 10:18

    bash를 실행해서 level2의 쉘을 실행시킨 걸로 생각하고 있는 학생입니다.
    여기서 궁금한 점은 my-pass가 실행가능한 파일이지만 user와 group권한이 root로 돼 있는데,
    1. 어떻게 my-pass가 실행가능한지
    2. my-pass가 비밀번호를 말해주는 프로그램인지 어떻게 알아냈는지 궁금합니다.
    답글