김승현
[OverTheWire] Bandit Level 25 → Level 26 본문
문제
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가 아니기 때문인 것 같다.
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부분부터 구글링 해도 안 나와서 너무 무섭긴 했다...ㅜ
다음 문제
[OverTheWire] Bandit Level 26 → Level 27
문제 셸을 얻을 걸 축하하고 얼른 bandit27의 password를 얻으라고 한다. 풀이 들어가기 전 bandit26에 접속하는 방법을 알려드리겠습니다! 이번 문제는 Level 25 → Level 26 문제에서 이어지는 거라서 Level
kshind.tistory.com
'Linux > OverTheWire : Bandit' 카테고리의 다른 글
[OverTheWire] Bandit Level 27→ Level 28 (0) | 2023.02.20 |
---|---|
[OverTheWire] Bandit Level 26 → Level 27 (0) | 2023.02.20 |
[OverTheWire] Bandit Level 24 → Level 25 (0) | 2023.02.20 |
[OverTheWire] Bandit Level 23 → Level 24 (2) | 2023.02.20 |
[OverTheWire] Bandit Level 22 → Level 23 (0) | 2023.02.20 |