오늘도 힘내서 문제를 풀어 봅시다!
Bandit Level 25 → Level 26 문제 풀이
ssh bandit25@bandit.labs.overthewire.org -p 2220
password : p7TaowMYrmu23Ol8hiZh9UvD0O9hpx8d
해당 문제는 bandit26의 쉘이 /bin/bash 가 아니라 다른 무엇이라고 합니다 그게 어떻게 작동하고 어떻게 탈출하는지 알아보라고 합니다
홈 디렉터리의 RSA 방식인 sshkey 파일이 있네요 Level 13 → 14 문제에서 다뤘던 ssh 명령어를 이용하여 바로 bandit26으로 접속해 보겠습니다
ssh -i sshkey.private bandit14@localhost -p 2220
하지만 로그인 동시에 연결이 끊기게 됩니다 문제에서 주어진 내용을 살펴보니 bandit26의 쉘은 /bin/bash가 아닌 다른 쉘이라고 하는데 bandit26의 파일 정보를 확인해 봅시다
bandit26은 /bin/bash가 아닌 /bin/showtext라고 나오네요
해당 파일을 읽어보니 more 명령어가 실행되고 바로 종료되는 걸 알 수 있습니다
이제 more 명령어가 실행할 수 있도록 창을 작게 만들어 bandit26 계정을 접속해 봅시다
이 정도로 창을 작게 만들어 놓고 RSA 방식으로 bandit26의 로그인하니 more로 바뀐걸 알 수 있습니다
여기서 v 버튼을 누르면 vi가 실행되면 bandit26의 권한으로 파일을 열 수 있게 됩니다
이후 해당 명령어를 입력하면 bandit26의 패스워드를 찾아낼 수 있습니다
:e [파일 이름] = vi를 종료하지 않고 다른 파일을 수정할 수 있는 명령어입니다
이렇게 bandit26의 패스워드를 찾았지만 bandit26의 쉘이 다른 계정의 쉘가 다르기 때문에 bandit26의 shell을 /bin/bash로 지정해서 접속해야 합니다
해당 쉘을 /bin/bash로 지정해 주는 명령어를 입력 후 Enter(엔터)!
그다음 :shell 명령어로 bandit26의 계정을 접속할 수 있습니다
Bandit Level 26 → Level 27 문제 풀이
접속 방법은 이전 문제를 참고해주세요
이번 문제는 이전의 쉘을 얻은 걸 잘했다고 칭찬하고 빨리 bandit27의 패스워드를 찾으라고 합니다
홈 디렉터리의 bandit27-do라는 바이너리 파일이 있습니다
파일 정보를 확인하니 setuid 파일인 걸 알 수 있습니다 Level 19 → 20 문제에서 다뤘던 내용입니다
[ setuid 문제 ]
bandit27-do 파일을 명령 인자로 bandit27의 패스워드를 획득할 수 있었습니다
정말 빠르게 bandit27의 비밀번호를 획득했네요 ㅋㅋ..