Bandit Level 32입니다.
드디어 마지막 문제로군요.
정확히 해석이 안되는데.. 이 모든 문제들을 푼 후엔 다른 워게임 문제를 풀으라는.. 대충 그런 식의 말인듯 합니다
우리가 아는 bash 쉘이 아니군요.
대문자 쉘에 오신 것을 환영합니다?
일단 쉘은 sh쉘 이로군요.
모든 입력값을 대문자로 받아들이는 쉘인듯 합니다.
음,,, 뭘 입력해도 안 되더군요.
리눅스에서 대문자를 쓰는 명령어가 무엇이 있을까? 생각을 해봤는데
환경변수가 있었습니다.
그러나 환경변수 목록을 찾아보고, 이용할 만한 게 있나 여러가지 확인해 봤지만
결정적인 건 찾을 수 없었습니다.
$0
하지만 $0 환경변수로 해결할 수 있었습니다.
$0는 현재 쉘을 반환하는 환경변수 인데요,
그냥 사용하면 쉘이 하나 더 켜지게 됩니다. ( 중복 실행, 쉘 안에 쉘 )
저를 괴롭히던 쉘 이름은 uppershell 이었군요.
보시다시피 echo $0 를 입력했을 경우,
sh 쉘에서는 sh를
bash 쉘에서는 bash를 반환하게 됩니다.
그런데 쉘이름이 uppershell 인데, 어째서 sh 쉘을 반환하는 건지...?? uppershell이 하나 더 켜져야 하는 것 아닌가?
아니면, uppershell이 sh쉘 기반으로 동작하는 것이기 때문일까요? ( 환경변수에 등록이 안되어있어서 그런가 )
정확한 이유를 모르겠습니다.
어쨌든 이렇게 대문자 쉘을 탈출할 수 있었습니다.
그리고 현재권한을 확인해보니, bandit33 권한이 있더라구요.
계정 자체는 bandit32이지만(ruid가 bandit32, 로그인을 bandit32로 했으니까요), euid가 bandit33인 것 같습니다.
이 권한으로 bandit33의 password를 획득하면 되겠습니다.
password를 획득했습니다.
그리고 마지막 문제이니만큼, 이 password로 로그인이 되는지 확인해 봐야겠죠.
로그인에 성공했습니다. 텍스트파일이 하나 있네요. 읽어봅시다.
이 게임의 마지막 레벨을 해결하신 것을 축하합니다!
현재 이 게임에는 더 이상 플레이할 레벨이 없습니다. 그러나 우리는 끊임없이 노력하고 있습니다
새로운 레벨에서 곧 더 많은 레벨로 이 게임을 확장할 것입니다.
일반적인 커뮤니케이션 채널에 대한 발표를 주시하십시오!
그 동안 다른 전쟁 게임을 플레이할 수 있습니다.
멋진 새 레벨에 대한 아이디어가 있다면 알려주세요!
번역기 돌렸습니다.ㅎㅎ
Bandit 제작자들의 마지막 인사가 담겨 있었네요. 벌써 끝났다니 아쉽기도 하고 후련하기도 합니다.
Bandit을 진행하는 동안 많은 걸 배울 수 있었습니다.
누구라도 시스템해킹을 처음 시작한다면, 또는 리눅스 입문자라면
Bandit을 접해보는 건 꽤 좋은 선택일 것 같네요.
Bandit 포스팅은 이걸로 마치겠습니다. 감사합니다.
'Hacking > [System]Bandit' 카테고리의 다른 글
OverTheWire [Bandit Level 31] (0) | 2023.04.04 |
---|---|
OverTheWire [Bandit Level 30] (0) | 2023.04.03 |
OverTheWire [Bandit Level 29] (0) | 2023.04.03 |
OverTheWire [Bandit Level 28] (0) | 2023.04.03 |
OverTheWire [Bandit Level 27] (0) | 2023.04.03 |