Hacking/[System]Bandit

OverTheWire [Bandit Level 32, 마지막 레벨]

양선규 2023. 4. 4. 01:22
728x90
반응형

Bandit Level 32입니다.

드디어 마지막 문제로군요.

 

 

문제

 

정확히 해석이 안되는데.. 이 모든 문제들을 푼 후엔 다른 워게임 문제를 풀으라는.. 대충 그런 식의 말인듯 합니다

 

 

bash가 아니다

 

우리가 아는 bash 쉘이 아니군요.

대문자 쉘에 오신 것을 환영합니다?

 

 

모든 걸 대문자로 인식

 

일단 쉘은 sh쉘 이로군요.

 

모든 입력값을 대문자로 받아들이는 쉘인듯  합니다.

음,,, 뭘 입력해도 안 되더군요.

 

리눅스에서 대문자를 쓰는 명령어가 무엇이 있을까? 생각을 해봤는데

환경변수가 있었습니다.

 

 

딱히 쓸 만한 게..

 

그러나 환경변수 목록을 찾아보고, 이용할 만한 게 있나 여러가지 확인해 봤지만

결정적인 건 찾을 수 없었습니다.

 

 

$0

 

$0

하지만 $0 환경변수로 해결할 수 있었습니다.

$0는 현재 쉘을 반환하는 환경변수 인데요,

그냥 사용하면 쉘이 하나 더 켜지게 됩니다. ( 중복 실행, 쉘 안에 쉘 )

 

저를 괴롭히던 쉘 이름은 uppershell 이었군요.

 

 

현재 쉘 이름을 반환한다

 

보시다시피 echo $0 를 입력했을 경우,

sh 쉘에서는 sh를

bash 쉘에서는 bash를 반환하게 됩니다.

 

그런데 쉘이름이 uppershell 인데, 어째서 sh 쉘을 반환하는 건지...?? uppershell이 하나 더 켜져야 하는 것 아닌가?

아니면, uppershell이 sh쉘 기반으로 동작하는 것이기 때문일까요? ( 환경변수에 등록이 안되어있어서 그런가 )

정확한 이유를 모르겠습니다.

 

어쨌든 이렇게 대문자 쉘을 탈출할 수 있었습니다.

 

 

bandit33의 권한

 

그리고 현재권한을 확인해보니, bandit33 권한이 있더라구요. 

계정 자체는 bandit32이지만(ruid가 bandit32, 로그인을 bandit32로 했으니까요), euid가 bandit33인 것 같습니다.

 

이 권한으로 bandit33의 password를 획득하면 되겠습니다.

 

 

password 획득

 

password를 획득했습니다.

그리고 마지막 문제이니만큼, 이 password로 로그인이 되는지 확인해 봐야겠죠.

 

 

로그인 성공

 

로그인에 성공했습니다. 텍스트파일이 하나 있네요. 읽어봅시다.

 

 

마지막 인사

 

이 게임의 마지막 레벨을 해결하신 것을 축하합니다!

현재 이 게임에는 더 이상 플레이할 레벨이 없습니다. 그러나 우리는 끊임없이 노력하고 있습니다
새로운 레벨에서 곧 더 많은 레벨로 이 게임을 확장할 것입니다.
일반적인 커뮤니케이션 채널에 대한 발표를 주시하십시오!
그 동안 다른 전쟁 게임을 플레이할 수 있습니다.

멋진 새 레벨에 대한 아이디어가 있다면 알려주세요!

 

번역기 돌렸습니다.ㅎㅎ

 

Bandit 제작자들의 마지막 인사가 담겨 있었네요. 벌써 끝났다니 아쉽기도 하고 후련하기도 합니다.

Bandit을 진행하는 동안 많은 걸 배울 수 있었습니다.

누구라도 시스템해킹을 처음 시작한다면, 또는 리눅스 입문자라면

Bandit을 접해보는 건 꽤 좋은 선택일 것 같네요.

 

Bandit 포스팅은 이걸로 마치겠습니다. 감사합니다.

728x90
반응형

'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