Post

[wargame] overthewire bandit 25 -> 26

Bandit Level 25 -> Level 26

user_id : bandit25
password : iCi86ttT4KSNe1armKiwbQNmB3YJP3q4

목표

image

bandit25에서 bandit26에 로그인하는 것은 꽤 쉬울 것입니다… 사용자 bandit26의 쉘은 /bin/bash가 아니라 다른 것입니다. 그것이 무엇인지, 어떻게 작동하는지, 그리고 그것을 탈출하는 방법을 알아보세요.

참고: Windows 사용자이고 일반적으로 Powershell을 사용하여 밴디트에 ssh를 적용하는 경우: Powershell은 이 수준의 의도된 솔루션에 문제가 발생하는 것으로 알려져 있습니다. 대신 명령 프롬프트를 사용해야 합니다.

나는 termius 쓸 거라서 참고사항은 패스

해결법

image

일단 파일을 읽어보니 바로 bandit26.sshkey가 보인다

그리고 bandit25@bandit:~$ ssh -i bandit26.sshkey bandit26@localhost -p 2220를 통해 접속시도를 하게 되면

image

바로 쫒겨난다 목표에서 말하듯 쉘이 /bin/bash가 아닌 다른 것이기에 생긴 문제인 것 같다

image

/etc/passwd폴더에서 계정들이 사용하는 쉘을 볼 수 있다

/etc/passwd에 관해

image

확인해 보면

bandit26:x:11026:11026:bandit level 26:/home/bandit26:/usr/bin/showtext

(1):(2):(3):(4):(5):(6):(7) 로 나눠 보았을 때

: : 구분자

(1) : 사용자 계정

(2) : 사용자 암호가 들어갈 자리, x는 /etc/shadow 파일에 암호가 저장되어있음

(3) : 사용자의 ID, root는 0

(4) : Group id, root그룹은 0

(5) : 기타 정보, 보통 사용자의 이름

(6) : 홈 디렉토리 정보

(7) : 사용자가 기본으로 사용하는 shell 정보

여기서 우리는 bandit26/usr/bin/showtext라는 쉘? 을 사용하고 있다는 것을 알 수 있다

image

/usr/bin/showtext파일을 읽어보면

export TERM=linux

TERM이라는 환경변수에 linux를 저장

exec more ~/text.txt

/home bandit26/text.txtmore라는 명령어를 실행한다

처음보는 명령어이기에 Linux 기본 명령어 more을 읽으면 좋다

일단 창을 줄이는 것과 관련된 명령어라는 것은 이해를 했다

image

termius에서는 안되는 걸로

image

putty에서는 성공했다

image

이 상태에서 v를 누르니 vi 편집기가 실행되었다

image

:set shell=/bin/bash 명령어를 입력하여 bash쉘로 기본쉘을 설정하고

image

:sh 명령어를 입력해 익숙한 bash쉘로 들어올 수 있었다

image

비밀번호가 출력되었다!

비밀번호 : s0773xxkk0MXfdqOfPRVr9L3jJBUOgCZ

이 다음 문제인 bandit26도 termius를 통해 접속하게 되면 다음과 같이 보인다만

분명 아무것도 눌리지 않을 것이다..

image

그렇다.. 26번 문제도 아직 25번 문제에서 이어진 문제였던 것이다

여기서 부터는 다음번에

This post is licensed under CC BY 4.0 by the author.