Level 19 → Level 20
Pwn/Bandit

Level 19 → Level 20

반응형


이번엔 setuid 문제입니다.

로그인을 하고 home 디렉터리의 파일의 권한을 확인해보니

ls -l

 

bandit20의 실행 권한이 현재 s로 setuid로 설정된 것을 보실 수 있습니다.

 

이 권한(s)은 이 파일을 실행한 어떠한 유저라도 일시적으로 해당 파일의 소유자의 권한을 얻을 수 있습니다.

즉 우리가 노려할 것은 이 파일이 어떤 파일인지 알아본 뒤,

bandit20의 권한을 일시적으로 얻었을 때에 /etc/bandit_pass/bandit20의 패스워드를 훔쳐보는 것입니다.

 

일단 그룹권한으로 현재 bandit19도 읽고 실행할 수 있으니 실행해 봅시다.

./bandit20-do

아하 인자를 하나 전달해서 실행하라고 하네요.

일단 예시 그대로 따라 실행해보도록 하겠습니다.

./bandit20-do id

아무래도 인자값을 명령어로 받아들여 실행시키는 것 같습니다.

여기서 저희가 알 수 있는 것은 전달받은 명령어가 euid로 설정된 bandit20으로 실행된다는 것을 의미하죠.

 

cat 명령어를 이용해서 바로 출력해보도록 하겠습니다.

./bandit20-do cat /etc/bandit_pass/bandit20

이렇게 다음 레벨의 패스워드를 얻을 수 있었습니다.

 

다음으로 가봅시다.

반응형