Bandit level25

반응형


OverTheWire 문제풀이 - Bandit

* Bandit 는 리눅스 관련 문제입니다.

* 리눅스 명령어를 연습하기에 아주 좋습니다.

* 개인적인 문제풀이로 해답을 보시기 전에 직접 풀어보시기를 권해드립니다.


Bandit level25

Level Goal

Logging in to bandit26 from bandit25 should be fairly easy… The shell for user bandit26 is not /bin/bash, but something else. Find out what it is, how it works and how to break out of it.

Commands you may need to solve this level

ssh, cat, more, vi, ls, id, pwd

레벨 목표

bandit25에서 bandit26에 로그인하는 것은 매우 쉽습니다 ... 사용자 bandit26의 셸은 / bin / bash가 아니라 다른 것입니다. 그것이 무엇인지, 어떻게 작동하는지 그리고 어떻게 탈출 할 수 있는지 알아보십시오.

이 레벨을 해결하는 데 필요할 수있는 명령

ssh, cat, more, vi, ls, id, pwd

[문제 풀이]

이번 문제는 bandit26 계정이 bash쉘이 아닌 다른 쉘을 사용한다고 한다. 리눅스 쉘의 종류를 보는 방법은 다음과 같다.

#> cat /etc/shells


이 중에서 아마 하나의 쉘을 사용하고 잇을텐데, passwd 파일을 살펴보면 각 계정이 사용하고 있는 쉘을 확인할 수 있다.

#> grep bandit26 /etc/passwd


확인한 쉘을 살펴보기 전에 먼저 ssh로 다음레벨에 접속할 수 있는 개인키가 있는지 살펴보면 홈디렉터리에 개인키가 존재하는걸 알 수 있다. 


이 개인키로 접속해보면 다음과 같이 그냥 연결이 종료되어 버린다.


이제 passwd파일에서 찾은 /usr/bin/showtext파일을 살펴보면 more 명령어를 통해서 홈디렉터리의 text파일을 읽는 것을 알 수 있다.

  • more : 파일 내용을 확인하는 명령어들 중에 하나로, 파일을 읽어 화면에 화면 단위로 끊어서 출력하는 명령어

따라서 임의로 화면을 작게 줄여서 more 명령어가 실행되게 만들면 문서편집기를 사용할 수 있고, 문서안에서 명령어를 실행할 수 있게 된다. 이점을 이용하여 다음 레벨의 패스워드를 획득하는 것 같다.

화면을 줄여 ssh명령어로 개인키를 이용해 접속하면 다음과 같이 more 명령어가 실행된 모습을 볼 수 있다.

#> ssh -i bandit26.sshkey bandit26@localhost


v를 눌러 vi 편집기 상태로 전환시킨다.


: 를 눌러 r 을 이용해 현재 권한으로 다음레벨의 패스워드를 읽는다. 그러면 다음과 같이 패스워드를 확인할 수 있다.

next level password : 5czgV9L3Xx8JPOyRbXh6lQbmIOWvPT6Z

반응형

'War Game > bandit' 카테고리의 다른 글

Bandit level24  (0) 2017.04.14
Bandit level23  (0) 2017.04.11
Bandit level22  (0) 2017.04.10
Bandit level21  (0) 2017.04.10
Bandit level20  (0) 2017.04.07
TAGS.

Comments