김승현

[OverTheWire] Bandit Level 25 → Level 26 본문

Linux/OverTheWire : Bandit

[OverTheWire] Bandit Level 25 → Level 26

kshind 2023. 2. 20. 21:22

문제

문제 원문

bandit25에서 26으로 접속하는 건 쉽지만 bandit26의 셸은 /bin/bash가 아닌 다른 무언가라고 한다. 그게 뭔지 알아내고 어떻게 작동 발생되는지 알아내라고 하는 것 같다.

 

풀이

ls -al을 해보면 bandit26.sshkey가 있는 걸 볼 수 있다. 반가운 마음에 바로 ssh 명령어를 사용했다.

 

오랜만이라 기억 안 나는 사람들이 있을까 봐 명령어 형식을 적어뒀다. -i 옵션을 통해 sshkey를 지정해서 접속할 수 있다.

ssh -i [sshkey] [username]@[hostname] -p [포트]

 

bandit 문제에서 ssh를 통해 접속할 때 포트를 지정하지 않으면 22로 자동으로 지정되는데 22로 접속하게 되면

경고창이 뜨면서 접속이 되지 않으니 처음에 문제를 접속할 때 지정한 2220을 입력해서 풀자!

양식에 맞춰 입력한 명령어

 


접속이 되자마자 바로 close되는 걸 볼 수 있는데 아마도 셸이 bin/bash가 아니기 때문인 것 같다.

grep [찾을 내용] [찾을 경로]

bandit26의 셸을 보기 위해 bandit25에서 grep 명령어를 통해 /etc/passwd 내 bandit26의 정보를 확인했다.

/etc/passwd/에는 7개의 필드가 있는 걸 볼 수 있다. 순서대로

1. 사용자 계정명 = bandit26

2. 패스워드 = x : 패스워드의 x는 /etc/shadow에 암호화되어 저장되어 있다는 뜻이다.

3. UID(UserID) = 11026

4. GID(GroupID) = 11026

5. comment = bandit level 26 : 기타적인 정보를 담는데 보통 사용자의 이름이다.

6. 홈디렉토리 = /home/bandit26

7. 로그인 셸 = /usr/bin/showtext

여길 보면 로그인 셸이 /usr/bin/showtext인 것을 볼 수 있는데 cat으로 내용을 확인해봐야 될 것 같다.

#!/bin/sh  # bash 실행

export TERM=linux  # TERM이라는 환경변수 설정 후 linux를 저장

exec more ~/text.txt  # home/bandit26/text.txt에 대해 more 명령어 실행 (여기서 ~/은 홈디렉토리를 의미함!!!)
exit 0  # 종료

text.txt를 읽고 싶지만 bandit26 아래에 있는 파일이기 때문에 우리는 현재 읽을 방법이 없다....

more 명령어에 대해서도 찾아봤는데 모르겠어서 찾아보니까

창을 엄청 줄이면 more이 실행되는데 이때 vi 편집기를 실행해서 할 수 있다는 거였다!

창을 이렇게까지 줄이니까 왼쪽 밑에 ---more---이 뜨는 것을 볼 수 있다!

여기서 v를 누르면 vi 편집기가 열린다.

vi편집기에서 :r [파일명]을 하게 되면 커서 뒤에 해당 파일을 삽입하는 게 있어서 사용해줬다.

그랬더니 커서 뒤에 password가 떠서 얻을 수 있었다!

 

bandit26으로 가는 방법이 bandit25에서 바로 이어서 해야 하는 거라서 다음 문제는 프로그램을 끄지 않고

지금 당장 바로 하는 게 좋다.  bandit26으로 접속하는 방법을 여기서도 설명하고 다음 거에도 한 번 더 알려주겠습니다!

 

>>>bandit26 접속 방법!!!<<<

vi 편집기에서 바로 콜론( : ) 을 입력 후 set shell을 통해 셸을 /bin/bash로 새롭게 설정할 수 있다. 그다음 엔터를 누르고

한 번 더 :를 누르고 sh 후 엔터를 누르면 된다.

짜잔 접속완료


지금까지 풀었던 문제랑 완전 느낌이 달라서 신기했고 이런 식으로도 할 수 있구나 싶어서 재밌었다 

근데 처음에 more부분부터 구글링 해도 안 나와서 너무 무섭긴 했다...ㅜ

 

 


다음 문제

https://kshind.tistory.com/28

 

[OverTheWire] Bandit Level 26 → Level 27

문제 셸을 얻을 걸 축하하고 얼른 bandit27의 password를 얻으라고 한다. 풀이 들어가기 전 bandit26에 접속하는 방법을 알려드리겠습니다! 이번 문제는 Level 25 → Level 26 문제에서 이어지는 거라서 Level

kshind.tistory.com