bandit 25 → 26

https://overthewire.org/wargames/bandit/bandit26.html

이번 문제는 bandit26에 로그인 해야 한다.

개인 키 파일도 제공되어 인증까지는 문제가 없다. 그러나 bandit26로 로그인하면 /bin/bash 쉘을 사용하는게 아니라 /usr/bin/showtext를 사용한다. 그래서 인증에 성공하더라도 쉘이 실행되지 않아 무엇도 할 수 없다.


우선 주어진 sshkey 파일을 복사하여 저장한다. 나는 가상머신의 리눅스에 저장했다.


해당 키로 bandit26에 로그인 한다. 그러면 화면에 텍스트만 출력하고 연결을 끊어버린다. 이 텍스트가 /usr/bin/showtext 이다.


/usr/bin/showtext 의 내용을 확인한다. 그러면 쉘 스크립트인 것을 알 수 있다. 그리고 중요하게 봐야 할 것이 more 커맨드로 text.txt를 읽는 다는 것이다.


more를 실행 중에 v를 누르면 편집기가 실행된다. 아래 사진은 man more의 일부 내용이다. v를 입력 시 EDITOR와 VISUAL이 정의돼있지 않으면 vi 편집기가 실행된다는 내용이다.


그리고 vi는 커맨드를 실행할 수 있다. ![command] 이렇게 사용하면 된다. 이걸로 쉘을 지정하고 명령을 사용하면 된다.

그런데 또 다른 문제가 있다. more가 출력할 내용을 다 출력하고 바로 종료되어서 편집기로 진입할 틈이 없다. 그러므로 출력을 도중에 멈추게끔 해야 한다. 바로 창(window)의 크기를 줄이는 것이다.

나는 windows 사용자이므로 명령 프롬프트에서 진행한다. 첫 번째 사진에 나오는 명령 프롬프트는 안 된다. 두 번째 사진의 명령 프롬프트로 해야 한다. 창 크기도 저렇게 줄여야 한다.


줄인 상태로 연결하면 more가 다 출력되지 않아 도중에 멈춘다. 이때 v를 누르면 편집기(vi)를 실행한다.


라인 모드에서 쉘을 설정하고, ![command]로 쉘을 실행시킨다.

로그인 성공

Published by