OverTheWire - Bandit
강의목차: Level 11 → Level 12(tr)
Bandit 웹페이지
https://overthewire.org/wargames/bandit/
1. Bandit Level 11 → 12
Level Goal
The password for the next level is stored in the file data.txt, where all lowercase (a-z) and uppercase (A-Z) letters have been rotated by 13 positions
Commands you may need to solve this level
grep, sort, uniq, strings, base64, tr, tar, gzip, bzip2, xxd
Helpful Reading Material
다음 레벨 패스워드는 data.txt 파일에 저장되어 있으며, 모든 소문자 및 대문자는 위치상으로 13번 이동되어 있다. ( 여기서 말하는 이동이라 함은 A 를 입력하면 13번째 뒤에 있는 N 으로 입력되고, z를 입력하면 13번째 뒤에 있는 m 으로 입력된다는 의미이다. )
e.g. 카이사르 암호: +2 를 '키' 로 사용.
ABCD → CDEF ( ABCD 순서를 2번 뒤로 미뤄 CDEF 로 사용 )
Level 11 접속
$ ssh -p 2220 bandit11@bandit.labs.overthewire.org
패스워드: 6zPeziLdR2RKNdNYFNb6nVCKzphlXHBM
$ ls -al
$ file ./data.txt
$ cat ./data.txt
위의 정보들을 통해 알 수 있는 세가지가 있다.
1. data.txt 파일의 크기는 49 Bytes 이다.
2. data.txt 파일은 ASCII text 파일이다.
3. data.txt 파일에는 13 위치만큼 변경되어 암호화된 값이 있다. ( 카이사르 or 시저 암호 )
패스워드를 재배치하기 위해 tr 명령어를 사용한다.
tr 명령어
tr은 translate의 약어로, 지정한 문자를 변환하거나 삭제하는 명령어이다.
특정한 문자를 다른 문자로 변환하거나 특정 문자를 제거하는데 사용되는 명령어 이다.
사용법
tr [옵션] 문자열1 [문자열2]
-d : 문자열 1에서 지정한 문자를 삭제한다.
-s : 문자열 2에서 반복되는 문자를 삭제한다.
-t : 문자열 1을 문자열 2의 길이로 자른다.
인수들은 대괄호 [ ] 안에 있는데, 문자 중 하나의 문자임을 의미한다. 정규표현식 문법 중 하나이다.
명령어 예제
$ cat data.txt | tr 'a-z' 'A-Z'
→ 소문자를 대문자로 변경
$ cat data.txt | tr 'a-zA-Z' 'A-Za-z'
→ 소문자는 대문자로, 대문자는 소문자로 변경
$ cat data.txt | tr 'A-Za-z' 'D-ZA-Cd-za-c'
→ 문자열 하나 하나를 3번째 다음 문자로 출력
→ A 는 D 로, B 는 E 로, Z 는 C 로, a 는 d 로, b 는 e 로, z 는 c 로
→ A-Z = D-ZA-C , a-z = d-za-c
$ cat data.txt | tr -d '0-9'
→ -d 옵션을 사용하여 숫자를 제거
$ cat data.txt | tr -s '0-9' '*'
→ -s 옵션을 사용하여 숫자를 * 로 표시
패스워드는 13번째 문자 뒤로 이동하면 확인할 수 있다.
$ cat ./data.txt | tr 'A-Za-z' 'N-ZA-Mn-za-m'
→ 문자열 하나 하나를 13번째 다음 문자로 출력
→ A 는 13번째 뒤에 있는 N 으로, Z는 13번째 뒤에 있는 M 으로 출력되게 변환
→ a 는 13번째 뒤에 있는 n 으로, z는 13번째 뒤에 있는 m 으로 출력되게 변환
→ A-Z = N-ZA-M , a-z = n-za-m
패스워드: JVNBBFSmZwKKOP0XbFXOoW8chDz5yVRv
$ exit ( ssh 접속 상태에서 홈으로 나가기 )
Level 12 로그인 시도
$ ssh -p 2220 bandit12@bandit.labs.overthewire.org
Level 12 패스워드: JVNBBFSmZwKKOP0XbFXOoW8chDz5yVRv
$ whoami
$ id
입력하여 현재 로그인한 계정 확인
취미로 해킹1 강의 : https://www.inflearn.com/course/linux-3
'보안 > Bandit 워게임' 카테고리의 다른 글
OverTheWire - Bandit : Level 13 → Level 14 (0) | 2023.04.10 |
---|---|
OverTheWire - Bandit : Level 12 → Level 13 (1) | 2023.04.08 |
OverTheWire - Bandit : Level 10 → Level 11 (0) | 2023.04.06 |
OverTheWire - Bandit : Level 9 → Level 10 (0) | 2023.04.05 |
OverTheWire - Bandit : Level 8 → Level 9 (0) | 2023.04.04 |