Bandit

Bandit 워게임으로 리눅스 공부하기 - Bandit Level 0

waterclean101 2023. 8. 23. 08:54

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.

→ 레벨 0의 문제는 쉘을 이용하여 게임에 접근하는 것.

접근할 주소와 포트번호, username과 password를 주었다.

풀이

1. 리눅스 터미널 네트워크 연결 확인 ping -c 3 8.8.8.8

┌──(root㉿kali)-[/home/kali]
└─# ping -c 3 8.8.8.8 

PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=1 ttl=56 time=51.5 ms
64 bytes from 8.8.8.8: icmp_seq=2 ttl=56 time=42.3 ms
64 bytes from 8.8.8.8: icmp_seq=3 ttl=56 time=42.4 ms

--- 8.8.8.8 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 3120ms
rtt min/avg/max/mdev = 42.322/45.409/51.492/4.301 ms
  • ping 은 네트워크 연결의 상태를 확인하기 위해 흔히 사용되는 명령어다. ping -c 3 8.8.8.8 명령어는 Google의 공용 DNS 서버 중 하나에 3번의 핑 요청을 보낸다. 만약 이 명령어가 정상적으로 응답을 받으면, 그것은 자신의 서버나 컴퓨터가 인터넷에 연결되어 있고, 데이터 패킷을 정상적으로 전송받을 수 있음을 의미한다.

 

2. ssh로 bandit에 접근

원격 호스트에 접속할 사용자 이름@원격 호스트의 주소 -p 포트번호

┌──(root㉿kali)-[/home/kali]
└─# ssh bandit0@bandit.labs.overthewire.org -p 2220

_                     _ _ _   
                        | |__   __ _ _ __   __| (_) |_ 
                        | '_ \\ / _` | '_ \\ / _` | | __|
                        | |_) | (_| | | | | (_| | | |_ 
                        |_.__/ \\__,_|_| |_|\\__,_|_|\\__|
                                                       

                      This is an OverTheWire game server. 
            More information on <http://www.overthewire.org/wargames>

!!! You are trying to log into this SSH server on port 2220 with a username
!!! that does not match the bandit game.

bandit@bandit.labs.overthewire.org's password:
  • ssh: Secure SHell의 약자로, 원격 호스트에 안전하게 접속하기 위한 프로토콜 및 프로그램

SSH는 원격 서버에 접속하여 명령어를 실행하거나 파일을 전송하는 등의 작업을 할 수 있는 도구로 사용된다. SSH를 사용하면 네트워크를 통해 안전하게 다른 시스템에 접속하고 작업을 수행할 수 있다. 여기서 "안전하게"란, 데이터 전송이 암호화되어 중간에서 데이터를 가로채도 원본 내용을 알 수 없게 되는 것을 의미한다.

 

3. 패스워드 입력

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

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

Welcome to OverTheWire!

If you find any problems, please report them to the #wargames channel on
  • 패스워드 입력을 마치면 bandit0@bandit:~$ 라는 사용자로 전환이 된다. 여기에서 **bandit0**는 현재 로그인한 사용자 이름, **bandit**은 호스트 이름, **~**는 현재 위치가 홈 디렉토리임을 나타낸다.

이제, bandit.labs.overthewire.org 서버에 bandit0 사용자로 성공적으로 로그인한 것이며, 원격 서버에서 명령어를 실행하거나 작업을 수행할 수 있다.

 

아래는 로그인 시 나오는 게임 팁과 주의사항이다.

  • -[ 게임 플레이 중 ]--
  • 대부분의 레벨은 /somegame/에 저장됩니다.
  • 각 레벨의 패스워드는 /etc/somegame_pass/에 저장됩니다.

홈 디렉터리에 대한 쓰기 권한이 비활성화됩니다. 추측하기 어려운 이름으로 작업 디렉터리를 /tmp/에 만드는 것이 좋습니다. 다음 명령어를 사용할 수 있습니다. 명령을 사용하여 추측하기 어려운 임의의 디렉터리를 생성할 수 있습니다. 디렉터리를 생성할 수 있습니다. 사용자가 /tmp/에 대한 읽기 액세스를 비활성화하고 /proc 에 대한 읽기 액세스가 비활성화되고 사용자가 서로 스누핑할 수 없도록 제한됩니다. 파일 및 디렉터리의 파일과 디렉토리는 주기적으로 삭제됩니다! tmp 디렉토리는 정기적으로 지워집니다.

착하게 놀아주세요:

  • orphan processes를 실행 상태로 두지 마세요.
  • 익스플로잇 파일을 방치하지 마세요.
  • 다른 플레이어를 괴롭히지 마세요.
  • 비밀번호나 스포일러를 게시하지 마세요.
  • 다시 한 번 강조하지만, 스포일러를 게시하지 마세요!

여기에는 블로그나 웹사이트에 솔루션에 대한 글을 올리는 것도 포함됩니다!

  • -[ 팁 ]--

이 컴퓨터에는 64비트 프로세서와 많은 보안 기능이 활성화되어 있습니다.

기본적으로 활성화되어 있지만, ASLR은 꺼져 있습니다. 다음

컴파일러 플래그가 흥미로울 수 있습니다:

-m32 32비트용 컴파일

-fno-stack-protector 프로폴리스 비활성화

-Wl,-z,norelro relro 비활성화

또한, 실행 스택 도구를 사용하여 스택에 플래그를 지정할 수 있습니다.

실행 파일로 플래그를 지정할 수 있습니다.

마지막으로, 네트워크 액세스는 로컬 방화벽에 의해 대부분의 레벨에서 제한됩니다.

방화벽에 의해 제한됩니다.

  • -[ 도구 ]--

사용자의 편의를 위해 다음 위치에서 찾을 수 있는 몇 가지 유용한 도구를 설치했습니다.

다음 위치에서 찾을 수 있습니다: