레벨 해킹

 2839, 1/142 회원가입  로그인  
   mrcj
   level1 질문.

http://www.hackerschool.org/HS_Boards/zboard.php?AllArticle=true&no=3271 [복사]


질문있습니다.

왜 bach 를 치면

levle2로 넘어가는건가요?

자세한 답변부탁드립니다.

  Hit : 2584     Date : 2012/07/11 01:41



    
cd80 bash같은 쉘 인터프리터들은 사용자의 현재 권한에서 명령을 내려주고,
어떤 프로그램을 실행할땐 현재 권한으로 프로그램이 작동하게 됩니다

근데 /bin/ExcuteMe는 setuid가 걸려있기떄문에 level2의 권한으로 작동중이고
실행시킨 사용자의 현재권한도 level2입니다
이떄 /bin/bash를 실행하게되면 말씀드린대로 현재권한으로 프로그램이 실행되기 때문에 level2권한의 bash 프로세스가 생성됩니다
또 말씀드린대로 인터프리터들은 명령을 실행할때 현재권한에서 실행하기떄문에 level2권한으로 명령을 내릴 수 있고

my-pass 프로그램은 현재권한을 보고 패스워드를 알려주는 프로그램이기때문에 level2의 패스워드를 알 수 있는것입니다
2012/07/11  
ka0r1 /bin/ExcuteMe를 자세히 들여다보시면
실행시 level2 권한으로 SetUID가 걸려있죠.
즉, ExcuteMe가 실행이 되면 그 프로그램이 끝날 때까지
임시적으로 level2권한을 가지게 되는 겁니다.
그 상태에서 bash를 실행하게 되면 cd80님의 말씀대로
level2 권한의 bash 프로세스가 생성되는 원리입니다.
2012/07/12