워게임/Bandit (Linux Wargame)

[OverTheWire:Bandit] Level 14 → Level 15

crypsec 2023. 11. 26. 17:42
반응형

2023.11.25 - [워게임/Bandit (Linux 초보자들을 위한 워게임)] - [OverTheWire:Bandit] Level 13 → Level 14

Bandit Level 14

컴퓨터의 사용자 이름( 계정명 ): bandit14
호스트(접속해야 할 주소):bandit.labs.overthewire.org
포트 번호: 2220
비밀번호: fGrHPx402xGC7U7rXKDaxiWFTOiF0ENq (2023.11 기준)

PS> ssh bandit14@bandit.labs.overthewire.org -p 2220

문제 및 해설

문제

 
문제해석: 현재 레벨의 비밀번호를 로컬 호스트의 포트 30000으로 전송하면 다음 레벨의 비밀번호를 검색할 수 있습니다.

ls -al 아무 파일도 없다

 
아무런 파일도 없고 명령어 힌트를 여러 개 줬습니다. 기본적인 네트워크에 대한 지식이 필요한데 하지만 몰라도 아주 기초적인 부분이라 그냥 공부하는 셈 치고 정답 봐도 좋은 문제라고 생각합니다.

로컬호스트란 컴퓨터 자기 자신을 말합니다. 자기자신과 통신을 한다고? 라고 생각할 수있는데 루프백이라고 해서 네트워크에서 자주 사용하는 테스트 방법입니다.

사람들의 이름과 집 주소등으로 택배를 주고 받을 수 있는 것 처럼 컴퓨터의 내부에서도 프로그램들의 사는 집 주소, 동, 호수등이 존재합니다. 이런 프로그램들 끼리의 통신을 루프백이라고 지금은 이해하면 좋을 것 같습니다.

참고로  s_client는 openssl에 존재하는 옵션(명령어)이라 하나로 묶어야 하는데 저렇게 따로 쓰여있으면 혼동이 올 것 같아서 명령어들부터 정리하고 들어가겠습니다.
 
이 레벨을 해결하는 데 필요한 몇 가지 명령어는 다음과 같습니다.

  • ssh: 원격 서버에 안전하게 로그인하기 위한 프로토콜
  • telnet: 네트워크를 통해 원격 호스트에 접속하기 위한 프로토콜로 안전성 문제로 현재는 잘 안 쓰고 있습니다.
  • nc (netcat): 네트워크 통신 도구로, TCP 또는 UDP 연결을 만들 수 있고 네트워크 연결에서 데이터를 읽고 쓸 수 있는 유틸리티입니다. 간단한 클라이언트-서버 애플리케이션을 만들고, 파일을 전송하고, 포트를 스캔하는 등의 작업에 사용할 수 있습니다. 
  • openssl s_client: SSL/TLS 연결을 테스트하거나 디버깅할 때 사용합니다. TLS에서 인증서 테스트할 때 저는 자주 사용했습니다.
  • nmap: 네트워크 스캐닝 및 검사 도구입니다.

위 명령어 중 적절한 것을 사용하여 현재 레벨의 비밀번호를 제출하면 되는데 nc (netcat)를 사용하여 로컬 호스트의 특정 포트로 연결하고 비밀번호를 입력하는 방식이 일반적입니다. 참고로 해당 명령어가 기본적으로 있는 경우가 대부분이지만 없으면 설치하면 됩니다.

 
nc (netcat)의 기본적인 사용법은 아래와 같습니다. 
 

$ nc <대상 컴퓨터의 호스트 이름 또는 ip 주소> <port 번호>

 
따라서 아래와 같이 입력하면 특정 값을 입력할 때까지 기다립니다. 이제 level 14 비밀번호인 fGrHPx402xGC7U7rXKDaxiWFTOiF0ENq 를 입력하면 다음 단계로 가는 비밀 번호 jN2kgmIXJ6fShzhT2avhotn4Zcka6tnt가 나옵니다. 참고로 localhost 대신 127.0.0.1 도 가능합니다.

반응형
$ nc localhost 30000

localhost
127.0.0.1

 
한 번에 해결하는 방법은 다음과 같습니다.
 

$ echo "fGrHPx402xGC7U7rXKDaxiWFTOiF0ENq" | nc localhost 30000

한큐에 싹

 

Level 15 접속정보

컴퓨터의 사용자 이름( 계정명 ): bandit15
호스트(접속해야 할 주소):bandit.labs.overthewire.org
포트 번호: 2220
비밀번호: jN2kgmIXJ6fShzhT2avhotn4Zcka6tnt (2023.11 기준)

 
bandit Level 15로 가기 위한 비밀번호:  jN2kgmIXJ6fShzhT2avhotn4Zcka6tnt
 
마지막으로 exit 명령어를 입력하여 서버에서 bandit15 계정을 로그아웃하겠습니다.
 

반응형