OverTheWire: Bandit - Level 0

full_accel·2020년 12월 6일
2

Over The Wire: Bandit

목록 보기
2/9
post-thumbnail

bandit wargame을 진행하는 방법


  • bandit은 wargame으로 각 단계마다 의도적으로 설계된 시스템의 취약점을 찾으면서 시스템에 대해 학습하는 것이 목표이다.
  • bandit의 각 단계에서 취약점을 찾으면 이를 이용하여 키를 찾을 수 있다.
  • 키는 다음 단계의 패스워드이다.
  • 동일한 bandit 서버(bandit.labs.overthewire.org)에 badnit1 아이디로 접속하면 level 1이고, bandit2 아이디로 접속하면 level2이다.
  • levle1에서 키를 찾았다면 곧 bandit2 아이디의 패스워드이다.
  • 각 아이디로 접속하면 그에 맞는 level의 문제가 세팅되어 있다.
  • 최종 목표는 level34까지 가는 것이다.

Bandit Level 0 - 문제 원문


https://overthewire.org/wargames/bandit/bandit0.html

Level Goal
The goal of this level is for you to log into the game using SSH. The host to which you need to connect is bandit.labs.overthewire.org, on port 2220. The username is bandit0 and the password is bandit0. Once logged in, go to the Level 1 page to find out how to beat Level 1.

Commands you may need to solve this level
ssh

Helpful Reading Material
Secure Shell (SSH) on Wikipedia
How to use SSH on wikiHow

문제 해석


  • 이번 단계의 목표는 게임에 SSH를 사용하여 로그인하는 것이다.

  • bandit.labs.overthewire.org로 로그인하는데 포트번호는 2220번이고, 아이디 패스워드는 bandit0이다.

  • ssh 명령어가 유용할 것이다.

공략


이 단계는 공략이고 뭐고 없다. 그냥 알려준 주소로 알여준 아이디와 패스워드로 로그인하면 끝이다.

다만 어떻게 접속하는지(SSH로 원격지 서버에 어떻게 접속하는지)를 알아내야 한다.(구글링하면 바로 나온다.)

추가적으로 SSH로 원격지 서버접속에 어떤 프로그램을 사용할지도 정해야 한다. 접속용 프로그램들은 아주 많다.

  • 리눅스 쉘
  • 윈도우 명령프롬프트(CMD)
  • putty
  • cygwin
  • CMDer
  • 그 밖에 SecureCRT, SuperPutty, Xshell(무려 국산) 등의 프로그램을 활용할 수 있다.

취향것 자신에게 맞는 프로그램을 사용하여 접속하면 된다.

각 프로그램의 간략한 소개

  • 윈도우 명령프롬프트
    • 우리가 익히 아는 검은 화면에 하얀 글씨 나오는 그것
    • 윈도우키 + R 로 실행창을 띄우고 cmd를 입력하면 바로 실행된다.
    • 윈도우의 명령어를 실행할 수 있다.
  • putty
    • 윈도우를 위한 무료 SSH 및 telnet 클라이언트
    • 좋게 말하면 필요한 기능만 있고 그냥 말하면 저세상 인터페이스
    • 익숙해 지면 나름 편함
  • cygwin
    • 윈도우에서 리눅스 쉘을 쓸 수 있도록 해주는 프로그램
    • ls, du, mkdir 등의 리눅스 명령어로 윈도우를 제어할 수 있다.
  • CMDer
    • 윈도우에서 리눅스 쉘을 쓸 수 있도록 해주는 프로그램
    • ls, du, mkdir 등의 리눅스 명령어로 윈도우를 제어할 수 있다.
    • cygwin 보다 예쁘다.
    • cygwin 보다 느리다.

여기서는 WSL2로 설치한 리눅스의 쉘을 이용하기로 한다.

리눅스에 ssh가 설치되지 않은 경우 아래의 명령어로 update 한 번 해주고 ssh를 설치한다.

sudo apt-get update
sudo apt-get install ssh 

이제 bandit level0에 접속하자!

 ssh -p 2220 bandit0@bandit.labs.overthewire.org
 This is a OverTheWire game server. More information on http://www.overthewire.org/wargames

bandit0@bandit.labs.overthewire.org's password:

패스워드를 물어본다. bandit0를 입력하면 된다.(원래 텍스트를 입력해도 눈에 보이지 않는다. 그냥 bandit0 입력하고 enter 키를 누르면 된다.)

bandit0@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!
(...생략...)

  Enjoy your stay!

bandit0@bandit:~$

위와 같이 프롬프트가 떨어지면 bandit0 클리어다!

TMI


telnet과 SSH

SSH에 대해서 아주아주 간단히 말하자면 "비교적 매우 안전한 통신 방법"이다. 옛날 옛적에는 클라이언트가 서버와 연결할 때 Telnet이라는 기술(원체 취약해서 요즘엔 윈도우에서 기본적으로 못쓰게 막혀있다. 그런데 어거지로 사용하려면 사용할 수는 있다.)을 사용하였는데, 이게 보안을 고려하고 만들어진 물건이 아니라 서버와 클라이언트 간의 통신을 평문(암호화되지 않은 문서)으로 주고 받았다.

해커가 중간에 트래픽을 확보(스니핑)하기만 하면 어떤 통신 내용을 주고 받는지 알 수 있었다. 반면 SSH는 통신 내용을 암호화 한다.(이름부터가 Secure SHell, SSH이다.) 따라서 해커가 중간에 통신 트래픽을 탈취하더라도 암호화된 문서만 볼 수 있어 비교적 매우 안전하다.

Telnet의 well known port는 23번이고, SSH는 22번이다.

profile
스스로 배운 것이 오래 간다.

0개의 댓글