November 24, 2018

OverTheWire Bandit write-up(Level 26 → Level 27)

The current write-up that you are viewing is an ordinary write-up.
현재 보고계신 write-up은 일반 write-up 입니다.

To comply with the rule, in this write-up, I just deal with some hints related to this challenge. Here is no correct answer and no solution.

룰을 준수하기 위해, 이 문서에서는 이 챌린지와과 관련된 몇 가지 힌트만을 다룹니다. 여기에 정답과 솔루션은 없습니다.

For the full write-up PDF please refer to the Facebook page WARGAMER.
풀 write-up PDF는 페이스북 페이지 WARGAMER를 참고하세요.

WARGAMER(Link)




Bandit Level 26 → Level 27

Level Goal
Good job getting a shell! Now hurry and grab the password for bandit27!

레벨 목표
쉘을 얻은 것을 축하한다! 이제 서둘러 bandit27의 암호를 확인하라!

Commands you may need to solve this level
현재 레벨을 클리어하기 위해 필요할 것으로 생각되는 명령어.
ls

The information for the approach.
접근을 위한 정보.

- Server address: bandit.labs.overthewire.org
- SSH port: 2220
- ID(account 1): bandit25
- PW(account 1): u■■■■■■■■■■0rxht■■■■■■■■■■zG
- ID(account 2): bandit26
- PW(account 2): 5c■■■■■■■■■■x8JPOyRbX■■■■■■■■■■vPT6Z

bandit25@bandit:~$ ls -al /home/bandit26/
total 36
drwxr-xr-x  3 root     root     4096 Oct 16 14:00 .
drwxr-xr-x 41 root     root     4096 Oct 16 14:00 ..
-rwsr-x---  1 bandit27 bandit26 7296 Oct 16 14:00 bandit27-do
-rw-r--r--  1 root     root      220 May 15  2017 .bash_logout
-rw-r--r--  1 root     root     3526 May 15  2017 .bashrc
-rw-r--r--  1 root     root      675 May 15  2017 .profile
drwxr-xr-x  2 root     root     4096 Oct 16 14:00 .ssh
-rw-r-----  1 bandit26 bandit26  258 Oct 16 14:00 text.txt

There is a "text.txt" file that can only be viewed with "bandit26" and a "bandit27-do" file with setuid permission.

"bandit26"만 열람할 수 있는 "text.txt" 파일과 setuid 권한이 있는 "bandit27-do" 파일이 있다.

As in the previous level, we can load the vi editor on the pause state and then input the line command as shown below to change the current shell setting.

이전 레벨에서처럼 잠시 멈춤 상태에서 vi 편집기를 로드 후 아래와 같이 라인 명령어를 입력하면, 현재의 쉘 설정을 변경할 수 있다.

■■■■■■■■■■
■■■■■
■■■■■
[No write since last change]
bandit26@bandit:~$
bandit26@bandit:~$
bandit26@bandit:~$

When we log in directly, the connection is terminated immediately because of the script file set as the default shell, but now we got the Bash shell.

직접 로그인할 때는 디폴트 쉘로 설정된 스크립트 파일 때문에 바로 접속이 종료되지만, 이렇게 Bash 쉘을 얻을 수 있었다.

bandit26@bandit:~$ ./bandit27-do
Run a command as another user.
  Example: ./bandit27-do id
bandit26@bandit:~$ ./bandit27-do id
uid=11026(bandit26) gid=11026(bandit26) euid=■■■■■■■■■■ groups=11026(bandit26)

When we run "bandit27-do", we were granted the ■■■■■■■■■■ for a while.
"bandit27-do"를 실행하면 잠시동안 ■■■■■■■■■■ 권한을 부여받는다.

bandit26@bandit:~$ ls -al ■■■■■dit_pass/bandit27
-r-------- 1 bandit27 bandit27 33 Oct 16 14:00 ■■■■■dit_pass/bandit27
bandit26@bandit:~$ ./bandit27-do ■■■■■■■■■■■■■■■■■■■■7
3b■■■■■■■■■■3127■■■■■■■■■■ea

The ■■■■■■■■■■ can read the "■■■■■7" password file. When we opened this file, we could see something like the flag and it was confirmed by the password of the next level.

■■■■■■■■■■는 "■■■■■7" 패스워드 파일을 읽을 수 있다. 이 파일을 열람하니 플래그로 보이는 정보를 확인할 수 있었는데 이 정보는 다음 레벨의 패스워드로 확인되었다.