워게임/Bandit (Linux Wargame)

[OverTheWire:Bandit] Level 4 → Level 5

crypsec 2023. 11. 13. 20:52
반응형

 

2023.11.12 - [Bandit 워게임(Linux 연습)] - [OverTheWire:Bandit] Level 3 → Level 4

Bandit Level 4

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

 

Windows PowerShell(or bash 등)을 실행시키고 다음과 같이 입력하여 bandit3의 계정으로 Linux 서버에 접속하겠습니다.

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

문제

 

해석해 보자면 "다음 단계의 비밀번호는 inhere 디렉터리에서 사람이 읽을 수 있는 유일한 파일에 저장됩니다" 라고 합니다.

 

"사람이 읽을 수 없는 파일도 있어?"라고 생각할 수 있는데 기계어 같은 건 사람이 읽기 좀 힘듭니다.

 

바로 풀이 들어가겠습니다.

$ cd inhere
$ ls

와 파일이 정말 많습니다. 뭘 읽어야 할지 모르겠는데 저는 -file04를 먼저 읽어보겠습니다.

 

$ cat ./-file04

 

뭐라고 써져있긴 한데 password라고 하기에는 조금 무리가 있어 보입니다. 그렇다면 현재 파일이 10개가 있습니다. 이 10개를 다 읽어봐야 할까요? 네 맞습니다. 하나하나 다 읽어보면 비밀번호를 찾을 수 있습니다... 😎

 

하지만! 여기서 뭐라도 배워가야 한다고 생각합니다. 만약 파일이 100개가 있다면 어떡하죠? 100번 읽어야 합니다. 이럴 때 사용가능한 게 와일드 카드 문자열입니다.

 

  1. * (별표): 0개 이상의 임의의 문자열을 대체합니다.
    • 예를 들어, ab*는 맨 앞 문자열이 "ab"인 문자열들을 나타냅니다.
      • abc, abcd, abbbbbbb, abccsssqq와 같은 문자열들이 해당합니다.
  2. ? (물음표): 정확히 하나의 임의의 문자를 대체합니다.
    • 예를 들어, a?c는 "a" 다음에 어떤 하나의 문자가 오고, 그 뒤에 "c"가 오는 문자열을 나타냅니다.
      • abc, aac, adc 와 같은 문자열들이 해당합니다.

와일드 카드 문자열은 파일 이름 검색이나 문자열 처리에서 자주 사용됩니다. 예를 들어, 명령 프롬프트나 터미널에서 파일을 검색할 때 사용될 수 있습니다.

 

그래서 문제에는 어떻게 적용할거냐?

$ cat ./*

 

흔들리는 문자열들 속에서 뭔가 password 같은게 보입니다. 저게 password인데 확인 사살을 저는 하고 싶습니다. 뭔가 지금 보여지는 순서에 의하면 password는  -file07 에 있을 것 같습니다.

 

password

 

Level 5 접속정보

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

 

이제 bandit Level 5로 가기 위한 비밀번호 lrIWWI6bB37kxfiCQZqUdOIYfr6eEeqR 를 얻었습니다. 지금까지는 노가다로도 풀 수 있는 문제였습니다.

 

exit 명령어를 입력하여 bandit Level 4의 bandit4 계정을 로그아웃 하겠습니다.

 

반응형