WAR GAME/Bandit

[OverTheWire: Bandit] level26 -> level27

jir4vvit 2020. 3. 7. 21:50

사용 툴: cygwin

 

1) 문제

level26 -> level27 문제

shell 얻은거 잘했어!! 이제 빨리 bandit27로 가자!

 

 

2) 문제풀이

문제에서 shell 얻은 거 잘했다고 칭찬해준다.

이 뜻은 bandit25에서 bandit26의 shell을 땄는데, 바로 bandit27의 패스워드를 얻으란 뜻이다.

 

무조건 bandit25에서 bandit26의 shell을 따야 bandit27의 패스워드를 얻을 수 있다.

bandit25에서 bandit26의 shell을 따는 방법은 여기를 참고하자..

 

bandit26@bandit:~$ ls -al
total 36
drwxr-xr-x  3 root     root     4096 Oct 16  2018 .
drwxr-xr-x 41 root     root     4096 Oct 16  2018 ..
-rwsr-x---  1 bandit27 bandit26 7296 Oct 16  2018 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  2018 .ssh
-rw-r-----  1 bandit26 bandit26  258 Oct 16  2018 text.txt
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=11027(bandit27) groups=11026(bandit26)
bandit26@bandit:~$

bandit26의 홈디렉터리를 살펴보자마자 저기 x부분에 s라고 적혀있는 setuid가 걸린 파일이 보인다.

파일을 실행시켜보았다.

euid에 bandit27이라고 적혀있다.

 

옛날에 풀었던 문제랑 똑같은 문제다.

똑같이 풀면 된다.

 

bandit26@bandit:~$ ./bandit27-do cat /etc/bandit_pass/bandit27
3ba3118a22e93127a4ed485be72ef5ea
bandit26@bandit:~$

파일을 실행시켜 일시적으로 bandit27의 권한을 얻었는데 그 권한으로 bandit27의 패스워드를 불러왔다.

 

bandit26@bandit:~$ ssh bandit27@localhost
bandit27@bandit:~$ id
uid=11027(bandit27) gid=11027(bandit27) groups=11027(bandit27)
bandit27@bandit:~$

끝!