CTF Bandit Level 1 → Level 2 강좌 - 패스워드 탐색

Level 0 → Level 1을 완료하시고 세 번째 문제인

Level 1 → Level 2 강좌입니다 

 

 

필자는 root계정에서 명령을 입력합니다 만약 root계정이 아니라 오류 나는 경우 명령어 앞에 sudo를 붙여주세요

Level 1 → Level 2의 문제 내용입니다

The password for the next level is stored in a file called - located in the home directory


Commands you may need to solve this level
ls, cd, cat, file, du, find

지난번과 마찬가지로 패스워드를 찾아야하는데 home 디렉터리에 패스워드 파일이 있는 거 같은데

- 라는 파일에 내용이 저장되어있다고 합니다

 

이번 레벨을 해결하는데 필요한 명령어에 나와있듯이 이번에는

cd 명령을 통해 home 디렉터리로 경로를 이동한 뒤에 - 파일을 cat명령을 통해 내용을 확인할 겁니다

 

우선 터미널을 열어서 ssh 명령을 통해 bandit1에 로그인해줍시다

ssh -p 2220 bandit1@bandit.labs.overthewire.org

 

bandit1의 패스워드는 이전 강좌에서 찾은 비밀번호를 그대로 붙여 넣기 하여 로그인하시면 됩니다

아직 이전 챕터를 완료하지 못하신 분들은 이전 단계를 먼저 클리어한 후에 진행해주세요

 

 

정상적으로 로그인할 경우엔 사용자 계정이 bandit1로 변경된 걸 확인하실 수 있을 겁니다

 

 

현재 home 디렉터리에서 ls명령을 쳐보니깐 - 라는 파일이 나오네요

ls -la로 확인해보니 숨겨진 파일들도 나오는 데 - 는 폴더가 아닌 파일인걸 확인하실 수 있습니다

파일의 내용을 확인하기 위해 cat명령을 사용해볼까요?

 

 

cat명령을 사용하여 - 파일을 보려고 하지만 아무 내용도 출력되지 않습니다

ctrl + c 키를 눌러 중지해줍시다

 

 

잠시 bandit터미널을 옆으로 치워두고 칼리 리눅스에서 -라는 파일에 testfile내용을 집어넣어 파일을 생성해보겠습니다

그리고 ls명령을 통해보니깐 제가 생성한 - 라는 파일이 있는 걸 확인하실 수 있습니다

그리고 마찬가지로 cat - 를 했지만 똑같이 파일의 내용이 나오지 않는 걸 확인하실 수 있습니다

 

리눅스에서는 - 특수문자를 옵션으로 인식할 수 있습니다 그렇기 때문에 터미널에서는 해당 파일을 cat - 명령으로는 확인할 수 없습니다

 

이럴 때 해결 방법으로는./- 를 사용해주시면 됩니다

. 는 현재 디렉터리를 의미하며.. 는 부모 디렉터리를 의미합니다 그래서 현재 디렉터리의 - 파일을 보기위해선  - 파일 앞에 ./만 붙여주면 됩니다

cat ./-

 

혹은 디렉터리 경로명을 적는 방법도 있습니다 /destkop/-  && ~/-

cat  /destkop/-
cat  ~/-

 

 

첫 번째의 경우 디렉토리명을 전체 적고 파일명을 적으니깐 정상적으로 제가 생성한 파일의 내용이 출력됩니다

두 번째처럼 -파일 앞에./을 붙여도 똑같이 제가 생성한 파일의 내용이 출력됩니다

위의 방법은 bandit에서도 사용할 수 있습니다

 

이렇게 해서 이번 문제도 클리어, bandit2로 가기 위한 비밀번호입니다

 

23.05.01 bandit사이트의 암호가 변경되었습니다 아래 코드박스를 참고해주세요

rRGizSaX8Mk1RTb1CNQoXTcYZWU6lgzi

패스워드가 정확한지 bandit2에 로그인하여 확인해봅시다

 

┌──(root💀kali)-[~]
└─# ssh -p 2220 bandit2@bandit.labs.overthewire.org
This is a OverTheWire game server. More information on http://www.overthewire.org/wargames

bandit2@bandit.labs.overthewire.org's password: 
Linux bandit.otw.local 5.4.8 x86_64 GNU/Linux

      ,----..            ,----,          .---.
     /   /   \         ,/   .`|         /. ./|
    /   .     :      ,`   .'  :     .--'.  ' ;
   .   /   ;.  \   ;    ;     /    /__./ \ : |
  .   ;   /  ` ; .'___,/    ,' .--'.  '   \' .
  ;   |  ; \ ; | |    :     | /___/ \ |    ' '
  |   :  | ; | ' ;    |.';  ; ;   \  \;      :
  .   |  ' ' ' : `----'  |  |  \   ;  `      |
  '   ;  \; /  |     '   :  ;   .   \    .\  ;
   \   \  ',  /      |   |  '    \   \   ' \ |
    ;   :    /       '   :  |     :   '  |--"
     \   \ .'        ;   |.'       \   \ ;
  www. `---` ver     '---' he       '---" ire.org


Welcome to OverTheWire!

If you find any problems, please report them to Steven or morla on
irc.overthewire.org.

--[ Playing the games ]--

  This machine might hold several wargames.
  If you are playing "somegame", then:

    * USERNAMES are somegame0, somegame1, ...
    * Most LEVELS are stored in /somegame/.
    * PASSWORDS for each level are stored in /etc/somegame_pass/.

  Write-access to homedirectories is disabled. It is advised to create a
  working directory with a hard-to-guess name in /tmp/.  You can use the
  command "mktemp -d" in order to generate a random and hard to guess
  directory in /tmp/.  Read-access to both /tmp/ and /proc/ is disabled
  so that users can not snoop on eachother. Files and directories with
  easily guessable or short names will be periodically deleted!

  Please play nice:

    * don't leave orphan processes running
    * don't leave exploit-files laying around
    * don't annoy other players
    * don't post passwords or spoilers
    * again, DONT POST SPOILERS!
      This includes writeups of your solution on your blog or website!

--[ Tips ]--

  This machine has a 64bit processor and many security-features enabled
  by default, although ASLR has been switched off.  The following
  compiler flags might be interesting:

    -m32                    compile for 32bit
    -fno-stack-protector    disable ProPolice
    -Wl,-z,norelro          disable relro

  In addition, the execstack tool can be used to flag the stack as
  executable on ELF binaries.

  Finally, network-access is limited for most levels by a local
  firewall.

--[ Tools ]--

 For your convenience we have installed a few usefull tools which you can find
 in the following locations:

    * gef (https://github.com/hugsy/gef) in /usr/local/gef/
    * pwndbg (https://github.com/pwndbg/pwndbg) in /usr/local/pwndbg/
    * peda (https://github.com/longld/peda.git) in /usr/local/peda/
    * gdbinit (https://github.com/gdbinit/Gdbinit) in /usr/local/gdbinit/
    * pwntools (https://github.com/Gallopsled/pwntools)
    * radare2 (http://www.radare.org/)
    * checksec.sh (http://www.trapkit.de/tools/checksec.html) in /usr/local/bin/checksec.sh

--[ More information ]--

  For more information regarding individual wargames, visit
  http://www.overthewire.org/wargames/

  For support, questions or comments, contact us through IRC on
  irc.overthewire.org #wargames.

  Enjoy your stay!

bandit2@bandit:~$ whoami
bandit2
bandit2@bandit:~$ 

방금 얻은 패스워드를 통해 bandit2에 로그인하니깐 정상적으로 로그인이 되네요

 

 

CTF Bandit 카테고리 글 더보기

Top