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.

 

bandit25에서 bandit26에 로그인하는 것은 상당히 쉬워야 합니다... bandit26 사용자를 위한 쉘은 /bin/bash가 아니라 다른 것입니다. 그것이 무엇인지, 어떻게 작동하며 어떻게 빠져나갈 수 있는지 알아보십시오.

Hint

1. more 명령어의 특성

2. more 명령어의 기능

Write Up

더보기

홈 디렉토리에는 bandit26의 ssh key가 있었다.
일단 ssh key를 이용하여 bandit26에 로그인을 시도하였다.

 

로그인에 성공을 하였고, ssh 배너가 나온 후에 bandit26의 아스키 아트가 출력되었다.
그 이후는 연결이 종료되었다.

 

나는 문제 설명에 나온 대로, bandit26이 사용하는 쉘이 무엇인지를 확인해봤다.
확인하는 방법은 /etc/passwd에 사용하는 쉘이 명시되어있으니, 그것을 확인하였다.

 

확인한 결과 more 명령어을 이용하여 text.txt을 출력 후에 연결을 종료시키는 것을 확인할 수 있었다.

 

나는 more를 사용한다는 것을 알게 된 뒤, 터미널의 크기를 작게 만들어서 more이 잘 작동하게 하였다.

 

그럼 위와 같이 ssh에 연결 시 more이 잘 작동하는 모습을 볼 수 있다.
 

나는 해커스쿨의 FTZ 풀어봤는데, FTZ의 문제 중 vi에서 명령어를 이용하여 권한 상승하는 방법을 배울 수 있었다.

근데 more 명령어는 v를 입력하면 vi으로 넘어가는 기능이 있다.

 

이것을 이용하여 나는 vi에서 명령을 실행하여 /etc/bandit_pass/bandit26을 읽어서 bandit26의 pw를 출력하겠다.

 

More 명령어가 작동하는 중에 v를 입력하여 vi에 들어갔다.
여기서 나는 :r를 이용하여 외부의 파일을 읽어서 현재 보이는 화면에 외부 파일의 내용을 넣어주겠다.

 

그럼 위 사진처럼 경고가 뜨는데 무시하고, Enter를 누르면 된다.

 

그럼 위처럼 /etc/bandit_pass/bandit26의 내용이 화면에 출력되는 것을 볼 수 있다.

 

bandit26 :: 5czgV9L3Xx8JPOyRbXh6lQbmIOWvPT6Z

복사했습니다!