이제 거의 다 끝나 가네요.
마지막까지 힘내 봅시다!
After all this git stuff, it’s time for another escape. Good luck!
흠.. 탈출할 시간이라고 하네요?
일단 bandit32 계정에 접속해 볼까요?
bandit32 계정에 접속해 보았는데요.
평소와는 조금 다릅니다.
'대문자 쉘에 오신 것을 환영합니다.' 라는 문구와 함께 저를 반겨주네요!
명령어를 입력해보면 전부 대문자로 치환되어 인식되지 않습니다ㅠㅠ
WELCOME TO THE UPPERCASE SHELL
>> ls
sh: 1: LS: Permission denied
>> pwd
sh: 1: PWD: Permission denied
>>
이 문제를 풀기위해 알아야할 핵심 개념은 $0입니다.
📌 $0이란?
리눅스에서 $0은 현재 실행중인 쉘(스크립트)의 경로나 이름을 나타냅니다.
일반적으로 $0의 값은 /bin/bash, /bin/sh같은 실행 경로이거나 -bash, -zsh처럼 쉘 이름입니다.
bandit32에서는 $0이 실행 가능한 bash 경로로 설정되어 있어 정상적인 쉘로 탈출할 수 있습니다.
따라서 아래와 같이 새로운 쉘을 실행시킬 수 있지요!
WELCOME TO THE UPPERCASE SHELL
>> $0
$ ls
uppershell
$ id
uid=11033(bandit33) gid=11032(bandit32) groups=11032(bandit32)
이제 비밀번호가 저장된 파일을 읽으면 되겠군요!
$ cat /etc/bandit_pass/bandit33
tQdtbs5D5i2vJwkO8mEyYEyTL8izoeJ0
비밀번호 출력 완료 :)