워게임/Bandit (Linux Wargame)

[OverTheWire:Bandit] Level 11 → Level 12

crypsec 2023. 11. 20. 19:32
반응형

2023.11.19 - [워게임/Bandit (Linux 초보자들을 위한 워게임)] - [OverTheWire:Bandit] Level 10 → Level 11

Bandit Level 11

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

 

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

문제 및 해설

bandit 11 문제

 

문제: 다음 단계의 비밀번호는 소문자(a-z)와 대문자(A-Z)가 모두 13자리씩 회전된 data.txt 파일에 저장됩니다.

 

도대체 이게 뭔 말일까? 싶을 텐데 그냥 알파벳이 단순히 다른 알파벳으로 대체되었다고 보면 된다. 키가 13인 카이사르 암호를 말하는 것이다. 아래는 3만큼 회전하여 치환된 카이사르 암호를 나타내는 그림이다.

 

카이사르 암호

 

2023.10.23 - [암호학 강의] - [암호학] 카이사르 암호와 빈도 분석

 

[암호학] 카이사르 암호와 빈도 분석

암호는 생각보다 오래전부터 사용되어 왔습니다. 거의 모든 암호학 수업에서 반드시 언급하는 고대암호가 있습니다. 바로 카이사르 암호입니다. 카이사르 암호는 기원전 로마의 율리우스 카이

crypsec.tistory.com

 

사실 이걸 하나하나 다 치환해 주면 되지만 다행히 이걸 대신해 주는 명령어가 존재합니다. 바로 tr입니다.

 

`tr` 명령어는 "translate"의 줄임말입니다.  Unix 및 Unix 계열 운영 체제에서 텍스트를 변환 또는 삭제하기 위해 사용되는 명령줄 유틸리티입니다. 주로 문자열에서 문자를 다른 문자로 변환하거나 삭제하는 데 사용됩니다.

 

풀이는 다음과 같습니다.

$ tr 'A-Za-z' 'N-ZA-Mn-za-m' < data.txt

풀이

 

아니면 다음과 같은 풀이도 가능합니다.

$ cat data.txt | tr 'A-Za-z' 'N-ZA-Mn-za-m'


이 명령어는 `cat` 명령어를 사용하여 `data.txt` 파일의 내용을 읽고, 그 후에 `tr` 명령어를 사용하여 ROT13으로 해독한 결과를 터미널에 출력합니다.

 

Level 12 접속정보

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

 

bandit Level 12로 가기 위한 비밀번호:  JVNBBFSmZwKKOP0XbFXOoW8chDz5yVRv

 

마지막으로 exit 명령어를 입력하여 서버에서 bandit11 계정을 로그아웃 하겠습니다.

반응형