[bandit] level 25 -> level 26
해설)
bandit25에서 bandit26으로 로그인하는 것은 상대적으로 쉽다...
bansit26을 위한 쉘은 /bin/bash가 아니고, 다른 것이다.
이것이 뭔 지, 어떻게 작동하고 어떤 식으로 나갈 수 있을 지를 알아내라.
우선 ls를 입력하니 bandit26.sshkey가 존재하는 것을 확인할 수 있다.
해당 키를 이용해 ssh로 26단계로 로그인해보자.
그런데, 로그인하자마자 연결이 끊긴다. 기분 나쁘다...
문제해설 보면 이 레벨은 /bin/bash를 사용하지 않는다고 나와있기 때문에, 계정에 로그인하면 어떤 프로그램이 실행되는지 확인해준다.
로그인할 때 실행되는 프로그램의 정보는 /etc/passwd 파일에 있다.
grep bandit26을 이용해 bandit26계정에 대해서만 출력해준다.
/usr/bin/showtext가 실행된다는 것을 알 수 있다. 읽어보자.
/bin/bansh가 아닌 /bin/sh를 사용한다.
또한, 홈 디렉터리의 text.txt 파일을 more명령어로 출력하고 실행을 종료한다.
more명령어란,
한 화면에 출력할 수 있는 만큼 출력해주고, 엔터 혹은 스페이스로 다음 줄을 읽어들이는 명령어인데, 왼쪽 하단에 얼만큼 읽었는지 퍼센트(%)로 나와있다.
터미널의 세로 길이를 최소로 줄인다음 bandit26에 다시 로그인해본다.
이런 식으로! 왼쪽 하단에 퍼센트가 나온다. 현재 more명령어가 실행 중이다.
이 때, v를 입력해 .... vi편집기를 실행해야하는데......
이런 빨간 줄이 나와서 좀 당황했다... 당황의 v가 보이시나요
아무튼 여기서 : 를 입력하면 커맨드라인을 실행할 수 있대서, :을 입력해보았다.
또 빨간 줄이 나오면서 :와 함께 입력대기상태가 떴다.
e 옵션을 사용하면 다른 파일을 열 수 있다고 한다.
그래서 반신반의로 e /etc/bandit_pass/bandit26을 써 주었다.
패스워드가 나오긴 나왔다....
5czgV9L3Xx8JPOyRbXh6lQbmIOWvPT6Z
여기서 끝난건가 싶지만, bandit26에 로그인하기 위해서는 프로그램 실행 시 showtext가 실행되는 것이 아닌 쉘이 실행되도록 설정을 바꾸어주어야 한다.
set 명령어를 이용해 shell을 바꾸어줄 수 있다.
: set shell=[쉘 경로]
그동안 사용한 쉘이 /bin/bash 였기 때문에 /bin/bash로 설정해준다.
된건가? shell을 입력해보자.
된거야....?